Seam3:Java EE 6時代のWeb開発 4

Seam3のモジュール

Seam3のモジュール

Seam3は、CDI Portable Extensions仕様の上で開発されたポータブルな拡張モジュールであり、特定ベンダーのJava EEサーバーに依存しません。Seam3では、各モジュールが独立して開発されているので、アプリケーションは必要なモジュールだけを選択して使うことができます。

モジュール開発者がモジュールを公開する方法としては、Mavenリポジトリに登録しておくのが便利です。アプリケーションのpom.xmlにおいてdependenciesに登録しておくだけで、CDIコンテナの初期化時に、自動的にその拡張モジュールがロードされ、利用可能になります。以下は、Seam3のSeam Facesモジュールの設定例になります。

以下に示す表1にSeam 3.0.0が提供するモジュールの概要を、表2にSeam3/CDI向けの開発ツールをまとめます。詳細は、表中のリンクを参照してください。

表1: Seam 3のモジュール
モジュール名 概要 説明
Seam Solder CDIベースのアプリケーションや拡張モジュール、フレームワークのための汎用ライブラリ
  • CDIのプログラミング・モデルの強化
  • CDIの抽象基底クラスの提供
  • CDIで定義されたアノテーションリテラルのセット
  • EL式の評価
  • リソースのロード
  • ロギング
  • BeanManagerの取得
  • プロパティの操作
  • Default Beans
  • Generic Beans
Seam Configuration CDI BeanのメタデータをXMLで記述する
  • タイプセーフな設定
  • 拡張可能
Seam Persistence CDI Beanに対してトランザクション管理と永続性を提供する
  • 非EJBに対して簡易トランザクション・アノテーションを提供
  • Seam管理永続コンテキストの提供
Seam Servlet ServletとCDIプログラミングモデルの統合
  • ServletイベントをCDイベントへ変換して通知
    Servlet Contextライフサイクル・イベント、リクエスト・ライフサイクル・イベントなど
  • Servletオブジェクトのインジェクション
  • HTTPエラーの例外処理
Seam Security セキュリティ関連の機能を提供する
  • 認証
  • ID管理
  • 外部認証サービス(OpenID、SAML)
  • 認可
Seam Faces JSFとCDIプログラミングモデルの統合
JSFと他のSeamモジュールとの統合
  • @RenderScopedの提供
  • JSF Flashオブジェクトのインジェクション
  • @ViewScopedの提供
  • JSF Messageのインジェクション
  • バリデータ
  • ビュー・アクション
  • JSFフェーズ・イベントのCDIイベント化
Seam International ロケール、タイムゾーン、言語を設定する統一的な方法を提供する
  • ロケールのインジェクション
  • タイムゾーンのインジェクション
  • メッセージのインジェクション
Seam Catch 統一的な例外処理の基盤を提供する
  • 例外をCDIイベントとしてキャッチ
Seam Remoting WebページがCDI Beanと連携できるようなAjaxベースの技術を提供する
  • Javaスクリプトでサーバー側のBeanにアクセス
  • クライアント側でのBeanバリデーション・サポート
Seam REST Java EEやサードパーティの技術を統合する軽量なモジュール
特定のCDIやJAX-RS実装とは独立でJava EE 6実装上でポータブル
  • Beanバリデーション
  • テンプレートを使ったHTTPレスポンスの生成
  • RESTEasyクライアント・フレームワークとの統合
Seam Validation Hibernate ValidatorのCDIによるサポート
  • バリデータのインジェクション
Seam Wicket CDIプログラミング・モデルとApache Wicket Webフレームワークとの統合
  • Conversationの操作
表2: Seam3/CDI開発ツール
モジュール名 概要 説明
Seam Forge ラピッドアプリケーション開発のためのコアフレームワーク
  • forgeのシェルを起動し、コマンドを実行することで対話的にプロジェクトを生成することができる
  • forgeのコマンドはプラグインとして開発可能
JBoss Tools 3.2 CDIを使った開発をサポートするEclipseプラグイン
  • 新規作成Wizard(Bean、デコレータ、インターセプタ、アノテーションなど)
  • EL式で参照されるBeanの入力補完
  • beans.xmlでのBeanの入力補完
  • @InjectでインジェクトされるBeanの候補をメニュー表示
この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る