ヘッダーをスキップ
Oracle Application Development Framework Forms/4GL開発者のための開発者ガイド
10
g
(10.1.3.0)
B40013-02
索引
次へ
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
サポートおよびサービス
第I部 Oracle ADFアプリケーションの基礎
1
Oracle ADFアプリケーションの概要
1.1
Oracle ADFの概要
1.2
フレームワーク・アーキテクチャとサポートされるテクノロジ
1.2.1
サポートされるビュー・レイヤー・テクノロジ
1.2.2
サポートされるコントローラ・レイヤー・テクノロジ
1.2.3
ADF Modelによりサポートされるビジネス・サービス・テクノロジ
1.2.4
エンタープライズ4GL開発者に推奨されるテクノロジ
1.3
Oracle ADFおよびJavaServer Facesによる宣言的な開発
1.3.1
ADF Business Componentsを使用した宣言的なデータ・アクセスおよび検証
1.3.2
JavaServer Facesによる宣言的なユーザー・インタフェース設計およびページ・ナビゲーション
1.3.2.1
JSFによる宣言的なユーザー・インタフェース設計
1.3.2.2
JSFによる宣言的なページ・ナビゲーション
1.3.3
Oracle ADFモデル・レイヤーの宣言的なデータ・バインディング
1.3.4
単純なイベント・ドリブン・アプローチによる、カスタム・ロジックの追加
1.3.4.1
コントローラ・レイヤーで簡単に処理できるイベント
1.3.4.2
ビジネス・サービス・レイヤーで簡単に処理できるイベント
1.3.4.3
グローバルに拡張しやすい基本フレームワーク機能
1.4
その他の重要なADF機能
1.4.1
JDeveloperによる包括的な設計時サポート
1.4.2
コード記述を必要としない、高機能なAjaxスタイルのWebページ
1.4.3
一元化された、メタデータ駆動型機能
1.4.4
Oracle JHeadstartを使用した、完全なWeb階層の生成
2
Oracle ADFおよびJSFを使用した開発プロセスの概要
2.1
開発プロセスの概要
2.2
ファイルを格納するアプリケーション・ワークスペースの作成
2.3
ユースケースおよびページ・フローについて
2.4
データベース・スキーマの設計
2.5
表のビジネス・ドメイン・オブジェクトのレイヤーの作成
2.5.1
表のエンティティ・オブジェクトをリバース・エンジニアリングするためのドラッグ・アンド・ドロップ
2.5.2
エンティティ・オブジェクトへのビジネス検証規則の追加
2.5.3
エンティティ・オブジェクトのUIコントロール・ヒントの定義
2.6
ユースケースを処理するビジネス・サービスの作成
2.6.1
技術者を管理するアプリケーション・モジュールの作成
2.6.2
ユースケースに適したデータを問い合せるビュー・オブジェクトの作成
2.6.3
アプリケーション・モジュールのデータ・モデルにおけるビュー・オブジェクトの使用
2.6.4
サービスのテスト
2.6.5
データ・バインディングを可能にするアプリケーション・モジュールのデータ・コントロール
2.7
データのドラッグ・アンド・ドロップによる新規JSFページの作成
2.8
関連するバインディング・メタデータ・ファイルの詳細
2.9
コンポーネントが式言語(EL)を通じてバインディングを参照する仕組み
2.10
必要に応じたバインディング・プロパティの構成
2.11
実行時にバインディングが作成される仕組み
2.12
表示のデータ駆動性の向上
2.12.1
バインディング・プロパティに基づくコンポーネント・グループの表示と非表示
2.12.2
バインディング・プロパティに基づくコンポーネントの代替セットの入替え
2.13
編集ページの追加とユースケースの完成
2.13.1
データ・モデルに対する別のビュー・オブジェクトの追加
2.13.2
編集ページの作成
2.13.3
検索ページと編集ページの同期化
2.13.4
データを最初に表示するかどうかの制御
2.13.5
最終結果の実行
2.14
必要なコードの長さについて
3
Oracle ADFサービス・リクエスト・デモの概要
3.1
Oracle ADFサービス・リクエスト・デモの概要
3.1.1
Oracle ADFサービス・リクエスト・アプリケーションの要件
3.1.2
スキーマの概要
3.2
Oracle ADFサービス・リクエスト・デモの設定
3.2.1
Oracle ADFサービス・リクエスト・アプリケーションのダウンロードとインストール
3.2.2
Oracle ADFサービス・リクエスト・スキーマのインストール
3.2.3
Oracle JDeveloperでのデータベース接続の作成
3.2.4
JDeveloperでのOracle ADFサービス・リクエスト・デモの実行
3.2.5
JDeveloperでのOracle ADFサービス・リクエスト・デモのユニット・テストの実行
3.3
Oracle ADFサービス・リクエスト・デモのクイック・ツアー
3.3.1
顧客によるログインおよび既存のサービス・リクエストの確認
3.3.2
顧客によるサービス・リクエストの作成
3.3.3
マネージャによるログインおよびサービス・リクエストの割当て
3.3.4
マネージャによるレポートの参照および技術者スキルの更新
3.3.5
技術者によるログインおよびサービス・リクエストの更新
第II部 ビジネス・サービスの構築
4
ADF Business Componentsの概要
4.1
ビジネス・サービスの規範となるアプローチおよび再使用可能なコード
4.2
ADF Business Componentsおよびその機能について
4.3
ADF Business Componentsと使い慣れた4GLツールとの関連付け
4.3.1
Oracle Forms開発者が理解しやすい概念
4.3.2
PeopleTools開発者が理解しやすい概念
4.3.3
SiebelTools開発者が理解しやすい概念
4.3.4
ADO.NET開発者が使い慣れている機能
4.4
ADF Business Components実装アーキテクチャの概要
4.4.1
標準JavaおよびXMLベース
4.4.2
すべてのアプリケーション・サーバーまたはデータベースとの連携
4.4.3
必要なすべてのJ2EEデザイン・パターンの実装
4.4.4
パッケージ化されたコンポーネント
4.4.5
ベースADF Business Componentsレイヤーのアーキテクチャ
4.4.6
オプションのカスタムJavaコードを含むメタデータ駆動型のコンポーネント
4.4.6.1
XMLのみのコンポーネント例
4.4.6.2
カスタムJavaクラスのあるコンポーネント例
4.4.7
推奨事項: ADF Business Components設計時設定の構成
4.4.7.1
推奨事項: カスタムJava生成の初期設定での無効化
4.4.7.2
推奨事項: パッケージXMLファイルの使用の無効化
4.4.8
基本データ型
4.4.9
汎用APIと強く型付けされたAPIとの比較
4.4.10
クライアントがアクセス可能なコンポーネントへのカスタム・インタフェースの設定
4.4.10.1
コンポーネントのフレームワーク・クライアント・インタフェース
4.4.10.2
コンポーネントのカスタム・クライアント・インタフェース
4.5
アクティブ・データ・モデルの理解
4.5.1
アクティブ・データ・モデルについて
4.5.2
実行中のアクティブ・データ・モデルの例
4.5.3
アクティブ・データ・モデルによる、大部分のクライアント側のコードの削減
4.6
ADF Business Componentsの設計時機能の概要
4.6.1
接続、SQLスタイルおよび型マップの選択
4.6.2
ウィザードを使用した新規コンポーネントの作成
4.6.3
ポップアップ・メニューを使用した新規コンポーネントのクイック作成
4.6.4
コンポーネント・エディタを使用したコンポーネントの編集
4.6.5
UMLダイアグラムを使用したコンポーネントの視覚化、作成および編集
4.6.6
Business Component Browserを使用したアプリケーション・モジュールのテスト
4.6.7
コンポーネントのリファクタ
5
ビュー・オブジェクトを使用したデータの問合せ
5.1
ビュー・オブジェクトの概要
5.2
読取り専用の単純ビュー・オブジェクトの作成
5.2.1
読取り専用ビュー・オブジェクトの作成方法
5.2.2
読取り専用ビュー・オブジェクトの作成時に発生する処理
5.2.3
ビュー・オブジェクトについて
5.2.3.1
既存のビュー・オブジェクト定義の編集
5.2.3.2
SQL式を含む問合せの使用
5.2.3.3
ビュー・オブジェクト属性の長さ、精度およびスケールの制御
5.3
アプリケーション・モジュールのデータ・モデルにおけるビュー・オブジェクトの使用
5.3.1
アプリケーション・モジュールの作成方法
5.3.1.1
ビュー・オブジェクト・コンポーネントとビュー・オブジェクト・インスタンスの相違点の理解
5.3.2
アプリケーション・モジュール作成時の処理
5.3.3
アプリケーション・モジュールについて
5.3.3.1
アプリケーション・モジュールのランタイム構成プロパティの編集
5.4
属性のコントロール・ヒントの定義
5.4.1
属性のコントロール・ヒントの追加方法
5.4.2
属性のコントロール・ヒント追加時の処理
5.4.3
メッセージ・バンドルについて
5.5
Business Component Browserを使用したビュー・オブジェクトのテスト
5.5.1
Business Component Browserを使用したビュー・オブジェクトのテスト方法
5.5.2
Business Component Browser使用時の処理
5.5.3
Business Component Browserについて
5.5.3.1
現在の実行に対する構成オプションのカスタマイズ
5.5.3.2
ADF Business Componentsデバッグ診断の有効化
5.6
ビュー・オブジェクト問合せ結果のプログラム的操作
5.6.1
ビュー・オブジェクトのデフォルト行セットを使用した操作の共通メソッド
5.6.2
行セットにおける行数計算
5.7
コマンドラインJavaテスト・クライアントの作成方法
5.7.1
テスト・クライアント・プログラム実行時の処理
5.7.2
テスト・クライアントの実行について
5.8
Query-By-Exampleビュー基準を使用した結果のフィルタリング
5.8.1
ビュー・オブジェクト結果をフィルタリングするためのビュー基準の使用方法
5.8.2
ビュー・オブジェクト結果をフィルタリングするためにビュー基準を使用する場合の処理
5.8.3
Query-By-Example基準について
5.8.3.1
ビュー基準での属性名、WHERE句での列名の使用
5.8.3.2
Business Component Browserでのビュー基準のテスト
5.8.3.3
複数ビュー基準行を使用した複合検索条件の変更
5.8.3.4
属性値がNULLである行の検索
5.8.3.5
大/小文字を区別しない検索
5.8.3.6
有効なビュー基準のクリア
5.8.3.7
問合せ再解析の原因になる、ビュー基準の適用
5.9
名前付きバインド変数の使用
5.9.1
名前付きバインド変数の追加
5.9.2
名前付きバインド変数の追加時の処理
5.9.3
名前付きバインド変数について
5.9.3.1
バインド変数に関連するエラー
5.9.3.2
デフォルトが提供されていない場合にバインド変数をNULLにデフォルト設定
5.9.3.3
実行時の既存バインド変数値の設定
5.9.3.4
実行時の名前付きバインド変数の追加
5.9.3.5
読取り専用問合せのインライン・ビューのデフォルト使用の概要
5.10
マスター/ディテール・データでの作業
5.10.1
読取り専用ビュー・オブジェクト結合表の作成方法
5.10.1.1
結合の作成を簡略化するためのクエリー・ビルダーの使用
5.10.1.2
結合ビューのテスト
5.10.2
ビュー・リンクを使用したマスター/ディテール階層の作成方法
5.10.3
ビュー・リンクを使用したマスター/ディテール階層の作成時の処理
5.10.4
ビュー・リンクについて
5.10.4.1
行セットを戻すビュー・リンク・アクセッサ属性
5.10.4.2
ビュー・リンク・アクセッサを使用したディテール・コレクションのアクセス方法
5.10.4.3
データ・モデルでアクティブなマスター/ディテール調整を有効化する方法
5.11
ビュー・オブジェクトのカスタムJavaクラスの生成
5.11.1
カスタム・クラスの生成方法
5.11.1.1
バインド変数アクセッサの生成
5.11.1.2
ビュー行属性アクセッサの生成
5.11.1.3
クライアントへのビュー行アクセッサの公開
5.11.1.4
デフォルトのJava生成設定の構成
5.11.2
カスタム・クラス生成時の処理
5.11.2.1
カスタムJavaファイルの表示および操作
5.11.3
カスタム・クラスについて
5.11.3.1
ビュー・オブジェクトに対するフレームワーク・ベース・クラスについて
5.11.3.2
カスタム・コンポーネント・ファイルに安全に追加できるコード
5.11.3.3
属性索引およびInvokeAccessor生成コード
6
エンティティ・オブジェクトを使用したビジネス・ドメイン・レイヤーの作成
6.1
エンティティ・オブジェクトの概要
6.2
エンティティ・オブジェクトおよびアソシエーションの作成
6.2.1
既存の表からエンティティ・オブジェクトおよびアソシエーションを作成する方法
6.2.2
既存の表からのエンティティ・オブジェクトおよびアソシエーション作成時の処理
6.2.2.1
表に主キーがないときに行われる処理
6.2.3
エンティティ・オブジェクトの作成ウィザードを使用したエンティティ・オブジェクトの作成
6.2.4
シノニムまたはビューのエンティティ・オブジェクトの作成
6.2.5
既存のエンティティ・オブジェクトまたはアソシエーションの編集
6.2.6
エンティティ・オブジェクトからのデータベース表の作成
6.2.6.1
アソシエーションのデータベース・キー制約の使用
6.2.7
データベース表の変更とエンティティの同期化
6.2.8
エンティティの作成について
6.3
アソシエーションの作成および構成
6.3.1
アソシエーションの作成方法
6.3.1.1
エンティティ・アソシエーションのアクセッサ名の変更
6.3.1.2
アソシエーションの名前変更および別のパッケージへの移動
6.3.2
アソシエーション作成時の処理
6.3.3
コンポジット・アソシエーションについて
6.4
ビジネス・レイヤーのエンティティ・ダイアグラムの作成
6.4.1
エンティティ・ダイアグラムの作成方法
6.4.1.1
ビジネス・エンティティ・ダイアグラムの公開
6.4.2
エンティティ・ダイアグラム作成時の処理
6.4.3
ダイアグラムでのエンティティの作成について
6.4.3.1
ビジネス・コンポーネントとアクティブに同期化されるUMLダイアグラム
6.4.3.2
UMLダイアグラムによるXMLコンポーネント・ディスクリプタへのメタデータの追加
6.5
属性のコントロール・ヒントの定義
6.5.1
属性のコントロール・ヒントの追加方法
6.5.2
属性のコントロール・ヒント追加時の処理
6.5.3
日付フォーマットの国際化
6.6
宣言的な実行時動作の構成
6.6.1
宣言的な実行時動作の構成方法
6.6.2
宣言的な実行時動作の構成時の処理
6.6.3
エンティティ・オブジェクトの宣言的機能について
6.6.3.1
エンティティ・オブジェクト属性の正規のデータベースおよびJavaデータ型
6.6.3.2
データ型の長さ、精度およびスケールの指定
6.6.3.3
属性の更新可能性の制御
6.6.3.4
属性の必須化
6.6.3.5
エンティティの主キーの定義
6.6.3.6
静的デフォルト値の定義
6.6.3.7
トリガーによって割り当てられた値の同期化
6.6.3.8
トリガーによってデータベース順序から割り当てられた主キー値
6.6.3.9
更新の上書きの阻止
6.6.3.10
履歴属性
6.6.3.11
エンティティ・オブジェクト継承階層の識別子属性の設定
6.6.3.12
コンポジット動作の概要および構成
6.7
宣言的な検証規則の使用
6.7.1
検証規則の追加方法
6.7.2
検証規則の追加時の処理
6.7.3
検証規則について
6.7.3.1
エンティティ・レベルの組込みバリデータの概要
6.7.3.2
属性レベルの組込みバリデータの概要
6.7.3.3
List Validatorに関する注意事項
6.8
エンティティ・オブジェクトおよびアソシエーションのプログラム的操作
6.8.1
主キーによるエンティティ・オブジェクトの検索
6.8.2
アクセッサ属性を使用した関連付けられたエンティティへのアクセス
6.8.3
既存のエンティティ行の更新または削除
6.8.4
エンティティ行の新規作成
6.8.5
static mainメソッドの使用のテスト
6.9
エンティティ・オブジェクトのカスタムJavaクラスの生成
6.9.1
カスタム・クラスの生成方法
6.9.1.1
エンティティ属性のアクセッサの生成の選択
6.9.2
カスタム・クラス生成時の処理
6.9.3
カスタムJavaファイルの表示および操作
6.9.4
カスタムJavaクラスについて
6.9.4.1
エンティティ・オブジェクトのフレームワーク・ベース・クラスについて
6.9.4.2
カスタム・コンポーネント・ファイルに安全に追加できるコード
6.9.4.3
デフォルトのJava生成設定の構成
6.9.4.4
属性索引およびInvokeAccessor生成コード
6.9.5
カスタム・エンティティ・クラスを使用した比較のプログラム的な例
6.10
エンティティ・オブジェクトへの一時および計算属性の追加
6.10.1
一時属性の追加方法
6.10.2
一時属性の追加時の処理
6.10.3
エンティティ・クラスへの計算実行用Javaコードの追加
7
エンティティ・ベースのビュー・オブジェクトを使用した更新可能なデータ・モデルの構築
7.1
エンティティ・ベースのビュー・オブジェクトの概要
7.2
エンティティ・ベースのビュー・オブジェクトの作成
7.2.1
エンティティ・ベースのビュー・オブジェクトの作成方法
7.2.1.1
エンティティ・オブジェクトのすべての属性を持つビュー・オブジェクトの作成
7.2.2
エンティティ・ベースのビュー・オブジェクトの作成時に行われる処理
7.2.3
既存のエンティティ・ベースのビュー・オブジェクト定義の編集
7.2.4
ビュー・オブジェクトについて
7.2.4.1
基礎となるエンティティ・オブジェクト属性のプロパティを継承するビュー・オブジェクト属性
7.3
結合ビュー・オブジェクトへの参照エンティティの組込み
7.3.1
ビュー・オブジェクトへの参照エンティティの組込み方法
7.3.1.1
ビュー・オブジェクトへの別の参照エンティティ・オブジェクトの慣用名の追加
7.3.1.2
参照エンティティ・オブジェクトの慣用名からの追加属性の選択
7.3.1.3
参照エンティティ・オブジェクトの慣用名の属性の名前変更
7.3.1.4
参照エンティティ・オブジェクトの慣用名からの不要なキー属性の削除
7.3.1.5
参照エンティティ・オブジェクトの慣用名からの主キー属性の非表示
7.3.2
ビュー・オブジェクトのエンティティを参照するときに行われる処理
7.3.3
結合ビュー・オブジェクトについて
7.3.3.1
ビジネス・コンポーネント・ダイアグラムでのビュー・オブジェクトの表示
7.3.3.2
必要に応じたデフォルトの結合句の外部結合への変更
7.4
アソシエーション・ベースのビュー・リンクの作成
7.4.1
アソシエーション・ベースのビュー・リンクの作成方法
7.4.2
アソシエーション・ベースのビュー・リンクの作成時に行われる処理
7.5
エンティティ・ベースのビュー・オブジェクトの対話的テスト
7.5.1
更新可能データ・モデル用のBusiness Component Browser機能の概要
7.5.2
データ・モデルに対するビュー・オブジェクト・インスタンスの追加
7.5.3
エンティティ・ベースのビュー・オブジェクトの対話的テスト方法
7.5.4
エンティティ・ベースのビュー・オブジェクトを対話的にテストするときに行われる処理
7.5.5
エンド・ユーザーによるアプリケーション・モジュールのデータ・モデルとの対話のシミュレーション
7.5.5.1
マスター/ディテール調整のテスト
7.5.5.2
UIコントロール・ヒントのテスト
7.5.5.3
エンティティ・オブジェクトの慣用名を参照するビュー・オブジェクトのテスト
7.5.5.4
ビジネス・ドメイン・レイヤーの検証のテスト
7.5.5.5
代替言語のメッセージ・バンドルおよびコントロール・ヒントのテスト
7.5.5.6
行の作成およびデフォルト値の生成のテスト
7.5.5.7
新しいディテール行の外部キーが正しいかどうかのテスト
7.6
エンティティ・ベースのビュー・オブジェクトへの計算済および一時属性の追加
7.6.1
SQL計算済属性の追加方法
7.6.2
SQL計算済属性を追加するときに行われる処理
7.6.3
一時属性の追加方法
7.6.3.1
ビュー・オブジェクトへのエンティティにマップされた一時属性の追加
7.6.4
一時属性の追加時に発生する処理
7.6.5
ビュー行クラスへの計算実行用Javaコードの追加
7.6.6
一時属性について
7.7
実行時にビュー・オブジェクトとエンティティ・オブジェクトが連携する仕組み
7.7.1
ビュー行またはエンティティ行ごとに関連付けられたキー
7.7.2
エンティティ・キャッシュがトランザクションで果す役割
7.7.3
明確に区別されたデータソースとデータ・シンクの役割を統合するメタデータ
7.7.4
ビュー・オブジェクトによる問合せ実行時に発生する処理
7.7.5
ビュー行属性の変更時の処理
7.7.6
外部キー属性の変更時に発生する処理
7.7.7
データ問合せの再実行時の処理
7.7.7.1
問合せの再実行時にリフレッシュされるエンティティ・キャッシュ内の変更なしの属性
7.7.7.2
問合せの再実行時にそのまま残されるエンティティ・キャッシュ内の変更済属性
7.7.7.3
問合せの再実行時にマージされる、オーバーラップする属性のサブセット
7.7.8
トランザクションのコミット時の処理
7.7.9
マルチユーザー・シナリオの対話的テスト
7.8
エンティティ・ベースのビュー・オブジェクトのプログラム的操作
7.8.1
マスター/ディテール/ディテール階層の反復の例
7.8.2
行の検索および外部キー値の更新の例
7.8.3
新規サービス・リクエストの作成の例
7.8.4
行を識別する行キーの取得の例
7.9
エンティティ・ベースのビュー・オブジェクトと読取り専用ビュー・オブジェクトの相違点の概要
7.9.1
エンティティ・ベースのビュー・オブジェクト固有の実行時機能
7.9.2
エンティティ・オブジェクトの慣用名のない読取り専用ビュー・オブジェクト
7.9.3
読取り専用ビュー・オブジェクトに対するビュー・オブジェクト・キー管理の有効化について
8
アプリケーション・モジュールによるビジネス・サービスの実装
8.1
アプリケーション・モジュールの概要
8.2
アプリケーション・モジュールの作成
8.2.1
アプリケーション・モジュールの作成
8.2.2
アプリケーション・モジュール作成時の処理
8.2.3
既存のアプリケーション・モジュールの編集
8.2.4
アプリケーション・モジュールのデータベース接続の構成
8.2.4.1
JDBC URL接続タイプの使用
8.2.4.2
JDBCデータソース接続タイプの使用
8.2.5
アプリケーション・モジュールのランタイム構成の管理
8.2.6
アプリケーション・モジュールの接続について
8.2.6.1
Business Component BrowserではJDBC URL接続が必須
8.2.6.2
Business Component BrowserでのSRServiceアプリケーション・モジュールのテスト
8.3
カスタム・サービス・メソッドの追加
8.3.1
アプリケーション・モジュールのカスタム・クラスの生成方法
8.3.2
アプリケーション・モジュールのカスタム・クラス生成時の処理
8.3.3
デフォルトのコード生成についての考慮事項
8.3.4
ビジネス・コンポーネント・テスターによるアプリケーション・モジュールのデバッグ
8.3.5
アプリケーション・モジュールへのカスタム・サービス・メソッドの追加方法
8.4
クライアントへのカスタム・サービス・メソッドの公開
8.4.1
クライアントへのカスタム・サービス・メソッドの公開方法
8.4.2
クライアントへのカスタム・サービス・メソッド公開時の処理
8.4.3
ビュー・オブジェクトおよびビュー行のクライアント・インタフェースの生成方法
8.4.4
クライアント・インタフェースのメソッド・シグネチャについて
8.4.5
データ・モデルからの情報の引渡しについて
8.5
アプリケーション・モジュール・クライアント・インタフェースのプログラム的操作
8.5.1
アプリケーション・モジュールのクライアント・インタフェースのプログラム的な操作方法
8.5.2
アプリケーション・モジュールのクライアント・インタフェースの操作時に発生する処理
8.5.3
アプリケーション・モジュール・クライアント・インタフェースへのアクセス方法
8.5.3.1
JSF Webアプリケーションでのアプリケーション・モジュール・クライアント・インタフェースへのアクセス方法
8.5.3.2
JSP/Struts Webアプリケーションでのアプリケーション・モジュール・クライアント・インタフェースへのアクセス方法
8.5.3.3
ADF Swingアプリケーションでのアプリケーション・モジュール・クライアント・インタフェースへのアクセス方法
8.6
組込みフレームワーク・メソッドのオーバーライド
8.6.1
組込みフレームワーク・メソッドのオーバーライド方法
8.6.2
組込みフレームワーク・メソッドをオーバーライドした場合の処理
8.6.3
prepareSession()をオーバーライドして新規ユーザー・セッション用のアプリケーション・モジュールを設定する方法
8.7
ビジネス・サービス用アプリケーション・モジュールのダイアグラムの作成
8.7.1
アプリケーション・モジュールのダイアグラムの作成方法
8.7.2
アプリケーション・モジュールのダイアグラム作成時の処理
8.7.3
アプリケーション・モジュールのダイアグラムについて
8.7.3.1
ダイアグラムによるアプリケーション・モジュールの編集
8.7.3.2
表示オプションの制御
8.7.3.3
メソッド名のフィルタ処理
8.7.3.4
関連するオブジェクトおよび実装ファイルの表示
8.7.3.5
アプリケーション・モジュールのダイアグラムの公開
8.7.3.6
ダイアグラムからのアプリケーション・モジュールのテスト
8.8
複数ページの作業ユニットのサポート
8.8.1
アプリケーション・モジュール・プーリングおよび状態管理の概要
8.8.2
Business Component Browserでの状態管理の試験的な使用
8.9
アプリケーション・モジュールの粒度の決定
8.9.1
アプリケーション・モジュールの計画に役立つユースケース
8.9.2
アセンブリをサポートするアプリケーション・モジュール設計
8.9.3
ルート・アプリケーション・モジュールおよびネストされたアプリケーション・モジュールの使用方法
9
エンティティ・オブジェクト内のプログラム的なビジネス・ルールの実装
9.1
プログラム的なビジネス・ルールの概要
9.2
検証サイクルの理解
9.2.1
エンティティ・オブジェクト検証規則のタイプ
9.2.1.1
属性レベルの検証規則
9.2.1.2
エンティティ・レベルの検証規則
9.2.2
コミット処理と検証の理解
9.2.3
無限検証サイクルの回避
9.2.4
検証が失敗したときに行われる処理
9.2.5
エンティティ・オブジェクト行の状態の理解
9.3
Method Validatorの使用
9.3.1
属性レベルのメソッド検証の作成方法
9.3.2
属性レベルのMethod Validatorを作成するときに行われる処理
9.3.3
エンティティ・レベルのMethod Validatorの作成方法
9.3.4
エンティティ・レベルのMethod Validatorを作成するときに行われる処理
9.3.5
検証規則エラー・メッセージの翻訳について
9.3.6
属性レベルの検証のエラー・メッセージにおける、無効な値の参照について
9.4
プログラム的な導出属性値の割当て
9.4.1
新しい行に対する作成時のデフォルト値
9.4.1.1
create()メソッドとinitDefaults()メソッドのいずれかの選択
9.4.1.2
データベース順序からの属性値のデフォルト設定
9.4.2
保存前の導出値の割当て
9.4.3
属性値が設定されている場合の、導出値の割当て
9.5
refreshメソッドを使用した、エンティティに対する保留中の変更の取消し
9.5.1
リフレッシュ中の新規行の動作の制御
9.5.2
構成される側の子エンティティ行へのリフレッシュのカスケード
9.6
検証でのビュー・オブジェクトの使用
9.6.1
実行時の検証用ビュー・オブジェクトの作成
9.6.2
効率的な存在チェックの実装
9.6.3
指定された型のすべてのエンティティに関連する条件の検証
9.7
アソシエーション・アクセッサを使用した、関連するエンティティ行へのアクセス方法
9.8
認証されたユーザーに関する情報の参照方法
9.8.1
認証されたユーザーのロールに関する情報の参照
9.8.2
認証されたユーザーの名前の参照
9.9
元の属性値へのアクセス方法
9.10
現在のユーザー・セッションに関する情報の格納方法
9.11
現在の日時へのアクセス方法
9.12
正常に完了したコミットに関する通知の送信方法
9.13
エンティティ行削除の条件付き禁止方法
9.14
属性に対する条件付きの更新可能性の実装方法
9.15
その他のリソース
10
アプリケーション・モジュール・データ・バインディングの概要
10.1
データ・コントロールおよび宣言的バインディングの概要
10.1.1
データ・コントロールによるビジネス・サービスの実装テクノロジの抽象化
10.1.2
バインディングによるデータ・コレクションおよび操作へのUIコントロールの関連付け
10.2
アプリケーション・モジュールのデータ・コントロールの理解
10.3
データ・コントロール・パレットでのアプリケーション・モジュールの表示
10.3.1
SRServiceアプリケーション・モジュールの概要
10.3.2
ページの作成を開始する前にデータ・コントロール名を変更する方法
10.3.3
データ・コントロール・パレットでのデータ・モデルおよびサービス・メソッドの表示
10.3.4
ページの作成を開始する前にビュー・インスタンス名を変更する方法
10.3.5
データ・コントロール・パレットでのトランザクション制御操作の表示
10.3.6
データ・コントロール・パレットでのビュー・オブジェクトの表示
10.3.6.1
ビュー・オブジェクトのデータ・コレクションの組込み操作
10.3.7
データ・コントロール・パレットでのネストされたアプリケーション・モジュールの表示
10.4
ページ上に「Create」ボタンを追加する方法
10.4.1
Webページへの「Create」ボタンのドロップ時の処理
10.4.2
SwingパネルへのCreate操作のドロップ時の処理
10.4.3
CreateのかわりにCreateInsertを使用する場合
10.4.4
CreateおよびCreateInsertについて
10.5
アプリケーション・モジュールのデータ・バインディングのヒントおよび方法
10.5.1
レコード・ステータス表示の作成方法
10.5.2
ビュー・オブジェクトの名前付きバインド変数の操作方法
10.5.3
検索モードによるQuery-by-Example(QBE)の実装方法
10.5.4
ADFページ・ライフサイクルのカスタマイズによるプログラムでのバインディングの操作方法
10.5.4.1
ADFページ・ライフサイクルのグローバルなカスタマイズ
10.5.4.2
単一ページのページ・ライフサイクルのカスタマイズ
10.5.4.3
カスタムADFページ・ライフサイクルによるonPageLoadバッキングBeanメソッドの起動
10.5.5
InvokeActionおよびイテレータ・バインディングにRefreshを適切に使用する方法
10.5.5.1
イテレータ・バインディングのRefreshプロパティの適切な構成
10.5.5.2
イテレータ・バインディングのリフレッシュに関する注意点(問合せの再実行が強制されない場合について)
10.5.5.3
InvokeAction実行可能ファイルのRefreshプロパティの適切な構成
10.5.6
setCurrentRowWithKeyとsetCurrentRowWithKeyValueの違いの理解
10.5.7
バンドル例外モードの理解
10.6
SRDemoページでのSRServiceの使用方法の概要
10.6.1
SRListページ
10.6.1.1
SRListページでのデータ・バインディングの概要
10.6.1.2
SRListページのビジネス・サービスに関する注意点
10.6.2
SRMainページ
10.6.2.1
SRMainページでのデータ・バインディングの概要
10.6.2.2
SRMainページのビジネス・サービスに関する注意点
10.6.3
SREditページ
10.6.3.1
SREditページでのデータ・バインディングの概要
10.6.3.2
SREditページのビジネス・サービスに関する注意点
10.6.4
SRSearchページ
10.6.4.1
SRSearchページでのデータ・バインディングの概要
10.6.4.2
SRSearchページのビジネス・サービスに関する注意点
10.6.5
SRStaffSearchページ
10.6.5.1
SRStaffSearchページでのデータ・バインディングの概要
10.6.5.2
SRStaffSearchページのビジネス・サービスに関する注意点
10.6.6
SRManageページ
10.6.6.1
SRManageページでのデータ・バインディングの概要
10.6.6.2
SRManageページのビジネス・サービスに関する注意点
10.6.7
SRSkillsページ
10.6.7.1
SRSkillsページでのデータ・バインディングの概要
10.6.7.2
SRSkillsページのビジネス・サービスに関する注意点
10.6.8
SRCreateページ
10.6.8.1
SRCreateページでのデータ・バインディングの概要
10.6.8.2
SRCreateページのビジネス・サービスに関する注意点
10.6.9
SRConfirmCreateページ
10.6.9.1
SRConfirmCreateページでのデータ・バインディングの概要
10.6.9.2
SRConfirmCreateページのビジネス・サービスに関する注意点
第III部 Webインタフェースの構築
11
ADF Facesの概説
11.1
ADF Facesの概要
11.2
ワークスペースおよびプロジェクトの設定
11.2.1
アプリケーション・テンプレートを使用したワークスペースの作成時に発生する処理
11.2.1.1
初期web.xmlファイル
11.2.1.2
初期faces-config.xmlファイル
11.2.2
ViewControllerプロジェクトについての考慮事項
11.2.3
複数のJSF構成ファイルについての考慮事項
11.3
Webページの作成
11.3.1
JSFページの追加方法
11.3.2
JSFページの作成時に発生する処理
11.3.3
JSFナビゲーション・ダイアグラムの使用についての考慮事項
11.3.4
ADF Facesの依存性およびライブラリについての考慮事項
11.4
Webページのレイアウト
11.4.1
JSFページにUIコンポーネントを追加する方法
11.4.2
ADF Facesコンポーネントの初回挿入時に発生する処理
11.4.2.1
web.xmlファイルの追加情報
11.4.2.2
faces-config.xmlファイルの追加情報
11.4.2.3
初期adf-faces-config.xmlファイル
11.4.3
JSFページの作成についての考慮事項
11.4.3.1
構造ウィンドウでの編集
11.4.3.2
エラーの表示
11.4.4
PanelPageコンポーネントの使用方法
11.4.4.1
PanelPageのファセット
11.4.4.2
ページ・ボディ・コンテンツ
11.5
Webページ用のバッキングBeanの作成および使用
11.5.1
バッキングBeanの作成および構成方法
11.5.2
バッキングBeanの作成および構成時に発生する処理
11.5.3
JSFページでのバッキングBeanの使用方法
11.5.4
自動コンポーネント・バインディング機能の使用方法
11.5.5
JDeveloperでの自動コンポーネント・バインディングの使用時に発生する処理
11.5.6
バッキングBeanおよびマネージドBeanについての考慮事項
11.5.7
ADFデータ・コントロールおよびバッキングBeanの使用方法
11.6
ADF Facesのベスト・プラクティス
12
ページでのデータの表示
12.1
ページでのデータの表示の概要
12.2
データ・コントロール・パレットの使用
12.2.1
データ・コントロール・パレットの各項目の理解
12.2.2
データ・コントロール・パレットの使用方法
12.2.3
データ・コントロール・パレットの使用時に行われる処理
12.2.4
実行時に行われる処理
12.3
DataBindings.cpxファイルでの作業
12.3.1
DataBindings.cpxファイルの作成方法
12.3.2
DataBindings.cpxファイルの作成時に行われる処理
12.4
ADFバインディング・フィルタの構成
12.4.1
ADFバインディング・フィルタの構成方法
12.4.2
ADFバインディング・フィルタを構成した場合の処理
12.4.3
実行時に行われる処理
12.5
ページ定義ファイルでの作業
12.5.1
ページ定義ファイルの作成方法
12.5.2
ページ定義ファイルの作成時に行われる処理
12.5.2.1
parameters要素で定義されるバインディング・オブジェクト
12.5.2.2
executables要素で定義されるバインディング・オブジェクト
12.5.2.3
bindings要素で定義されるバインディング・オブジェクト
12.5.3
実行時に行われる処理
12.5.4
バインディング・コンテナ・スコープに関して必要な知識
12.6
ADFデータ・バインディングEL式の作成
12.6.1
ADFデータ・バインディングEL式の作成方法
12.6.2
式ビルダーの使用方法
12.6.3
ADFデータ・バインディング式の作成時に行われる処理
12.6.3.1
属性バインディング・オブジェクトを参照するEL式
12.6.3.2
表バインディング・オブジェクトを参照するEL式
12.6.3.3
アクション・バインディング・オブジェクトを参照するEL式
12.6.4
ADFバインディング・プロパティについて
13
基本的なページの作成
13.1
基本的なページの作成の概要
13.2
属性を使用したテキスト・フィールドの作成方法
13.2.1
データ・コントロール・パレットを使用したテキスト・フィールドの作成方法
13.2.2
データ・コントロール・パレットを使用してテキスト・フィールドを作成した場合の処理
13.2.2.1
イテレータ・バインディングの作成および使用
13.2.2.2
値バインディングの作成および使用
13.2.2.3
EL式を使用したUIコンポーネントのバインド
13.2.3
実行時に行われる処理: JSFおよびADFのライフサイクル
13.3
基本的なフォームの作成
13.3.1
データ・コントロール・パレットを使用したフォームの作成方法
13.3.2
データ・コントロール・パレットを使用してフォームを作成した場合の処理
13.3.2.1
ファセットの使用方法
13.4
フォームへのレンジ・ナビゲーションの組込み
13.4.1
フォームへのナビゲーション・コントロールの挿入方法
13.4.2
データ・コントロール・パレットでコマンド・ボタンを作成した場合の処理
13.4.2.1
組込みナビゲーション操作のアクション・バインディングの使用方法
13.4.2.2
イテレータのRangeSize属性
13.4.2.3
EL式を使用したナビゲーション操作へのバインド
13.4.3
実行時の自動: アクション・イベントおよびアクション・リスナー
13.4.4
ブラウザの「戻る」ボタンについての考慮事項
13.5
既存レコードを編集するフォームの作成
13.5.1
データ・コントロール・パレットを使用した編集フォームの作成方法
13.5.2
組込み操作を使用してデータを変更した場合の処理
13.6
入力フォームの作成
13.6.1
入力フォームの作成方法
13.6.2
入力フォームの作成時の処理
13.6.3
順序番号の表示について
13.6.4
フォームの作成およびRefreshConditionについて
13.7
フォーム上のUIコンポーネントおよびバインディングの変更
13.7.1
UIコンポーネントおよびバインディングの変更方法
13.7.1.1
UIコンポーネントの値バインディングの変更
13.7.1.2
UIコンポーネントのアクション・バインディングの変更
13.7.2
属性およびバインディングを変更した場合の処理
14
表の追加
14.1
表の追加の概要
14.2
基本表の作成
14.2.1
基本表の作成方法
14.2.2
データ・コントロール・パレットを使用した表の作成時に発生する処理
14.2.2.1
表のイテレータと値バインディング
14.2.2.2
ADF Faces表のJSFページのコード
14.3
表へのレンジ・ナビゲーションの組込み
14.3.1
表でのナビゲーション・コントロールの使用方法
14.3.2
表でのナビゲーション・コントロールの使用時に発生する処理
14.3.3
実行時に行われる処理
14.3.4
ブラウザの「戻る」ボタンについての考慮事項
14.4
表に表示される属性の変更
14.4.1
表示される属性の変更方法
14.4.2
表のバインディングの変更方法
14.4.3
バインディングまたは表示される属性の変更時に発生する処理
14.5
表への非表示機能の追加
14.5.1
detailStampファセットの使用方法
14.5.2
detailStampファセットの使用時に発生する処理
14.5.3
実行時に行われる処理
14.6
表での行選択の有効化
14.6.1
selectionファセットにおけるtableSelectOneコンポーネントの使用方法
14.6.2
tableSelectOneコンポーネントの使用時に発生する処理
14.6.3
実行時に行われる処理
14.6.4
selectionファセットのかわりにリンクを使用することについての考慮事項
14.6.5
selectionファセットにおけるtableSelectManyコンポーネントの使用方法
14.6.6
tableSelectManyコンポーネントの使用時に発生する処理
14.6.7
実行時に行われる処理
14.7
コマンド・コンポーネントを使用した現在オブジェクトの設定
14.7.1
手動による現在行の設定方法
14.7.2
現在行の設定時に発生する処理
14.7.3
実行時に行われる処理
15
マスター/ディテール・データの表示
15.1
マスター/ディテール・データの表示の概要
15.2
データ・コントロール・パレットでのマスター/ディテール・オブジェクトの識別
15.3
表およびフォームを使用したマスター/ディテール・オブジェクトの表示
15.3.1
表およびフォームでのマスター/ディテール・オブジェクトの表示方法
15.3.2
マスター/ディテール表およびフォームの作成時に行われる処理
15.3.2.1
JSFページで生成されるコード
15.3.2.2
ページ定義ファイルに定義されるバインディング・オブジェクト
15.3.3
実行時に行われる処理
15.3.4
個別ページでのマスター/ディテールについての考慮事項
15.4
ツリーを使用したマスター/ディテール・オブジェクトの表示
15.4.1
ツリーでのマスター/ディテール・オブジェクトの表示方法
15.4.2
ADFデータ・バインド・ツリーの作成時の処理
15.4.2.1
JSFページで生成されるコード
15.4.2.2
ページ定義ファイルに定義されるバインディング・オブジェクト
15.4.3
実行時に行われる処理
15.4.4
ツリー・ノードへのコマンド・リンクの追加について
15.5
ツリー表を使用したマスター/ディテール・オブジェクトの表示
15.5.1
ツリー表でのマスター/ディテール・オブジェクトの表示方法
15.5.2
データ・バインド・ツリー表の作成時に行われる処理
15.5.2.1
JSFページで生成されるコード
15.5.2.2
ページ定義ファイルに定義されるバインディング・オブジェクト
15.5.3
実行時に行われる処理
15.6
インライン表を使用したマスター表でのディテール・データの表示
15.6.1
インライン表を使用したディテール・データの表示方法
15.6.2
インライン・ディテール表の作成時に行われる処理
15.6.2.1
JSFページで生成されるコード
15.6.2.2
ページ定義ファイルに定義されるバインディング・オブジェクト
15.6.3
実行時に行われる処理
16
ページ・ナビゲーションの追加
16.1
ページ・ナビゲーションの概要
16.2
ナビゲーション・ルールの作成
16.2.1
ページ・ナビゲーション・ルールの作成方法
16.2.1.1
ナビゲーション・ルール要素の概要
16.2.1.2
ナビゲーション・モデラーを使用したナビゲーション・ルールの定義
16.2.1.3
JSF構成エディタの使用方法
16.2.2
ナビゲーション・ルールの作成時に発生する処理
16.2.3
実行時に行われる処理
16.2.4
ナビゲーション・ルールおよびナビゲーション・ケースについての考慮事項
16.2.4.1
複数の構成ファイルでのルールの定義
16.2.4.2
オーバーラップするルール
16.2.4.3
競合するナビゲーション・ルール
16.2.4.4
複数のルール間でのナビゲーション・ケースの分割
16.2.5
ナビゲーション・モデラーについての考慮事項
16.3
静的ナビゲーションの使用
16.3.1
静的ナビゲーションの作成方法
16.3.2
静的ナビゲーションの作成時に発生する処理
16.4
動的ナビゲーションの使用
16.4.1
動的ナビゲーションの作成方法
16.4.2
動的ナビゲーションの作成時に発生する処理
16.4.3
実行時に行われる処理
16.4.4
デフォルトのケースの使用についての考慮事項
16.4.5
アクション・リスナー・メソッドについての考慮事項
16.4.6
結果を戻すデータ・コントロール・メソッドについての考慮事項
17
より複雑なページの作成
17.1
より複雑なページの概要
17.2
マネージドBeanを使用した情報の格納
17.2.1
マネージドBeanを使用した情報の格納方法
17.2.2
マネージドBeanの作成時に行われる処理
17.3
メソッドを実行するためのコマンド・コンポーネントの作成
17.3.1
サービス・メソッドにバインドされたコマンド・コンポーネントの作成方法
17.3.2
メソッドを使用してコマンド・コンポーネントを作成した場合の処理
17.3.2.1
メソッドでのパラメータの使用方法
17.3.2.2
EL式を使用したメソッドのバインド
17.3.3
実行時に行われる処理
17.4
コマンド・コンポーネントを使用したパラメータ値の設定
17.4.1
コマンド・コンポーネントを使用したパラメータの設定方法
17.4.2
パラメータの設定時に行われる処理
17.4.3
実行時に行われる処理
17.5
宣言メソッドのオーバーライド
17.5.1
宣言メソッドのオーバーライド方法
17.5.2
宣言メソッドをオーバーライドした場合の処理
18
検索フォームの作成
18.1
検索フォームの作成の概要
18.2
EnterQuery/ExecuteQuery検索フォームの作成
18.2.1
EnterQuery/ExecuteQuery検索ページの作成方法
18.2.2
検索フォームの作成時の処理
18.3
Webタイプ検索フォームの作成
18.3.1
検索フォームおよび別の結果ページの作成方法
18.3.2
Webタイプ検索フォームの作成時の処理
18.3.3
留意事項
18.3.4
同じページでの検索および結果の作成の考慮事項
18.3.5
同じページでの検索および結果の作成方法
18.3.6
検索および結果が同じページにある場合の処理
18.4
名前付きバインド変数による検索ページの作成
18.4.1
パラメータ付き検索フォームの作成方法
18.4.2
パラメータ・メソッド使用時に行われる処理
18.4.3
実行時に行われる処理
18.5
検索ページの結果表の条件付き表示
18.5.1
条件付き表示機能の追加方法
18.5.2
条件付きで結果表を表示した場合に行われる処理
19
複雑なUIコンポーネントの使用
19.1
複雑なUIコンポーネントの概要
19.2
動的なナビゲーション・メニューの使用
19.2.1
動的ナビゲーション・メニューを作成する方法
19.2.1.1
メニュー・モデルの作成
19.2.1.2
各メニュー項目のJSFページの作成
19.2.1.3
JSFナビゲーション・ルールの作成
19.2.2
実行時に行われる処理
19.2.3
メニューについて
19.3
ポップアップ・ダイアログの使用
19.3.1
ポップアップ・ダイアログの作成方法
19.3.1.1
ダイアログを起動するためのJSFナビゲーション・ルールの定義
19.3.1.2
ダイアログを起動するJSFページの作成
19.3.1.3
ダイアログ・ページを作成し、ダイアログ値を返す
19.3.1.4
戻り値の処理
19.3.1.5
ダイアログに値を渡す
19.3.2
SRDemoのポップアップ・ダイアログが作成される方法
19.3.3
ADF Facesのダイアログについて
19.3.4
その他の情報
19.4
部分ページ・レンダリングの有効化
19.4.1
PPRを有効化する方法
19.4.2
実行時に行われる処理
19.4.3
PPRとスクリーン・リーダーについて
19.5
複数ページ・プロセスの作成
19.5.1
プロセス・トレインの作成方法
19.5.1.1
プロセス・トレイン・モデルの作成
19.5.1.2
各トレイン・ノードのJSFページの作成
19.5.1.3
JSFナビゲーション・ルールの作成
19.5.2
実行時に行われる処理
19.5.3
プロセス・トレインおよびメニューについて
19.6
ファイル・アップロード機能の提供
19.6.1
ページ上でファイル・アップロードをサポートする方法
19.6.2
実行時に行われる処理
19.6.3
ADF Facesのファイル・アップロードについて
19.6.4
ファイル・アップロードの初期化パラメータの構成
19.6.5
カスタムのアップロード・ファイル・プロセッサの構成
19.7
選択リストの作成
19.7.1
固定の値リストを持つリストの作成方法
19.7.2
固定の値リストにバインドされたリストを作成するときに行われる処理
19.7.3
動的な値リストを持つリストの作成方法
19.7.4
動的な値リストにバインドされたリストを作成するときに行われる処理
19.7.5
ナビゲーション・リスト・バインディングを持つリストの作成方法
19.7.6
ナビゲーション・リスト・バインディングを持つリストの作成時に発生する処理
19.8
シャトルの作成
19.8.1
シャトルの作成方法
19.8.2
実行時に行われる処理
20
検証と変換の使用
20.1
検証と変換の概要
20.2
検証、変換およびアプリケーション・ライフサイクル
20.3
検証の追加
20.3.1
検証の追加方法
20.3.1.1
ADF Faces検証の追加
20.3.1.2
ADFモデル検証の追加
20.3.2
データ・コントロール・パレットを使用した入力フィールドの作成時に行われる処理
20.3.3
実行時に行われる処理
20.3.4
留意事項
20.4
カスタムJSF検証の作成
20.4.1
バッキングBeanの検証メソッドの作成方法
20.4.2
バッキングBeanの検証メソッドを作成するときに行われる処理
20.4.3
カスタムJSFバリデータの作成方法
20.4.4
カスタムJSFバリデータを使用するときに行われる処理
20.5
変換の追加
20.5.1
コンバータの使用方法
20.5.2
データ・コントロール・パレットを使用した入力フィールドの作成時に行われる処理
20.5.3
実行時に行われる処理
20.6
カスタムJSFコンバータの作成
20.6.1
カスタムJSFコンバータの作成方法
20.6.2
カスタム・コンバータを使用するときに行われる処理
20.7
エラー・メッセージの表示
20.7.1
ページ上にサーバー側エラー・メッセージを表示する方法
20.7.2
エラー・メッセージの表示を選択するときに行われる処理
20.8
ADFアプリケーション内の例外の処理と表示
20.8.1
例外処理の変更方法
20.8.2
デフォルトのエラー処理を変更するときに行われる処理
21
既存のページへのADFバインディングの追加
21.1
既存のページへのADFバインディングの追加の概要
21.2
ADFバインディング用のページの設計
21.2.1
ページの作成
21.2.2
ページへのコンポーネントの追加
21.2.3
設計についてのその他の考慮事項
21.2.3.1
フォームでのテキスト・フィールドの作成
21.2.3.2
表の作成
21.2.3.3
ボタンおよびリンクの作成
21.2.3.4
リストの作成
21.2.3.5
ツリーまたはツリー表の作成
21.3
データ・コントロール・パレットを使用した既存のコンポーネントのバインド
21.3.1
データ・コントロール・パレットを使用してADFバインディングを追加する方法
21.3.2
データ・コントロール・パレットを使用したADFバインディングの追加時に発生する処理
21.4
テキスト・フィールドへのADFバインディングの追加
21.4.1
テキスト・フィールドにADFバインディングを追加する方法
21.4.2
テキスト・フィールドへのADFバインディングの追加時に発生する処理
21.5
表へのADFバインディングの追加
21.5.1
表にADFバインディングを追加する方法
21.5.2
表へのADFバインディングの追加時に発生する処理
21.6
アクションへのADFバインディングの追加
21.6.1
アクションにADFバインディングを追加する方法
21.6.2
アクションへのADFバインディングの追加時に発生する処理
21.7
選択リストへのADFバインディングの追加
21.7.1
選択リストにADFバインディングを追加する方法
21.7.2
選択リストへのADFバインディングの追加時に発生する処理
21.8
ツリーおよびツリー表へのADFバインディングの追加
21.8.1
ツリーおよびツリー表にADFバインディングを追加する方法
21.8.2
ツリーまたはツリー表へのADFバインディングの追加時に発生する処理
22
アプリケーションの外観の変更
22.1
ADF Facesコンポーネントの変更の概要
22.2
コンポーネントのスタイル・プロパティの変更
22.2.1
コンポーネントのスタイル属性の設定方法
22.2.2
テキストを書式設定するときに行われる処理
22.3
スキンの使用によるルック・アンド・フィールの変更
22.3.1
スキンの使用方法
22.3.1.1
カスタム・スキンの作成
22.3.1.2
スキンを使用するためのアプリケーションの構成
22.4
アプリケーションの国際化
22.4.1
アプリケーションを国際化する方法
22.4.2
ADF Facesのオプションのローカライゼーション・プロパティを構成する方法
23
キャッシングによるアプリケーション・パフォーマンスの最適化
23.1
キャッシングについて
23.2
ADF Facesキャッシュを使用したコンテンツのキャッシング
23.2.1
ADF Facesキャッシュのサポートを追加する方法
23.2.2
フラグメントをキャッシュするときに行われる処理
23.2.2.1
ロギング
23.2.2.2
AFC統計サーブレット
23.2.2.3
ビジュアル診断
23.2.3
留意事項
24
Webアプリケーションのテストとデバッグ
24.1
Oracle ADFモデルのデバッグを開始する前に
24.2
単純なOracle ADFコンパイル・エラーの修正
24.3
単純なOracle ADFランタイム・エラーの修正
24.4
一般的なOracle ADFモデル・デバッグ・セッションの概要
24.4.1
診断ロギングの有効化
24.4.2
Oracle ADFデバッグ構成の作成
24.4.3
テスターによるアプリケーション・モジュールのデバッグ
24.4.4
様々なブレークポイントの理解
24.4.5
コントロール向上のためのブレークポイントの編集
24.4.6
クラス・メンバー表示のフィルタ
24.4.7
注目に値するOracle ADFブレークポイントの設定
24.4.8
他のユーザーへのスタック・トレース情報の提供
24.5
デバッグに対するOracle ADFソース・コードの設定
24.5.1
ADFソース・システム・ライブラリの設定
24.5.2
ADFソース・ライブラリのプロジェクトへの追加
24.5.3
コード・エディタでのより適切な情報の表示
24.5.4
ブレークポイントおよびデバッグの設定
24.5.5
デバッグ・ライブラリを使用した、より適切な記号情報の表示
24.6
Oracle ADFモデル・レイヤーのデバッグ
24.6.1
ページの表示エラーの修正
24.6.1.1
バインディング・コンテキスト作成エラーの修正
24.6.1.2
バインディング・コンテナ作成エラーの修正
24.6.2
データの表示エラーの修正
24.6.2.1
実行可能ファイルのエラーの修正
24.6.2.2
送信前の値のレンダリング・エラーの修正
24.6.3
アクションとメソッドの起動エラーの修正
24.7
EL式のトレース
24.8
JUnitによるアプリケーション・モジュールのリグレッション・テスト
24.8.1
アプリケーション・モジュールに対するJUnitテスト・スイートの作成方法
24.8.2
アプリケーション・モジュールに対するJUnitテスト・スイートの作成時の処理
24.8.3
留意事項
24.8.3.1
テスト・ケースをスイートに追加するテスト・スイート・クラス
24.8.3.2
アプリケーション・モジュールへのアクセスをカプセル化するテスト・フィクスチャ・クラス
24.8.3.3
JDBC URL接続を使用する必要のあるアプリケーション・モジュールのJUnitテスト
24.8.3.4
アサーションを使用する1つ以上のテスト・メソッドを含むテスト・ケース・クラス
24.8.4
Antビルド・スクリプトの一部としてのJUnitテスト・スイートの実行
24.8.5
デフォルトJUnitテスト・クラスのカスタマイズ
24.8.5.1
認証ユーザーとして実行するためのテスト・フィクスチャのカスタマイズ
24.8.5.2
共通テスト・ケース・コードのベース・クラスへのリファクタ
第IV部 高度なトピック
25
ビジネス・コンポーネントの高度な手法
25.1
ADF Business Componentsの機能のグローバルな拡張
25.1.1
ADF Business Componentsフレームワーク拡張クラスとは
25.1.2
フレームワーク拡張クラスの作成方法
25.1.3
フレームワーク拡張クラス作成時の処理
25.1.4
フレームワーク拡張クラスをADFコンポーネントの基礎にする方法
25.1.5
フレームワーク拡張クラスをコンポーネントの基礎にするときの処理
25.1.5.1
フレームワーク拡張クラスをXMLのみのコンポーネントの基礎にする場合
25.1.5.2
フレームワーク拡張クラスをカスタムJavaクラスのあるコンポーネントの基礎にする場合
25.1.6
留意事項
25.1.6.1
カスタム・コンポーネントのJavaファイルのExtends句を手動で更新しない
25.1.6.2
複数レベルのフレームワーク拡張クラスを使用できる
25.1.6.3
フレームワーク拡張クラスに対するプロジェクト・レベルの設定
25.1.6.4
IDEレベルでのフレームワーク拡張クラスの設定
25.2
フレームワーク拡張のレイヤーの作成
25.2.1
フレームワーク拡張レイヤー・クラスのレイヤーの作成方法
25.2.2
フレームワーク拡張レイヤーをJARファイルにパッケージする方法
25.2.3
フレームワーク拡張JARファイルのライブラリ定義の作成方法
25.3
拡張クラスによるフレームワークの動作のカスタマイズ
25.3.1
ビュー・オブジェクトおよびエンティティ・オブジェクトのランタイム・メタデータにアクセスする方法
25.3.2
ランタイム・メタデータを使用した汎用機能の実装
25.3.3
カスタム・プロパティによって駆動される汎用機能の実装
25.3.4
留意事項
25.3.4.1
実行時における属性の種類の判定
25.3.4.2
設計時のカスタム・プロパティ名の構成
25.3.4.3
実行時のカスタム・プロパティの設定
25.4
汎用拡張インタフェースの作成
25.5
ストアド・プロシージャとストアド・ファンクションの呼出し
25.5.1
引数のないストアド・プロシージャの呼出し
25.5.2
IN引数のみのストアド・プロシージャの呼出し
25.5.3
IN引数のみのストアド・ファンクションの呼出し
25.5.4
他の種類のストアド・プロシージャの呼出し
25.6
現在のデータベース・トランザクションへのアクセス
25.7
再利用可能なビジネス・コンポーネントのライブラリでの作業
25.7.1
ビジネス・コンポーネントの再利用可能なライブラリの作成方法
25.7.2
ライブラリから再利用可能なコンポーネントのパッケージをインポートする方法
25.7.3
ライブラリから再利用可能なコンポーネントのパッケージをインポートするときの処理
25.7.4
留意事項
25.7.4.1
プロジェクトのソース・パスへのビジネス・コンポーネントの他のディレクトリの追加
25.7.4.2
JARの変更を反映するために閉じて開きなおす必要がある場合
25.7.4.3
インポートしたパッケージをプロジェクトから削除する方法
25.8
ビジネス・コンポーネントのエラー・メッセージのカスタマイズ
25.8.1
基になっているADF Business Componentsのエラー・メッセージをカスタマイズする方法
25.8.2
基になっているADF Business Componentsのエラー・メッセージをカスタマイズするときに行われる処理
25.8.3
データベース制約違反のエラー・メッセージのカスタマイズ方法
25.8.4
カスタム制約エラー処理ルーチンの実装方法
25.8.4.1
カスタム・データベース・トランザクション・フレームワーク拡張クラスの作成
25.8.4.2
カスタム・データベース・トランザクション・クラスを使用するためのアプリケーション・モジュールの構成
25.9
継承を使用する拡張コンポーネントの作成
25.9.1
別のコンポーネントを拡張するコンポーネントの作成方法
25.9.2
別のコンポーネントを拡張するコンポーネントの作成時に行われる処理
25.9.2.1
拡張コンポーネントのXMLディスクリプタの理解
25.9.2.2
拡張コンポーネントに対するJavaコード生成の理解
25.9.3
留意事項
25.9.3.1
親のクラスとインタフェースは拡張コンポーネントの操作にも使用できる
25.9.3.2
拡張コンポーネントでは「クラスの拡張」が無効になる
25.9.3.3
主要なコンポーネント・タイプで拡張できるもの
25.9.3.4
親を規準とする拡張コンポーネントの属性索引
25.9.3.5
作成後のExtendsの変更に関する設計時の制限
25.10
提供されるアプリケーションでの拡張コンポーネントの置換え
25.10.1
コードの変更よりコンポーネントの拡張と置換えの方がよい理由
25.10.2
拡張コンポーネントの置換方法
25.10.3
置換時に行われる処理
25.10.4
基のアプリケーションでの置換コンポーネントの有効化
26
エンティティ・オブジェクトの高度な手法
26.1
ドメインを使用したカスタム検証済データ型の作成
26.1.1
ドメインとは
26.1.2
ドメインの作成方法
26.1.3
ドメインの作成時に行われる処理
26.1.4
留意事項
26.1.4.1
エンティティ・オブジェクトおよびビュー・オブジェクトの属性に対するドメインの使用
26.1.4.2
妥当性検査が失敗した場合は検証メソッドからDataCreationExceptionをスローする
26.1.4.3
String値を集約するStringドメイン
26.1.4.4
既存のドメイン型を拡張する他のドメイン
26.1.4.5
不変なJavaクラスである単純なドメイン
26.1.4.6
Oracleオブジェクト型に対するドメインの作成
26.1.4.7
ドメイン・クラスへの素早い移動
26.1.4.8
共通JARへのドメインのパッケージ化
26.1.4.9
カスタム・ドメインのプロパティを継承するエンティティ・オブジェクトとビュー・オブジェクトの属性
26.1.4.10
エンティティ・レベルまたはビュー・レベルでは制限を緩めることができないドメイン設定
26.2
行の削除に代わる削除済フラグの更新
26.2.1
行が削除されたときに削除済フラグを更新する方法
26.2.2
削除のかわりに更新DML操作の強制
26.3
エンティティ・アソシエーションの高度な手法
26.3.1
複雑なアソシエーションを実装するためのアソシエーションSQL句の変更
26.3.2
エンティティ・レベルでのビュー・リンク・アクセッサ属性の公開
26.3.3
行セットを保持することによるエンティティ・アクセッサのアクセスの最適化
26.4
PL/SQLパッケージAPIに基づくエンティティ・オブジェクト
26.4.1
ビューを基にしてエンティティ・オブジェクトを作成する方法
26.4.2
ビューを基にしてエンティティ・オブジェクトを作成するときに行われる処理
26.4.3
PL/SQLベースのエンティティに関する詳細のベース・クラスへの集中化
26.4.4
DML操作のストアド・プロシージャ呼出しの実装
26.4.5
選択処理およびロック処理の追加
26.4.5.1
ロックと選択を処理するためのPLSQLEntityImplベース・クラスの更新
26.4.5.2
Productエンティティに対するロックおよび選択の実装
26.5
結合ビューまたはリモートDBLinkに基づくエンティティ・オブジェクト
26.6
ビジネス・ドメイン・レイヤーでの継承の使用
26.6.1
継承が有効な状況の理解
26.6.2
継承階層内にエンティティ・オブジェクトを作成する方法
26.6.2.1
識別子列と個別の値の識別
26.6.2.2
エンティティの種類に関連する属性のサブセットの識別
26.6.2.3
継承階層へのベース・エンティティ・オブジェクトの作成
26.6.2.4
継承階層へのサブタイプ・エンティティ・オブジェクトの作成
26.6.3
継承階層内のエンティティ・オブジェクトにメソッドを追加する方法
26.6.3.1
階層内の全エンティティ・オブジェクトに共通するメソッドの追加
26.6.3.2
サブタイプ・エンティティでの共通メソッドのオーバーライド
26.6.3.3
サブタイプ・エンティティに固有のメソッドの追加
26.6.4
留意事項
26.6.4.1
新しいベース・エンティティを導入する必要がある場合
26.6.4.2
主キーによるサブタイプ・エンティティの検索
26.6.4.3
多相エンティティ・オブジェクトの慣用名を持つビュー・オブジェクトを作成する方法
26.7
制約違反を防ぐためのエンティティ・ポスト順序の制御
26.7.1
デフォルトの後処理順序
26.7.2
コンポジットによるデフォルトの処理順序の変更
26.7.3
ポスト順序を制御するためのpostChanges()のオーバーライド
26.7.3.1
実際のポスト順序の問題の観察
26.7.3.2
ServiceRequestより前のProductの強制的なポスト
26.7.3.3
DBSequenceの値が設定される主キーに基づくアソシエーションの理解
26.7.3.4
DBSequence割当ての外部キーに対する参照の更新
26.8
属性の自動再計算の実装
26.9
カスタム検証規則の実装
26.9.1
カスタム検証規則の作成方法
26.9.2
規則用の設計時Beanカスタマイザの追加
26.9.3
JDeveloperでのカスタム規則の登録と使用
27
ビュー・オブジェクトの高度な手法
27.1
ビュー・オブジェクトの高度な概念と機能
27.1.1
最初のN行のみをフェッチするための最大フェッチ・サイズの使用
27.1.2
同じエンティティに基づくビュー・オブジェクトでの新しい行の一貫した表示
27.1.2.1
ビュー・リンク一貫性モードの動作方法
27.1.2.2
ビュー・リンク一貫性のデフォルト設定とその変更方法
27.1.2.3
行セットに追加されるポストされていない新規行を制限するためのRowMatchの使用
27.1.2.4
動的Where句の設定によるビュー・リンク一貫性の無効化
27.1.2.5
他のビュー・オブジェクトからの新規行の末尾への追加
27.1.2.6
再実行時にRowSetの先頭に追加される未ポストの新規行
27.1.3
ビュー・リンク・アクセッサとデータ・モデル・ビュー・リンク・インスタンス
27.1.3.1
アクティブなマスター/ディテール調整による動的ディテール行セットの有効化
27.1.3.2
ビュー・リンク・アクセッサ属性を使用した固定ディテール行セットへのアクセス
27.1.3.3
アクセッサ属性が作成する内部ビュー・オブジェクトに基づく個別の行セット
27.1.4
範囲を使用したページ単位でのデータの提示およびスクロール
27.1.5
範囲ページ移動を使用した大きい結果セットの効率的なスクロール
27.1.5.1
上位N問合せのサポート方法
27.1.5.2
ビュー・オブジェクトの範囲ページ移動を有効にする方法
27.1.5.3
範囲ページ移動を有効にしたときに行われる処理
27.1.5.4
範囲ページ移動を使用するときのビュー行のキャッシュ方法
27.1.5.5
範囲ページ移動を使用して特定のページ番号にスクロールする方法
27.1.5.6
範囲ページ移動を使用するときの行セット内のページ数の推定
27.1.5.7
自動ページ移動を使用するときの挿入と削除の処理
27.1.5.8
範囲ページ移動モードを使用するときのトレードオフ
27.1.6
複数マスターのデータ・モデルの設定
27.1.7
findByKey()で部分キーを使用できる場合
27.1.8
UIの状態を格納するための動的属性の作成
27.1.9
複数の行セットと行セット・イテレータの使用
27.1.10
行セットを保持することによるビュー・リンク・アクセッサのアクセスの最適化
27.2
最善のパフォーマンスを得るためのビュー・オブジェクトのチューニング
27.2.1
パラメータ使用の問合せのためのバインド変数の使用
27.2.1.1
問合せの再解析を防ぐためのバインド変数の使用
27.2.1.2
SQLインジェクション攻撃を避けるためのバインド変数の使用
27.2.2
エンティティ・ベースの機能が必要ない場合の読取り専用ビュー・オブジェクトの使用
27.2.3
異常な問合せを識別するためのSQLトレースの使用
27.2.4
すべてのビュー・オブジェクトに適したチューニング設定の検討
27.2.4.1
データベース取得オプションの適切な設定
27.2.4.2
一度に1行のフェッチが適切かどうかの検討
27.2.4.3
必要に応じた問合せオプティマイザ・ヒントの指定
27.2.5
設計時のビュー・オブジェクトの作成
27.2.6
ビュー行のキャッシュを避ける前方のみモードの使用
27.3
エキスパート・モードを使用したSQL問合せの完全な制御
27.3.1
SQLを完全に制御するためにエキスパート・モードを有効にする方法
27.3.2
エキスパート・モードを有効にしたときに行われる処理
27.3.3
留意事項
27.3.3.1
手動属性マッピングを行う必要がある場合
27.3.3.2
エキスパート・モードを無効にすると失われるカスタム編集
27.3.3.3
エキスパート・モードでは無視されるSQL式の変更
27.3.3.4
誤って計算された式のエンティティ属性へのマップの禁止
27.3.3.5
エキスパート・モードのSQL書式の保持
27.3.3.6
インライン・ビューとしてラップされるエキスパート・モードの問合せ
27.3.3.7
実行時のインライン・ビュー・ラッピングの使用の無効化
27.3.3.8
依存オブジェクトに影響を与える可能性のあるエキスパート・モードの有効化
27.4
複数の名前付きビュー基準の処理
27.4.1
名前付きビュー基準の定義
27.4.2
名前付きビュー基準の適用
27.4.3
適用されたすべての名前付きビュー基準の除去
27.4.4
実行時の名前付き基準の使用
27.5
行セットのメモリー内でのソート処理とフィルタ処理の実行
27.5.1
ビュー・オブジェクトの問合せモード
27.5.2
メモリー内のビュー・オブジェクト行のソート処理
27.5.2.1
メモリー内ソートでのsetSortByとsetQueryModeの組合せ
27.5.2.2
メモリー内ソート処理の拡張ポイント
27.5.3
ビュー基準によるメモリー内フィルタ処理の実行
27.5.4
RowMatchによるメモリー内フィルタ処理の実行
27.5.4.1
ビュー・オブジェクトへのRowMatchの適用
27.5.4.2
個別の行をテストするためのRowMatchの使用
27.5.4.3
データベースからフェッチされた行に対するRowMatchの影響
27.6
ビュー・オブジェクトを使用した複数の行タイプの処理
27.6.1
多相エンティティ・オブジェクトの慣用名とは
27.6.2
多相エンティティ・オブジェクトの慣用名を持つビュー・オブジェクトを作成する方法
27.6.3
多相エンティティ・オブジェクトの慣用名によりビュー・オブジェクトを作成すると行われる処理
27.6.4
留意事項
27.6.4.1
問合せでは期待するエンティティ・サブタイプに行を制限する必要がある
27.6.4.2
委譲を使用したビュー行での選択したエンティティ・メソッドの公開
27.6.4.3
目的のエンティティ・サブタイプでの新しい行の作成
27.6.5
多相ビュー行とは
27.6.6
多相ビュー行を持つビュー・オブジェクトの作成方法
27.6.7
留意事項
27.6.7.1
拡張されたビュー・オブジェクトでのサブタイプ固有の属性の選択
27.6.7.2
エンティティ・オブジェクトの慣用名をオーバーライドした後のサブタイプ固有のメソッドへの委譲
27.6.7.3
クライアント・コードでの異なるビュー行インタフェース型の使用
27.6.7.4
ビュー行ポリモフィズムと多相エンティティ・オブジェクトの慣用名は直交する概念である
27.7
XMLの読取りと書込み
27.7.1
問合せ済データのXMLの生成方法
27.7.2
XMLを生成するときに行われる処理
27.7.3
留意事項
27.7.3.1
XMLの要素名の制御
27.7.3.2
NULL値属性の要素抑止の制御
27.7.3.3
生成されたXMLの印刷またはXPathを使用した検索
27.7.3.4
生成されるXMLの属性マップによるきめ細かい制御
27.7.3.5
双方向ビュー・リンクでの属性マップ手法の使用
27.7.3.6
生成されたXMLのXSLTスタイルシートによる変換
27.7.3.7
単一行に対するXMLの生成
27.7.4
XMLドキュメントを使用して変更を適用する方法
27.7.5
XMLドキュメントを使用するときに行われる処理
27.7.5.1
ViewObject.readXML()によるXMLドキュメントの処理方法
27.7.5.2
単一行でXMLを処理するためのreadXML()の使用
27.8
代替データ・ソースに対するプログラムでのビュー・オブジェクトの使用
27.8.1
プログラムで読取り専用のビュー・オブジェクトを作成する方法
27.8.2
プログラムでエンティティ・ベースのビュー・オブジェクトを作成する方法
27.8.3
プログラムのビュー・オブジェクト用にオーバーライドする主要なフレームワーク・メソッド
27.8.4
REF CURSORでのビュー・オブジェクトの作成方法
27.8.4.1
create()メソッドのオーバーライド
27.8.4.2
executeQueryForCollection()メソッドのオーバーライド
27.8.4.3
createRowFromResultSet()メソッドのオーバーライド
27.8.4.4
hasNextForCollectionMethod()のオーバーライド
27.8.4.5
releaseUserDataForCollection()メソッドのオーバーライド
27.8.4.6
getQueryHitCount()メソッドのオーバーライド
27.8.5
静的データからのビュー・オブジェクトの移入
27.8.5.1
SRStaticDataViewObjectImplに基づく検索ビュー・オブジェクト
27.8.5.2
プロパティ・ファイルからの静的データに基づくビュー・オブジェクトの作成
27.8.5.3
静的データによる独自のビュー・オブジェクトの作成
27.9
複数の更新可能エンティティによるビュー・オブジェクトの作成
27.10
挿入、更新、削除の宣言による禁止
28
アプリケーション・モジュールの状態管理
28.1
状態管理が必要な理由
28.1.1
マルチステップ・タスクの例
28.1.2
ステートフルなアプリケーションを複雑にするステートレスなHTTPプロトコル
28.1.3
Cookieを使用してユーザー・セッションを追跡する方法
28.1.4
HttpSessionの使用がパフォーマンスと信頼性に与える影響
28.2
ADF Business Componentsの状態管理機能
28.2.1
状態管理機能の基本アーキテクチャ
28.2.2
受動化と能動化が行われるタイミング
28.2.3
オプションのフェイルオーバー・モードを有効にしたときの受動化の変化
28.3
状態管理解放レベルの制御
28.3.1
サポートされる解放レベル
28.3.2
実行時の解放レベルの設定
28.3.2.1
JSFバッキングBeanでの解放レベルの設定
28.3.2.2
ADF PagePhaseListenerでの解放レベルの設定
28.3.2.3
ADF PageControllerでの解放レベルの設定
28.3.2.4
カスタムADF PageLifecycleでの解放レベルの設定
28.4
保存される状態とクリーンアップされるタイミング
28.4.1
保存される状態
28.4.2
状態が保存される場所
28.4.2.1
データベース利用の受動化の動作方法
28.4.2.2
状態管理表が存在するスキーマの制御
28.4.2.3
受動化ストアの種類の構成
28.4.3
状態がクリーンアップされるタイミング
28.4.3.1
次のスナップショットが取得されたときの前のスナップショットの削除
28.4.3.2
非管理解放で削除される受動化スナップショット
28.4.3.3
フェイルオーバー・モードでの受動化スナップショットの維持
28.4.4
HttpSessionのタイムアウトの方法
28.4.4.1
ユーザーの非アクティブ状態による暗黙のタイムアウトの構成
28.4.4.2
明示的なHttpSessionタイムアウトのコーディング
28.4.5
一時的な記憶域表のクリーンアップ
28.5
カスタム・ユーザー固有情報の管理
28.6
一時ビュー・オブジェクトの状態の管理
28.7
中間層セーブポイントに対する状態管理の使用
28.8
アプリケーション・モジュールの能動化が安全であることの確認テスト
28.8.1
jbo.ampool.doampooling構成パラメータ
28.8.2
能動化をテストするためのアプリケーション・モジュール・プーリングの無効化
28.9
保留データベース状態に関する注意事項
28.9.1
Webアプリケーションに要求されるオプティミスティック・ロックの使用
28.9.2
現在のリクエストの間のPostChangesのみの使用
28.9.3
リクエスト間の保留データベース状態で必要な予約レベル
28.9.4
接続プーリングによる保留データベース状態の妨害
29
アプリケーション・モジュール・プーリングの理解
29.1
アプリケーション・モジュール・プーリングの概要
29.2
Oracle ADFおよびJSFを使用したWebページ・リクエストのライフサイクル
29.3
構成プロパティのスコープ
29.4
プール構成パラメータの設定
29.4.1
構成プロパティの宣言的な設定
29.4.2
システム・パラメータとしての構成プロパティの設定
29.4.3
プログラムによる構成プロパティの設定
29.5
プールが作成される数と時期
29.5.1
アプリケーション・モジュール・プール
29.5.2
データベース接続プール
29.5.3
アプリケーション・モジュール・プールと接続プール
29.5.3.1
Oracle Application Serverインスタンスが1つ、OC4Jコンテナが1つ、JVMが1つの場合
29.5.3.2
Oracle Application Serverインスタンスが複数、OC4Jコンテナが1つ、JVMが複数の場合
29.6
アプリケーション・モジュール・プールのパラメータ
29.6.1
プールの動作に関するパラメータ
29.6.2
プールのサイズ指定に関するパラメータ
29.6.3
プールのクリーンアップに関するパラメータ
29.7
データベース接続プールのパラメータ
29.8
データベースとアプリケーション・モジュール・プールの連携
29.9
データベース・ユーザーの状態とプーリングに関する考慮事項
29.9.1
prepareSession()の起動頻度(jbo.doconnectionpooling = falseの場合)
29.9.2
データベース・ユーザーの状態の設定(jbo.doconnectionpooling = trueの場合)
29.9.3
SRDemoアプリケーションがデータベース状態を設定する方法
30
アプリケーションへのセキュリティの追加
30.1
Oracle ADF Webアプリケーションでのセキュリティの導入
30.2
JAZNリソース・プロバイダの指定
30.2.1
リソース・プロバイダの指定方法
30.2.2
Oracle ADF Securityとリソース・プロバイダについて必要な知識
30.3
web.xmlファイル内での認証の構成
30.3.1
J2EEコンテナ管理の認証を有効にする方法
30.3.2
Oracle ADF Security以外のセキュリティ制約を使用する場合の処理
30.3.3
Oracle ADFによる認証を有効にする方法
30.3.4
Oracle ADFによるセキュリティ制約を使用する場合の処理
30.4
コンテナ管理のセキュリティを使用するためのADF Business Componentsアプリケーションの構成
30.4.1
Oracle ADF Business Componentsアプリケーションでのセキュリティの構成方法
30.4.2
ADF Business Componentsアプリケーションでセキュリティを構成する場合の処理
30.4.3
ADF Business Componentsのセキュリティ・プロパティについて必要な知識
30.5
ログイン・ページの作成
30.5.1
ログイン・ページとエラー・ページの関連付け
30.5.2
ログイン・ページとエラー・ページを関連付ける場合の処理
30.6
ログアウト・ページの作成
30.6.1
ログアウト・アクションの関連付け
30.6.2
ログアウト・アクションを関連付ける場合の処理
30.7
Oracle ADF Securityを使用した認可の実装
30.7.1
Oracle ADF Securityによる認可を使用するようにアプリケーションを構成
30.7.1.1
Oracle ADF Securityによる認可の構成方法
30.7.1.2
Oracle ADF Securityを使用するようにアプリケーションを構成した場合の処理
30.7.1.3
認可プロパティについて必要な知識
30.7.2
ADFバインディング・コンテナでの認可の設定
30.7.3
ADFイテレータ・バインディングでの認可の設定
30.7.4
ADF属性およびMethodActionバインディングでの認可の設定
30.7.5
Oracle ADF Securityによる認可の処理
30.8
プログラムによる認可の実装
30.8.1
ユーザー情報をELアクセス可能にする
30.8.1.1
ロールを管理するクラスの作成
30.8.1.2
セキュリティ情報用のマネージドBeanの作成
31
データ・コントロール・アダプタの作成
31.1
シンプルなCSVデータ・コントロール・アダプタの概要
31.2
データ・コントロール・アダプタの作成手順の概要
31.3
抽象アダプタ・クラスの実装
31.3.1
JARファイルの場所
31.3.2
抽象アダプタ・クラスの概要
31.3.3
SampleDCAdapterクラスの完全なソース
31.3.4
initializeメソッドの実装
31.3.5
invokeUIメソッドの実装
31.3.6
getDefinitionメソッドの実装
31.4
データ・コントロール定義クラスの実装
31.4.1
JARファイルの場所
31.4.2
データ・コントロール定義クラスの概要
31.4.3
SampleDCDefクラスの完全なソース
31.4.4
デフォルト・コンストラクタの作成
31.4.5
ユーザーからのメタデータの収集
31.4.6
データ・コントロールの構造の定義
31.4.7
データ・コントロールのインスタンスの作成
31.4.8
実行時のメタデータの設定
31.4.9
データ・コントロールの名前の設定
31.5
データ・コントロール・クラスの実装
31.5.1
JARファイルの場所
31.5.2
データ・コントロール・クラスの概要
31.5.3
SampleDataControlクラスの完全なソース
31.5.4
invokeOperationメソッドの実装
31.5.4.1
processResultのコールについて
31.5.4.2
invokeOperationの戻り値
31.5.5
getNameメソッドの実装
31.5.6
releaseメソッドの実装
31.5.7
getDataProviderメソッドの実装
31.6
必要なサポート・クラスの作成
31.7
アダプタを定義するXMLファイルの作成
31.8
アダプタのビルド
31.9
アダプタのパッケージ化とJDeveloperへのデプロイ
31.10
Javadoc情報の場所
31.11
サポート・ファイルの内容
31.11.1
sampleDC.xsd
31.11.2
CSVHandlerクラス
31.11.3
CSVParser
32
チーム作業による生産性の向上
32.1
ADFプロジェクトでのCVSの使用
32.1.1
内部または外部CVSクライアントの選択
32.1.2
プリファレンスの設定
32.1.3
ファイルの依存性
32.1.4
一貫性のある接続定義名の使用
32.1.5
CVSにADF作業をコミットする場合の一般的なアドバイス
32.1.5.1
バージョン管理に関する他のヒントと方法
32.1.6
CVSリポジトリからのチェックアウトまたは更新
32.1.7
ナビゲーション・ルールをfaces-config.xmlファイルに手動で追加する場合の注意点
32.2
JDeveloperでCVSを使用するための一般的なアドバイス
32.2.1
チームレベルのアクティビティ
32.2.2
開発者レベルのアクティビティ
32.2.2.1
作業をCVSにチェックインする場合の通常のワークフロー
32.2.2.2
CVSリポジトリの構成ファイルの処理
32.2.2.3
ADF Business Componentsプロジェクトにおけるマージ競合のためのアドバイス
33
Webサービスの使用
33.1
Webサービスについて
33.1.1
SOAP
33.1.2
WSDL
33.1.3
UDDI
33.1.4
Webサービスの相互運用性
33.2
Webサービス・データ・コントロールの作成
33.2.1
Webサービス・データ・コントロールの作成方法
33.3
Webサービス・データ・コントロールのセキュリティ保護
33.3.1
WS-Security仕様
33.3.2
キーストアの作成と使用
33.3.2.1
キーストアの作成方法
33.3.2.2
証明書のリクエスト方法
33.3.2.3
公開鍵証明書のエクスポート方法
33.3.3
Webサービス・データ・コントロールのセキュリティの定義
33.3.3.1
認証の設定方法
33.3.3.2
デジタル署名の設定方法
33.3.3.3
暗号化と復号化の設定方法
33.3.3.4
キーストアの使用方法
33.4
Webサービスとしてのアプリケーション・モジュールの公開
33.4.1
アプリケーション・モジュールのJ2EE Webサービス・オプションを有効にする方法
33.4.2
J2EE Webサービス・オプションを有効にする場合の処理
33.4.3
アプリケーション・モジュールをWebサービスとしてデプロイする場合の必要な知識
33.4.4
Webサービス・メソッドでサポートされているデータ型について必要な知識
33.5
アプリケーション・モジュールからのWebサービスのコール
33.5.1
Web Services Description Language(WSDL)ドキュメントの役割の理解
33.5.2
Webサービス・プロキシ・クラスの役割の理解
33.5.3
アプリケーション・モジュールからWebサービスをコールする方法
33.5.3.1
Webサービス用のWebサービス・プロキシ・クラスの作成
33.5.3.2
生成されたWebサービス・プロキシの理解
33.5.3.3
Webサービス・プロキシ・クラスを使用したWebサービス・メソッドのコール
33.5.4
アプリケーション・モジュールからWebサービスをコールする場合の処理
33.5.5
留意事項
33.5.5.1
try/catchブロックによるWebサービス例外の処理
33.5.5.2
Webサービスとアプリケーション・モジュールでトランザクションを共有しない
33.5.5.3
ブラウザ・プロキシ情報の設定
34
ADFアプリケーションのデプロイ
34.1
ADFアプリケーションのデプロイの概要
34.2
デプロイ手順
34.3
デプロイ方法
34.4
Antを使用したアプリケーションのデプロイ
34.5
SRDemoアプリケーションのデプロイ
34.6
Oracle Application Serverへのデプロイ
34.6.1
サポートされているOracle Application Serverのバージョン
34.6.2
Oracle Application Serverリリース2(10.1.2)へのデプロイに関する注意点
34.6.3
Oracle Application Serverへのデプロイ方法
34.6.4
テスト環境のOracle Application Serverへのデプロイ(自動デプロイ)
34.6.5
クラスタ・トポロジのOracle Application Serverへのデプロイ
34.7
JBossへのデプロイ
34.7.1
サポートされているJBossのバージョン
34.7.2
JBossへのデプロイに関する注意点
34.7.3
JBossへのデプロイ方法
34.8
WebLogicへのデプロイ
34.8.1
サポートされているWebLogicのバージョン
34.8.2
WebLogicのバージョン8.1と9.0のデプロイに関する注意点
34.8.3
WebLogic 8.1へのデプロイに関する注意点
34.8.4
WebLogic 9.0へのデプロイに関する注意点
34.8.5
WebLogicへのデプロイ方法
34.9
WebSphereへのデプロイ
34.9.1
サポートされているWebSphereのバージョン
34.9.2
WebSphereへのデプロイに関する注意点
34.9.3
WebSphereへのデプロイ方法
34.10
Tomcatへのデプロイ
34.10.1
サポートされているTomcatのバージョン
34.10.2
Tomcatへのデプロイに関する注意点
34.11
JDK 1.4をサポートするアプリケーション・サーバーへのデプロイ
34.11.1
埋込みOC4JからJDK 1.4への切替え
34.12
サード・パーティ・アプリケーション・サーバーでのADFランタイム・ライブラリのインストール
34.12.1
JDeveloperからのADFランタイム・ライブラリのインストール
34.12.2
ADFアプリケーションを実行するようにWebSphere 6.0.1を構成
34.12.2.1
install_adflibs_1013.shスクリプトのソース
34.12.2.2
install_adflibs_1013.cmdスクリプトのソース
34.12.3
ADFランタイム・ライブラリの手動インストール
34.12.3.1
ZIPファイルからのADFランタイム・ライブラリのインストール
34.12.4
ADFランタイム・ライブラリの削除
34.13
デプロイの検証とトラブルシューティング
34.13.1
アプリケーションのテスト方法
34.13.2
「クラスが見つかりません」または「メソッドが見つかりません」エラー
34.13.3
ターゲット・アプリケーション・サーバーでアプリケーションがdata-sources.xmlファイルを使用していない場合
34.13.4
埋込みOC4Jサーバーでのjazn-data.xmlの使用
34.13.5
エラー「JBO-30003: 次の例外が発生したため、アプリケーション・プールはアプリケーション・モジュールをチェックアウトできませんでした。」
第V部 付録
A
ADF XMLファイルのリファレンス
A.1
ADFメタデータ・ファイルについて
A.2
ADFファイルの概要図
A.2.1
Oracle ADFデータ・コントロール・ファイル
A.2.2
Oracle ADFデータ・バインディング・ファイル
A.2.3
Oracle ADF FacesおよびWeb構成ファイル
A.3
ADFファイルの構文図
A.4
bc4j.xcfg
A.5
DataBindings.cpx
A.5.1
DataBindings.cpxの構文
A.5.2
DataBindings.cpxの例
A.6
<pageName>PageDef.xml
A.6.1
PageDef.xmlの構文
A.6.2
PageDef.xmlの例(ビュー・オブジェクトの属性の場合)
A.6.3
PageDef.xmlの例(ビュー・オブジェクト全体の場合)
A.7
web.xml
A.7.1
web.xmlファイルでサポートされるタスク
A.7.1.1
状態保存の構成
A.7.1.2
アプリケーション・ビュー・キャッシュの構成
A.7.1.3
デバッグの構成
A.7.1.4
ファイル・アップロードの構成
A.7.1.5
ADF Modelバインディングの構成
A.7.1.6
JSF用のその他のコンテキスト構成パラメータ
A.7.1.7
留意事項
A.8
j2ee-logging.xml
A.8.1
j2ee-logging.xmlでサポートされるタスク
A.8.1.1
Oracle ADFパッケージのロギング・レベルの変更
A.8.1.2
ログ出力のリダイレクト
A.8.1.3
ログ・ファイルの場所の変更
A.9
faces-config.xml
A.9.1
faces-config.xmlでサポートされるタスク
A.9.1.1
ADF Facesコンポーネントのレンダー・キットの登録
A.9.1.2
ADFバインディングのフェーズ・リスナーの登録
A.9.1.3
メッセージ・リソース・バンドルの登録
A.9.1.4
サポートされるロケールの構成
A.9.1.5
ナビゲーション・ルールおよびケースの作成
A.9.1.6
カスタム・バリデータおよびコンバータの登録
A.9.1.7
マネージドBeanの登録
A.10
adf-faces-config.xml
A.10.1
adf-faces-config.xmlでサポートされるタスク
A.10.1.1
アクセシビリティ・レベルの構成
A.10.1.2
通貨コードおよび数値の桁/小数点の区切り記号の構成
A.10.1.3
拡張デバッグ出力の構成
A.10.1.4
クライアント側の検証および変換の構成
A.10.1.5
言語読取り方向の構成
A.10.1.6
スキン・ファミリの構成
A.10.1.7
出力モードの構成
A.10.1.8
アクティブなProcessScopeインスタンス数の構成
A.10.1.9
タイムゾーンおよび年オフセットの構成
A.10.1.10
カスタムのアップロード・ファイル・プロセッサの構成
A.10.1.11
ヘルプ・サイトURLの構成
A.10.1.12
adf-faces-config.xmlからの構成プロパティ値の取得
A.11
adf-faces-skins.xml
A.11.1
adf-faces-skins.xmlでサポートされるタスク
B
ADFバインディング・プロパティのリファレンス
B.1
Oracle ADFバインディングのELプロパティ
C
一般的なOracle Formsのトリガーに相当するADFの機能
C.1
検証とデフォルト設定(ビジネス・ロジック)
C.2
問合せ処理
C.3
データベース接続
C.4
トランザクション後の処理(レコード・キャッシュ)
C.5
エラー処理
D
ADF Business Componentsのよく使用されるメソッド
D.1
クライアント層でよく使用されるメソッド
D.1.1
ApplicationModuleインタフェース
D.1.2
Transactionインタフェース
D.1.3
ViewObjectインタフェース
D.1.4
RowSetインタフェース
D.1.5
RowSetIteratorインタフェース
D.1.6
Rowインタフェース
D.1.7
StructureDefインタフェース
D.1.8
AttributeDefインタフェース
D.1.9
AttributeHintsインタフェース
D.2
ビジネス・サービス層でよく使用されるメソッド
D.2.1
コンポーネントでのカスタムJavaファイルの制御
D.2.2
ApplicationModuleImplクラス
D.2.2.1
ApplicationModuleImpl上でよくコールされるメソッド
D.2.2.2
カスタムなApplicationModuleImplサブクラスでよく記述されるメソッド
D.2.2.3
カスタムなApplicationModuleImplサブクラスでよくオーバーライドされるメソッド
D.2.3
DBTransactionImpl2クラス
D.2.3.1
DBTransaction上でよくコールされるメソッド
D.2.3.2
カスタムなDBTransactionImpl2サブクラスでよくオーバーライドされるメソッド
D.2.4
EntityImplクラス
D.2.4.1
EntityImpl上でよくコールされるメソッド
D.2.4.2
カスタムなEntityImplサブクラスでよく記述されるメソッド
D.2.4.3
EntityImpl上でよくオーバーライドされるメソッド
D.2.5
EntityDefImplクラス
D.2.5.1
EntityDefImpl上でよくコールされるメソッド
D.2.5.2
EntityDefImpl上でよく記述されるメソッド
D.2.5.3
EntityDefImpl上でよくオーバーライドされるメソッド
D.2.6
ViewObjectImplクラス
D.2.6.1
ViewObjectImpl上でよくコールされるメソッド
D.2.6.2
カスタムなViewObjectImplサブクラスでよく記述されるメソッド
D.2.6.3
カスタムなViewObjectImplサブクラスでよくオーバーライドされるメソッド
D.2.7
ViewRowImplクラス
D.2.7.1
ViewRowImpl上でよくコールされるメソッド
D.2.7.2
ViewRowImpl上でよく記述されるメソッド
D.2.7.3
カスタムなViewRowImplサブクラスでよくオーバーライドされるメソッド
D.2.8
フレームワーク・ベース・クラスの独自層の設定
E
ADF Business Components J2EE設計パターン・カタログ
E.1
ADF Business Componentsによって実装されるJ2EE設計パターン
索引