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

人気記事トップ10

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

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30