Seam - Contextual Components

A Framework for Enterprise Java

@version@


Table of Contents

Introduction to JBoss Seam
1. Seam チュートリアル
1.1. サンプルを試そう
1.1.1. JBoss AS 上でのサンプルの実行
1.1.2. Tomcat 上でのサンプル実行
1.1.3. サンプルのテスト起動
1.2. 初めての Seam アプリケーション: ユーザ登録サンプル
1.2.1. コードの理解
1.2.1.1. エンティティ Bean: User.java
1.2.1.2. ステートレスセッション Bean クラス: RegisterAction.java
1.2.1.3. セッション Bean ローカルインタフェース : Register.java
1.2.1.4. Seam コンポーネント配備記述子 : components.xml
1.2.1.5. WEB 配備記述子 : web.xml
1.2.1.6. JSF 設定 : faces-config.xml
1.2.1.7. EJB 配備記述子 : ejb-jar.xml
1.2.1.8. EJB 永続配備記述子 : persistence.xml
1.2.1.9. ビュー : register.xhtml、registered.xhtml
1.2.1.10. EAR 配備記述子 : application.xml
1.2.2. 動作内容
1.3. Seam でクリックが可能な一覧: 掲示板サンプル
1.3.1. コードの理解
1.3.1.1. エンティティ Bean : Message.java
1.3.1.2. ステートフルセッション Bean : MessageManagerBean.java
1.3.1.3. セッション Bean ローカルインタフェース : MessageManager.java
1.3.1.4. ビュー: messages.jsp
1.3.2. 動作内容
1.4. Seam と jBPM : TO-DO 一覧サンプル
1.4.1. コードの理解
1.4.2. 動作内容
1.5. Seam ページフロー: 数字当てゲームサンプル
1.5.1. コードの理解
1.5.2. 動作内容
1.6. 本格的 Seam アプリケーション: ホテル予約サンプル
1.6.1. はじめに
1.6.2. 予約サンプルの概要
1.6.3. Seam 対話の理解
1.6.4. The Seam UI 管理ライブラリ
1.6.5. Seam デバッグページ
1.7. Seam と jBPM を使った本格的アプリケーション: DVD ストアサンプル
1.8. Hibernate を使った Seam サンプル: Hibernate 予約システムサンプル
1.9. RESTful Seam アプリケーション: Blog サンプル
1.9.1. "PULL" 型 MVC の使用
1.9.2. ブックマーク可能検索結果ページ
1.9.3. RESTful アプリケーションの "PUSH" 型 MVC の使用
2. seam-gen を使って Seam を始めよう
2.1. 始める前に
2.2. 新しい Eclipse プロジェクトのセットアップ
2.3. 新規のアクションを生成する
2.4. アクションのあるフォームを生成する
2.5. 既存のデータベースからアプリケーションを自動生成する
2.6. 既存の JPA/EJB3 エンティティからアプリケーションを自動生成する
2.7. EAR形式でアプリケーションをデプロイする
2.8. Seam と増分ホットデプロイメント
2.9. JBoss 4.0 で Seam を使用する
2.9.1. JBoss 4.0 のインストール
2.9.2. JSF 1.2 RI のインストール
3. コンテキスト依存コンポーネントモデル
3.1. Seam コンテキスト
3.1.1. ステートレスコンテキスト (Stateless context)
3.1.2. イベントコンテキスト
3.1.3. ページコンテキスト (Page context)
3.1.4. 対話コンテキスト (Conversation context)
3.1.5. セッションコンテキスト (Session context)
3.1.6. ビジネスプロセスコンテキスト (Business process context)
3.1.7. アプリケーションコンテキスト (Application context)
3.1.8. コンテキスト変数
3.1.9. コンテキスト検索優先順位
3.1.10. 同時並行処理モデル
3.2. Seam コンポーネント
3.2.1. ステートレスセッション Bean
3.2.2. ステートフルセッション Bean
3.2.3. エンティティ Bean
3.2.4. JavaBean
3.2.5. メッセージ駆動型 Bean
3.2.6. インターセプション
3.2.7. コンポーネント名
3.2.8. コンポーネントスコープの定義
3.2.9. 複数ロールを持つコンポーネント
3.2.10. 組み込みコンポーネント
3.3. バイジェクション
3.4. ライフサイクルメソッド
3.5. 条件付きインストール
3.6. ロギング
3.7. Mutable インタフェースと @ReadOnly
3.8. ファクトリと管理コンポーネント
4. Seamコンポーネントの設定
4.1. プロパティ設定によるコンポーネントの設定
4.2. components.xmlによるコンポーネントの設定
4.3. 細分化した設定ファイル
4.4. 設定可能なプロパティの型
4.5. XML名前空間の使用
5. イベント、インターセプタ、例外処理
5.1. Seam イベント
5.1.1. ページアクション
5.1.1.1. ページパラメータ
5.1.1.2. ナビゲーション
5.1.1.3. ナビゲーション、ページアクション、パラメータの定義用に細分化したファイル
5.1.2. Component-driven events
5.1.3. コンテキスト依存イベント
5.2. Seam インターセプタ
5.3. 例外を管理する
5.3.1. 例外およびトランザクション
5.3.2. Seam 例外処理を有効にする
5.3.3. 例外処理に対してアノテーションを使用する
5.3.4. 例外処理に XML を使用する
5.3.5. Some common exceptions
6. 対話とワークスペースの管理
6.1. Seam の対話モデル
6.2. ネストされた対話
6.3. GET リクエストを使って対話を開始する
6.4. <s:link> と <s:button> の使いかた
6.5. 成功のメッセージ
6.6. Natural conversation ids
6.6.1. Creating a natural conversation
6.6.2. Redirecting to a natural conversation
6.7. ワークスペースの管理
6.7.1. ワークスペース管理と JSF ナビゲーション
6.7.2. ワークスペース管理と jPDL ページフロー
6.7.3. 対話切り替え
6.7.4. 対話一覧
6.7.5. ブレッドクラム (Breadcrumbs)
6.8. 対話型コンポーネントと JSF コンポーネントのバインディング
6.9. Concurrent calls to conversational components
6.9.1. RichFaces Ajax
7. ページフローとビジネスプロセス
7.1. Seam でのページフロー
7.1.1. 2 つのナビゲーションモデル
7.1.2. Seam と 戻るボタン
7.2. jPDL ページフローの使用
7.2.1. ページフローの設定
7.2.2. ページフローの開始
7.2.3. ページノードと遷移
7.2.4. フローの制御
7.2.5. フローの終了
7.2.6. ページフローの合成 composition???
7.3. Seam でのビジネスプロセス管理
7.4. jPDL ビジネスプロセス定義の使用
7.4.1. プロセス定義の設定
7.4.2. アクターIDの初期化
7.4.3. ビジネスプロセスの初期化
7.4.4. タスク割り当て
7.4.5. タスクリスト
7.4.6. タスクの実行
8. Seam とオブジェクト/リレーショナルマッピング
8.1. はじめに
8.2. Seam 管理トランザクション
8.2.1. Disabling Seam-managed transactions
8.2.2. Configuring a Seam transaction manager
8.2.3. Transaction synchronization
8.3. Seam 管理の永続コンテキスト
8.3.1. JPA で Seam 管理の永続コンテキストを使用する
8.3.2. Seam 管理の Hibernate セッションを使用する
8.3.3. Seam 管理の永続コンテキストと微小な対話
8.4. JPA 「デリゲート」を使用する
8.5. EJB-QL/HQL で EL を使用する方法
8.6. Hibernate フィルタを使用する
9. Seam での JSF フォームバリデーション
10. Groovy integration
10.1. Groovy introduction
10.2. Writing Seam applications in Groovy
10.2.1. Writing Groovy components
10.2.1.1. Entity
10.2.1.2. Seam component
10.2.2. seam-gen
10.3. Deployment
10.3.1. Deploying Groovy code
10.3.2. Native .groovy file deployment at development time
10.3.3. seam-gen
11. Seamアプリケーションフレームワーク
11.1. イントロダクション
11.2. Homeオブジェクト
11.3. Queryオブジェクト
11.4. Controllerオブジェクト
12. Seam and JBoss Rules
12.1. ルールの初期化
12.2. Using rules from a Seam component
12.3. jBPM プロセス定義からルール使用
13. Security
13.1. Overview
13.1.1. Which mode is right for my application?
13.2. Requirements
13.3. Disabling Security
13.4. Authentication
13.4.1. Configuration
13.4.2. Writing an authentication method
13.4.2.1. Identity.addRole()
13.4.2.2. Special Considerations
13.4.3. Writing a login form
13.4.4. Simplified Configuration - Summary
13.4.5. Handling Security Exceptions
13.4.6. Login Redirection
13.4.7. HTTP Authentication
13.4.7.1. Writing a Digest Authenticator
13.4.8. Advanced Authentication Features
13.4.8.1. Using your container's JAAS configuration
13.5. Error Messages
13.6. Authorization
13.6.1. Core concepts
13.6.2. Securing components
13.6.2.1. The @Restrict annotation
13.6.2.2. Inline restrictions
13.6.3. Security in the user interface
13.6.4. Securing pages
13.6.5. Securing Entities
13.6.5.1. Entity security with JPA
13.6.5.2. Entity security with Hibernate
13.7. Writing Security Rules
13.7.1. Permissions Overview
13.7.2. Configuring a rules file
13.7.3. Creating a security rules file
13.7.3.1. Wildcard permission checks
13.8. SSL Security
13.9. CAPTCHA
13.9.1. Configuring the CAPTCHA Servlet
13.9.2. Adding a CAPTCHA to a form
13.9.3. Customising the CAPTCHA algorithm
13.10. Security Events
13.11. Extending the Identity component
14. 国際化とテーマ (Internationalization and themes)
14.1. ロケール
14.2. ラベル
14.2.1. ラベルを定義する
14.2.2. ラベルを表示する
14.2.3. Faces メッセージ
14.3. タイムゾーン
14.4. テーマ
14.5. ロケールとテーマ設定のクッキーによる永続化
15. Seam Text
15.1. フォーマットの基本
15.2. プログラムコードや特殊文字を含むテキストの記述
15.3. リンク
15.4. HTMLの記述
16. iText PDF generation
16.1. Using PDF Support
16.1.1. Creating a document
16.1.2. Basic Text Elements
16.1.3. Headers and Footers
16.1.4. Chapters and Sections
16.1.5. Lists
16.1.6. Tables
16.1.7. Document Constants
16.1.7.1. Color Values
16.1.7.2. Alignment Values
16.1.8. Configuring iText
16.2. Charting
16.3. Bar codes
16.4. Rendering Swing/AWT components
16.5. Further documentation
17. Email
17.1. メッセージを作成する
17.1.1. 添付
17.1.2. HTML/Text 代替部分
17.1.3. 複数の受信者
17.1.4. 複数のメッセージ
17.1.5. テンプレートの作成
17.1.6. 国際化
17.1.7. その他のヘッダ
17.2. email を受信する
17.3. 設定
17.3.1. mailSession
17.3.1.1. JBoss AS の JNDI ルックアップ
17.3.1.2. Seam 設定のセション
17.4. Meldware
17.5. タグ
18. 非同期性とメッセージング
18.1. 非同期性
18.1.1. 非同期メソッド
18.1.2. Asynchronous methods with the Quartz Dispatcher
18.1.3. Asynchronous events
18.2. Messaging in Seam
18.2.1. Configuration
18.2.2. Sending messages
18.2.3. Receiving messages using a message-driven bean
18.2.4. Receiving messages in the client
19. キャッシュ
19.1. SeamでJBossCacheを利用する
19.2. ページ断片のキャッシュ
20. Web Services
20.1. Configuration and Packaging
20.2. Conversational Web Services
20.2.1. A Recommended Strategy
20.3. An example web service
21. Remoting
21.1. 設定
21.2. "Seam" オブジェクト
21.2.1. Hello World サンプル
21.2.2. Seam.Component
21.2.2.1. Seam.Component.newInstance()
21.2.2.2. Seam.Component.getInstance()
21.2.2.3. Seam.Component.getComponentName()
21.2.3. Seam.Remoting
21.2.3.1. Seam.Remoting.createType()
21.2.3.2. Seam.Remoting.getTypeName()
21.3. Evaluating EL Expressions
21.4. クライアント インターフェース
21.5. コンテキスト
21.5.1. 対話 ID の設定と読み込み
21.5.2. Remote calls within the current conversation scope
21.6. バッチリクエスト
21.7. データタイプの取り扱い
21.7.1. プリミティブ型 / 基本タイプ
21.7.1.1. String 型
21.7.1.2. Number 型
21.7.1.3. Boolean 型
21.7.2. JavaBeans
21.7.3. 日付と時刻
21.7.4. Enums
21.7.5. コレクション
21.7.5.1. Bag
21.7.5.2. Map
21.8. デバッグ機能
21.9. メッセージをロードする
21.9.1. メッセージを変更する
21.9.2. ローディングメッセージを隠す
21.9.3. カスタムのローディングインジケーター
21.10. 返されるデータを制御する
21.10.1. 通常のフィールドを制約する
21.10.2. Map と コレクションを制約する
21.10.3. 特定タイプのオブジェクトを制約する
21.10.4. 制約同士を組み合わせる
21.11. JMS メッセージング
21.11.1. 設定
21.11.2. JMS Topic にサブスクライブする
21.11.3. トピックのサブスクライブを中止する
21.11.4. ポーリングのプロセスを調整する
22. Seam and the Google Web Toolkit
22.1. Configuration
22.2. Preparing your component
22.3. Hooking up a GWT widget to the Seam component
22.4. GWT Ant Targets
23. Spring Framework 統合
23.1. Seam コンポーネントを Spring bean にインジェクトする
23.2. Spring bean を Seam コンポーネントにインジェクトする
23.3. Spring bean を Seam コンポーネントにする
23.4. Seam スコープの Spring bean
23.5. Using Spring PlatformTransactionManagement
23.6. Using a Seam Managed Persistence Context in Spring
23.7. Using a Seam Managed Hibernate Session in Spring
23.8. Seam コンポーネントとしての Spring Application Context
23.9. Using a Spring TaskExecutor for @Asynchronous
24. Hibernate Search
24.1. Introduction
24.2. Configuration
24.3. Usage
25. Configuring Seam and packaging Seam applications
25.1. Basic Seam configuration
25.1.1. Integrating Seam with JSF and your servlet container
25.1.2. Using facelets
25.1.3. Seam Resource Servlet
25.1.4. Seam servlet filters
25.1.4.1. Exception handling
25.1.4.2. Conversation propagation with redirects
25.1.4.3. Multipart form submissions
25.1.4.4. Character encoding
25.1.4.5. RichFaces
25.1.4.6. Identity Logging
25.1.4.7. Context management for custom servlets
25.1.4.8. Adding custom filters
25.1.5. Integrating Seam with your EJB container
25.1.6. Don't forget!
25.2. Configuring Seam in Java EE 5
25.2.1. Packaging
25.3. Configuring Seam in J2EE
25.3.1. Boostrapping Hibernate in Seam
25.3.2. Boostrapping JPA in Seam
25.3.3. Packaging
25.4. Configuring Seam in Java SE, without JBoss Embedded
25.5. Configuring Seam in Java SE, with JBoss Embedded
25.5.1. Installing Embedded JBoss
25.5.2. Packaging
25.6. Configuring jBPM in Seam
25.6.1. Packaging
25.7. Configuring Seam in a Portal
25.8. Configuring SFSB and Session Timeouts in JBoss AS
26. Seam on OC4J
26.1. Installation and operation of OC4J
26.2. The jee5/booking example
26.2.1. Booking Example Dependencies
26.2.1.1. Core Seam dependencies
26.2.1.2. Extra dependencies
26.2.2. Configuration file changes
26.2.3. Building the jee5/booking example
26.3. Deploying the Seam application to OC4J
26.4. Deploying an application created using seam-gen to OC4J
26.4.1. Generating a basic seam-gen application
26.4.2. Changes needed for deployment to OC4J
26.4.2.1. Configuration file changes
26.4.2.2. Extra jar dependencies
26.4.3. Building and deploying the seam-gen'd application to OC4J
26.4.4. Extending example with reverse engineered CRUD and Drools
26.4.4.1. Have seam-gen generate your CRUD applications
26.4.4.2. Hook up drools authentication using your new CRUD application
26.5. Finishing up
27. Seam on BEA's Weblogic
27.1. Installation and operation of Weblogic
27.1.1. Installing 10.3.TP
27.1.2. Creating your Weblogic domain
27.1.3. How to Start/Stop/Access your domain
27.2. The jee5/booking example
27.2.1. EJB Blockers with Weblogic
27.2.1.1. Secondary issue with the Tech Preview
27.2.2. The jee5/booking example
27.2.2.1. Setting up the hsql datasource
27.2.2.2. Configuration and Build changes
27.2.2.3. Deploying the Application
27.3. The jpa booking example
27.3.1. Building and deploying jpa booking example
27.3.1.1. Setting up the datasource
27.3.1.2. Building the example
27.3.1.3. Deploying the example
27.3.2. What's different with Weblogic 10.x
27.4. Deploying an application created using seam-gen on Weblogic 10.x
27.4.1. Running seam-gen setup
27.4.2. What to change for Weblogic 10.X
27.4.2.1. Configuration file changes
27.4.2.2. Library changes
27.4.2.3. seam-gen development profile issue
27.4.3. Building and Deploying your application
27.4.3.1. Setting up the data source
27.4.3.2. Building the application
27.4.3.3. Deploying the example
28. Seam on IBM's Websphere
28.1. Websphere environment and deployment information
28.1.1. Installation versions and tips
28.1.2. Required custom properties
28.2. The jee5/booking example
28.2.1. Configuration file changes
28.2.2. Building the jee5/booking example
28.2.2.1. New libraries dependencies
28.2.2.2. Updating the build.xml file
28.2.3. Deploying the application to Websphere
28.3. The jpa booking example
28.3.1. Building the jpa example
28.3.2. Deploying the jpa example
28.3.3. Whats different for Websphere 6.1
28.4. Deploying an application created using seam-gen on Websphere 6.1.0.13
28.5. Changes needed for deployment to Websphere
28.5.1. Configuration file changes
28.5.2. Creating the AuthenticatorAction EJB
28.5.3. Extra jar dependencies and other changes to the build.xml
28.5.4. Building and deploying the seam-gen'd application to Websphere
29. Seam アノテーション
29.1. コンポーネント定義用アノテーション
29.2. バイジェクション用アノテーション
29.3. コンポーネントのライフサイクルメソッド用アノテーション
29.4. コンテキスト境界用アノテーション
29.5. J2EE 環境で Seam JavaBean コンポーネントを使用するためのアノテーション
29.6. 例外用のアノテーション
29.7. Seam Remoting用のアノテーション
29.8. Seam インターセプタ用のアノテーション
29.9. 非同期用のアノテーション
29.10. JSF を使用するためのアノテーション
29.10.1. JSF dataTable と併用するアノテーション
29.11. データバインディング用のメタアノテーション
29.12. パッケージング用のアノテーション
29.13. サーブレットコンテナと統合するためのアノテーション
30. 組み込み Seam コンポーネント
30.1. コンテキストインジェクションのコンポーネント
30.2. ユーティリティコンポーネント
30.3. 国際化とテーマのコンポーネント
30.4. 対話を制御するためのコンポーネント
30.5. jBPM 関連のコンポーネント
30.6. セキュリティ関連のコンポーネント
30.7. JMS 関連のコンポーネント
30.8. メール関連のコンポーネント
30.9. 基盤となるコンポーネント
30.10. Miscellaneous components
30.11. 特殊なコンポーネント
31. Seam JSF コントロール
31.1. タグ
31.2. アノテーション
32. JBoss EL
32.1. Parameterized Expressions
32.1.1. 使用方法
32.1.2. Limitations and Hints
32.2. Projection
33. Seamアプリケーションのテスト
33.1. Seamコンポーネントのユニットテスト
33.2. Seamアプリケーションの統合テスト
33.2.1. Using mocks in integration tests
33.3. Integration testing Seam application user interactions
33.3.1. Configuration
33.3.2. Integration Testing with Mock Data
33.3.3. Integration Testing Seam Mail
34. Seam ツール
34.1. jBPM デザイナ と ビュアー
34.1.1. ビジネスプロセスデザイナ
34.1.2. ページフロービュアー
35. 依存性
35.1. プロジェクト依存性
35.1.1. コア
35.1.2. RichFaces
35.1.3. Seam メール
35.1.4. Seam PDF
35.1.5. JBoss Rules
35.1.6. JBPM
35.1.7. GWT
35.1.8. Spring
35.1.9. Groovy
35.2. Maven を使用した依存性管理