JBoss World 2012 デモ – 1

 

平田です。

JBoss World 2012の基調講演では、BRMS 5.3を使ったJBoss Toy Storeというアプリケーションのデモが行われたようです。JBoss Toy Storeは、ガジェットを扱うECサイトです。スマートフォン向けのECサイトUIと、販売実績のダッシュボード、管理者向けUIから成ります。

このアプリケーションのソースコードが公開されたので眺めてみました。

テクノロジースタック

JBoss Toy StoreではjBPM5によるビジネスプロセスや、Droolsのデシジョンテーブルを使ってビジネスロジックを実装している他、JBoss Developer Frameworkで示されたオープンスタンダードに基づくエンタープライズシステムの実装方法が採られています。

  • アプリケーションフレームワーク
    • CDI (Java EE 6): 全ての層を横断的に統合するフレームワーク
  • プレゼンテーション層
    • HTML5 + jQuery: JavaScript MVCフレームワークによるAjaxフロントエンド
    • GWT + Errai: Javaで記述するAjaxフロントエンド
    • JAX-RS (Java EE 6): RESTインタフェース
    • JAXB (Java EE 6): Java BeansとXML、JSON等の相互変換機能
  • ビジネス層
    • EJB3 (Java EE 6): ビジネスロジック
    • Bean Validation (Java EE 6):  単項目チェック
    • jBPM5: ビジネスプロセス(ワークフロー)
    • Drools Expert: ビジネスルール
  • インテグレーション層
    • JPA (Java EE 6): O/Rマッパー
  • テスト
    • Arquillian

ビルドして動かす

JBoss Toy Storeのビルド、実行方法はREADMEに書かれています。尚、ビルド、実行には以下のソフトウェアが必要です。

  • ≥ JDK 6
  • JBoss AS 7.1 or JBoss EAP 6
  • Maven

手順に従いビルド、デプロイするとDrools Guvnor、JBoss Toy Storeが起動します。

JBoss Toy Store - ECサイト

JBoss Toy Store - 販売実績ダッシュボード

JBoss Toy Store - 管理UI

 

jbwdemo-application.earの中身

ビルドして生成されるjbwdemo-application.earがJBoss Toy Storeになります。このEARファイルは、以下のモジュールから構成されます。

  • jbwdemo-admin.war: 管理UI(url:/jbossworld-admin)
  • jbwdemo-client.war: ECサイト(url:/jbossworld-client)
  • jbwdemo-leaderboard.war: 販売実績ダッシュボード(url:/jbossworld-leaderboard)
  • jbwdemo-services.war: REST API
    • jbwdemo-services-api.jar: JAX-RSアノテーションつきインタフェース
    • jbwdemo-process.jar: Drools / jBPM5関連のロジック
  • jbwdemo-utils.jar: ユーティリティ
  • jbwdemo-model.jar: JPAエンティティ、DAO
  • lib/jbwdemo-admin-model.jar: 管理UIのGWTイベント、Bean
  • lib/jbwdemo-errai-model.jar: 販売実績ダッシュボードのGWTイベント、Bean

また、jbwdemo-robotsという、REST API経由でデータを大量投入するクライアントプログラムがEARファイルとは別に生成されます。

EARファイルの中身

まとめ

このエントリでは、デモアプリケーションの概要を把握しました。次のエントリではECサイト部分に着目してソースコード、及びビジネスプロセス・ビジネスルールを見ていきます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です