Apacheは、急速に開発しているドメイン駆動アプリケーションのためのJavaフレームワークであるApache Isisをリリースした。ユーザはドメインオブジェクトを開発することに集中し、Apache Isisは、永続性、セキュリティ、ユーザインターフェースを処理する。Apache Isisは、六角形のアーキテクチャパターンに従い、プレゼンテーション、永続性、ドメインモデルに依存したその他のサービスと共に、ドメインモデルを中央に配置している。Apache Isisは、2012年10月にApacheのトップレベルのプロジェクトになり、バージョン1.0は2012年12月にリリースされた。
Apache Isisは「設定より規約」を使って動き、開発者は規約とアノテーションに従い、POJOドメインオブジェクトを書く。それから、Isisフレームワークはこれらのドメインオブジェクトを解釈し、プレゼンテーション、セキュリティ、永続性を処理する。Apache Isisは、ウェブアプリケーションやRestful Objectsの仕様に従ったRESTful APIとして、ランタイムにドメインモデルを作り出せる。開発チームは、生成されたウェブアプリケーションや、迅速なプロトタイプ作成や製品の展開のためのウェブサービスを利用できる
Apache Isisアーキテクチャ
Apache Isisは、拡張やカスタマイズが可能だ。開発チームは、様々なビューアー、オブジェクトストア、セキュリティメカニズム、プロファイルストア、プログラミングモデルを選択できる。Wicket、RestfulObjects、Scimpi、DnD、HTML、JUnit、BDD Concordionなどのビューアーが利用でき、オブジェクトストアには、JDO、NoSQL、SQL、XMLがある。セキュリティは、File、Shiro、LDAP、SQLを使って実装できる。プロファイルは、XMLやデータベースに保存できる。通常、Javaで書かれたドメインオブジェクトは、Groovyプログラミングモデルのコンポーネントを使い、Groovyで書かれている。Isis バージョン1.0には、Isisコア、ファイルベースのセキュリティ、JDOオブジェクトストア、Wicketビューアー、Restful Objects ビューアーのリリース版が含まれている。他のコンポーネントはまだ作成中だ。
Apache Isisを使い始めるには、Apache Isis Quickstart Archetypeページを参照しよう。このページでは、Isis Mavenの原型を使って、新しいIsisアプリケーションの作成方法を紹介している。ここでは、TODOアイテムをトラッキングして、簡単なドメインモデルを1クラス作成する。複数のMaven POMファイルからなり、親のPOMが1つ、ドメインオブジェクトのPOMが1つ、そして、残りはJDOオブジェクトストアとWicketビューアーのような様々なコンポーネントのPOMだ。Isisには チートシートもある。このチートシートで、従う規約や利用するアノテーションを思い出せるだろう。
さらなる情報は、公式のApache Isisウェブサイトの ドキュメント、画面キャプチャ、デモやチュートリアルを参照しよう。ソースコードは、Isis Apacheリポジトリ、または、GitHubから取得できる。