ADF Business Componentsを使用したビジネス・サービスの開発
このチュートリアルではアプリケーションのビジネス・サービスを作成します。ビジネス・サービス
は、アプリケーションの一部であり、アプリケーション内でデータを維持し、中間層でビジネス・ルールを実装します。さまざまなテクノロジの選択肢がありま
す。このチュートリアルでは、中間層のビジネス・サービスに対してOracle ADF Business
Componentsを使用し、次に検証規則とビジネス・ルールをモデルに追加します。
約50分
このチュートリアルでは、以下のトピックについて説明します。
このアイコンの上にカーソルを置くと、このコンポーネン
ト・パレットのすべてのスクリーンショットがロードし、表示されます。(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインター
ネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞ
れの手順にあるアイコンの上にカーソルを置いてください。スクリーンショットをクリックすると、非表示になります。
Javaアプリケーションを開発する場合、ADF Business
Componentsを使用して基本的なデータベース表にマッピングし、データをデータベースにコミットする前のアプリケーションでデータを維持できま
す。ADF Business
Componentsは、エンティティ・オブジェクト、ビュー・オブジェクト、アプリケーション・モジュールで構成されています。
複数のエンティティ・オブジェクトとビュー・オブジェクトを作成して、1つのアプリケーション・モ
ジュールに追加します。次に、検証規則とビジネス・ルールを実装して、モジュールが正しく機能することを確認します。
ト
ピック・リストに戻る
計画しているアプリケーションでは、CUSTOMERS表およびORDERS表のデータが操作され
ます。ただし、そのアプリケーションで表の列全部が表示されるわけではなく、一部のページに複数の表のデータが表示されます。データベース表から表示する
必要のあるデータを指定し、さらにモデルでビジネス・ルールを実装して、任意のユーザー・インタフェースからビジネス・ルールを実行できるようにする必要
があります。
トピック・リストに戻る
このチュートリアルを始める前に、次のことを確認してください。
| 1. |
Oracle
JDeveloper(10.1.3.1.0)にアクセスできるか、またはインストール済みであること。この製品は、Oracle
Technology Networkからダウンロードできます。
|
| 2. |
Oracle Database 10gに付属のOracle Sample
Schemaにアクセスできるか、またはインストール済みであること。
このチュートリアルでは、OEスキーマを使用します。特に、ページは
EMPLOYEES表と連動します。
OEスキーマのインストールおよびOracle JDeveloper
10g内における接続の作成手順は、次のURLを参照してください。
http://www.oracle.com/technology/obe/obe1013jdev/common/OBEConnection.htm
|
| 3. |
Oracle JDeveloperを起動すること。解凍先のルート・ディレクトリ(<jdev_home>)
にあるJDeveloper実行可能ファイル(jdeveloper.exe)
をダブルクリックします。
「ユーザー設定の移行」ダイアログ・ボックスが開いたら、「い
いえ」をクリックします。
「今日のヒント」ウィンドウを閉じます。
|
| 4. |
Oracle JDeveloper IDEが表示されます。
|
トピック・リストに戻る
ADF Business
Componentsの作成にはさまざまな方法があります。このチュートリアルでは、いくつかの方法を組み合わせます。アプリケーションのADF
Business Componentsモデル構築には、以下のタスクが必要です。
データベース接
続の作成
Java Database
Connectivity(JDBC)は、Javaアプリケーションをリレーショナル・データベースに接続するために使用される、標準的な
Application Program
Interface(API)です。このチュートリアルで使用するOEスキーマへのJDBC接続を作成するには、以下の手順に従います。
|
1.
|
「接続ナビゲータ」タブをクリックします。接続ナビゲータが表示されていない場合は、
「表示]→「接続ナビゲータ」を選択します。

|
|
2.
|
データベース・ノードを右クリックし、コンテキスト・メニューから「デー
タベース接続の作成」を選択します。「OK」をクリックします。

|
| 3. |
データベース接続の作成ウィザードの初期画面が表示されたら、「次へ」をクリックしま
す
ウィザードのタイプ・ページで、名前oeconnを入力して「次へ」
をクリックします。

|
| 4. |
ウィザードの認証ページで、ユーザー名oeとパスワードoeを入力します。「パスワードを配布」チェック・ボックスを選択
し、「次へ」をクリックします。

|
| 5. |
ウィザードの接続ページで、ホスト名localhostを入力
し、SIDをXEに変更します。「次へ」
をクリックします。

|
| 6. |
「接続のテスト」をクリックします。
データベースが使用可能な状態にあり、接続情報が正しい場合、ステータス・ウィンドウに成功が表示されます。
エラーが発生した場合、「戻る」をクリックして必要な変更を行った後に、再度接続をテ
ストしてください。
接続に成功したら、「終了」をクリックします。

|
| 7. |
接続ナビゲータのデータベース接続ノードの下に、接続が表示されます。

|
| 8. |
「すべて保存」 をクリックするか、「ファイル」→「すべて保存」
を選択して作業内容を保存します。 |
トピックに戻る
アプリケーショ
ンとプロジェクトの作成
Oracle
JDeveloperでは、ファイルはアプリケーションとオブジェクトで構成されます。アプリケーションは制御構造の最上位レベルで、1つ以上のプロジェ
クトで構成されます。プロジェクトは、関連するファイルを論理的にグループ化する構成となっています。プロジェクトを使用してソース・コードを編成できま
す。
Oracle
JDeveloperは、テンプレートを使用して、特定の処理に必要なテクノロジの選択肢のみを公開します。Webアプリケーション[JSF、ADF
BC]テンプレートをアプリケーションに適用すると、Oracle
JDeveloperは、2つのプロジェクト、ModelとViewControllerを作成します。
このチュートリアルに必要なアプリケーションとプロジェクトを作成するには、以下の手順に従いま
す。
|
1.
|
「アプリケーション・ナビゲータ」タブをクリック
します。
アプリケーション・ナビゲータでアプリケーション・
ノードを右クリックし、コンテキスト・メニューから「新規アプリケーション・ワークスペース」を選択します。

|
|
2.
|
アプリケーション・ワークスペースの作成ダイアログで、アプリケーション名をOrderEntryに
変更します。アプリケーション名を入力すると、ディレクトリ名が自動的に変更されることに注意してください。
アプリケーション・テンプレートのドロップダウン・リストから「Web Application
[JSF, ADF BC]」を選択し、「OK」をクリックします。

|
| 3. |
アプリケーション・ナビゲータに、OrderEntryアプリケーションと2つのプロジェクトが表示されます。このチュー
トリアルでは、Modelプロジェクトでビジネス・コンポーネントを構築します。別のチュートリアルで、ViewControllerプロジェクトを使用
して、ユーザー・インタフェースを構築します。
|
トピックに戻る
ADF
Business Componentsの作成
ADF Business
Componentsを構築する準備ができました。ビジネス・コンポーネントは、いくつかの方法で作成できますが、ここではウィザードを使用します。
ウィザードでは、次の順に作成を行います。
- エンティティ・オブジェクト。これは、データの維持とキャッシュ、検証の実行、
ビジネス・ルールのカプセル化を行うデータ・アクセス・オブジェクトです。
- ビュー・オブジェクト。エンティティ・オブジェクトに基づくオブジェクトで、表
示して操作する必要のあるデータを表示します(通常、ビュー・オブジェクトはクエリーと呼ばれます)。
- アプリケーション・モジュール。特定のタスクのためにビュー・オブジェクトを調整するサービ
ス・オブジェクト。これには、アプリケーションが必要とするビジネス・サービスのみが含まれます。
アプリケーションのデータ・モデルとして機能するビジネス・コンポーネントを作成する
には、以下の手順に従います。
|
1.
|
OrderEntryアプリケーションでModelプロジェクトを右クリックし、コン
テキスト・メニューから「新規」を選択します。

|
|
2.
|
新規ギャラリで、カテゴリ・リスト内のBusiness Tierを開き、ADF
Business Componentsを選択して、項目リストからBusiness Components
from Tablesを選択します。
「OK」をクリックします。

|
| 3. |
Initialize Business Components
Projectダイアログで、接続のドロップダウン・リストから「oeconn」を選択し、「OK」
をクリックします。

|
| 4. |
Create Business Components from Tablesウィザードの初期画面が表示されたら、「次
へ」をクリックします。
ウィザードのエンティティ・オブジェクト・ページで、エンティティ・オブジェクトを作成するパッケージの名前を指定できま
す。modelという名前のデフォルト・パッケージを受け入れます。
エンティティ・オブジェクトのベースにするデータベース表も指定します。「問合せ」を
クリックして、使用可能な表のリストを表示します。

|
| 5. |
使用可能リストで、CUSTOMERS表とORDERS表を、
[Ctrl]を押しながらクリックして、複数選択します。「追加」 をクリックして、それらを選択済リストに
移動します。

「次へ」をクリックします。
|
| 6. |
ウィザードの更新可能なビュー・オブジェクト・ページで、エンティティ・オブジェクトからデータを問い合わせるビュー・オ
ブジェクトを作成できます。
パッケージは、論理的な作業をグループ化するのに便利です。ビュー・オブジェクトを独立したパッケージに配置するには、
パッケージをmodel.queriesに変更します。
「すべて追加」 をクリックして、エンティティ・オブ
ジェクトを選択済リストに移動して、「次へ」をクリックします。

|
| 7. |
ウィザードの読取り専用ビュー・オブジェクト・ページで、「次へ」をクリックします。
更新可能なビュー・オブジェクトのみを作成します。

|
| 8. |
ウィザードのアプリケーション・モジュール・ページで、「アプリケーション・モジュール」
チェック・ボックスを選択します。
アプリケーション・モジュールを独自のパッケージに配置するには、パッケージをmodel.servicesに
変更します。
アプリケーション・モジュールに名前CustomerOrderBusinessServiceを
指定し、「次へ」をクリックします。

|
| 9. |
ウィザードのダイアグラム・ページで、ビジネス・コンポーネントの視覚的な表示を作成するオプションを使用できます。使用
するには、「Business Components Diagram」チェック・ボックスを選択します。
パッケージをmodelに、名前をCustomerAppBC_Diagramに設定します。
「Domains」チェック・ボックスの選択を解除して、「次へ」
をクリックします。

|
| 10. |
ウィザードの終了ページで、オブジェクトのリストを確認してから「終了」をクリックし
ます。

|
| 11. |
作成が完了すると、ビジネス・コンポーネントのダイアグラムがエディタで表示されます。エディタ・ウィンドウ上部のツール
を使用して、ダイアグラムの拡大表示や縮小表示、コンポーネントの配置変更ができます。また、上下左右にスクロールして、作成したオブジェクトを表示でき
ます。

|
| 12. |
アプリケーション・ナビゲータで、作成したオブジェクトを表示することもできます。Modelプ
ロジェクトとアプリケーション・ソース・ノードを開きます。3つのパッケージとビジネス・コンポーネントのダイアグラ
ムが表示されます。
それぞれのパッケージを開いて、modelパッケージで作成し
たエンティティ・オブジェクト、model.queriesパッケージで作成したビュー・オブ
ジェクト、およびmodel.servicesパッケージで作成したアプリケーション・モ
ジュールをそれぞれ表示します。

|
| 13. |
「すべて保存」 をクリックするか、「ファイル」→「すべて保存」
を選択して作業内容を保存します。 |
トピックに戻る
ビジネス・コン
ポーネントのカスタマイズ
ウィザードで作成したビジネス・コンポーネントは、使用するアプリケーションによっては、変更が必
要になる場合があります。この項では、デフォルトのビジネス・コンポーネントをカスタマイズします。
通常、エンティティ・オブジェクトの属性は、データベースの列に1対1でマッピングし、アプリケー
ションの多くのビュー・オブジェクトで再使用されます。ただし、状況によっては、エンティティ・オブジェクトの属性を制限する必要があります。この例で
は、アプリケーションに使用されないエンティティ・オブジェクトから属性を削除しますが、それにはまず、従属するビュー・オブジェクトから属性を削除する
必要があります。また、ビュー・オブジェクトから属性を削除しますが、エンティティ・オブジェクトには残します。
もう1つの変更は、顧客情報とは無関係に注文情報にアクセスできる、OrdersViewビュー・
オブジェクトのインスタンスをデータ・モデルから削除することです。計画しているアプリケーションは、注文が顧客に関連している場合にのみ注文にアクセス
するので、モデルにおいて、OrdersViewの追加的なインスタンスは必要ありません。
ビジネス・コンポーネントにこれらの変更を行うには、以下の手順に従います。
|
1.
|
エンティティ・オブジェクトから属性を削除するには、まず、従属するビュー・オブジェ
クトから属性を削除する必要があります。
ビジネス・コンポーネントは、さまざまな方法で編集できます。このチュートリアルで
は、アプリケーション・ナビゲータとダイアグラムの両方を使用してオブジェクトを編集します。ダイアグラムのビジネス・コンポーネントは、アプリケーショ
ン・ナビゲータのオブジェクトと同期化したままです。
アプリケーション・ナビゲータでCustomersViewビュー・
オブジェクトを右クリックし、コンテキスト・メニューから「CustomersViewの編集」を選択します。

|
|
2.
|
ビュー・オブジェクト・エディタで、左のツリーの属性ノードを選択します。
右の選択済リストでCustGeoLocationを選択し、「削除」 をクリッ
クして選択済リストから移動します。

「OK」をクリックします。
|
| 3. |
ダイアグラムでCustomersエンティティ・
オブジェクトを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。

|
| 4. |
エンティティ・オブジェクト・エディタで、左のツリーから属性、右のエンティティ属性
パネルからCustGeoLocation属性を選択します。「削除」をクリック
して属性を削除します。

「OK」をクリックします。
注:別の方法として、属性をダイアグラムから直接削除できます。属性だけを削除し、エ
ンティティ全体を削除しないよう注意してください。
|
| 5. |
前に述べたとおり、ビュー・オブジェクトはクエリーであり、エンティティ・オブジェクトのすべての属性を反映するわけでは
ありません。OrdersViewビュー・オブジェクトでは、Ordersエンティティ・オブジェクトからのPromotionld属性は必要ありません
が、他のアプリケーションが使用する可能性があるので、エンティティ・オブジェクトに残しておきます。
ダイアグラムでOrdersViewをダブルクリックしてビュー・オブジェクト・エ
ディタを起動し、属性ノードを選択します。PromotionIdを選択し、「削
除」 をクリックして属性を選択済リストから移動します。
「OK」をクリックします。
|
| 6. |
CustomerOrdersBusinessServiceアプリケーション・モ
ジュールをダブルクリックして、アプリケーション・モジュール・エディタを起動します。データ・モデル内のビュー・オブジェクト間の階層関係に注意してく
ださい。
|
| 7. |
アプリケーション・モジュール・エディタで、OrdersView2と呼ばれる詳細なビュー・オブジェクトが
CustomersView1にあることに注意してください。この対応付けは、デフォルトで、データベース内の外部キーに基づいて作成されました。
アプリケーション・モジュールにはOrdersView1という名前の、OrdersViewの他のインスタンスも含まれ
ています。このインスタンスは、注文に直接アクセスするために使用できます。ただし、計画しているアプリケーションでは顧客に関連する注文のみにアクセス
します。したがって、このOrdersViewの独立したインスタンスは必要ではなく、データ・モデルから削除できます。
モデルから削除するには、OrdersView1を選択して、「イン
スタンスの削除」 をクリックします。
「OK」をクリックして、アプリケーション・モジュールを更新し、アプリケーション・
モジュール・エディタを終了します。
|
| 8. |
ダイアグラムで、OrdersView1ビュー・オブジェクトのインスタンスがアプリケーション・モジュール内に表示され
ていないことに注意してください。
ダイアグラムでアプリケーション・モジュールのサイズを調節するには、CustomerOrderBusinessServiceア
プリケーション・モジュールを右クリックして、コンテキスト・メニューから「Optimize Shape Size」
→「Height and Width」を選択します。
|
| 9. |
「すべて保存」 をクリックするか、「ファイル」→「すべて保存」を選択して作業内容
を保存します。
|
トピックに戻る
トピック・リストに戻る
作業中のデータベース・スキーマは、データベースの制約およびPL/SQLを使用して、データに多
数のビジネス・ルールを課しています。たとえば、顧客の信用限度は5000以下でなければなりません。ただし、この項では、ビジネス・コンポーネントを使
用して、データをデータベースにコミットする前に中間層で宣言的に検証を行います。
モデルにビジネス・ルールを追加するには、以下の手順に従います。
トピック・リストに戻る
簡単な検証規則の追加
企業のビジネス・ルールでは、顧客の絶対的な信用上限は5000に定義されています。
しかし、受注のために、顧客の信用限度を4000以上に設定してはならないと決定されました。このビジネス・ルールを受注アプリケーション内で実装しま
す。
エンティティ・オブジェクト内で検証を実装するには、以下の手順に従います。
| 1. |
アプリケーション・ナビゲータでOrderEntry → Modelプ
ロジェクトとアプリケーション・ソース → modelパッケージを開きます。「Customers」
エンティティ・オブジェクトを右クリックし、コンテキスト・メニューから「Customersの編集」を選択します。
|
| 2. |
エンティティ・オブジェクト・エディタで、ツリー制御から検証を選択します。
Declared Validation RulesリストからCreditLimitを
選択します。
「新規」をクリックして、検証基準の新しいセットを追加します。
|
| 3. |
規則のドロップダウン・リストを使用して、使用できる多様な規則を確認します。
この例では、バリデータの比較が必要なので、規則のドロップダウン・リストから選択し
て、以下の値を設定します。
| 属性 |
CreditLimit |
| 演算子 |
LessOrEqualTo |
| 比較の対象 |
リテラル値 |
| リテラル値の入力 |
4000 |
| エラー・メッセージ |
顧客の信用制限は4000未満でなければなりません |
「OK」をクリックします。
エンティティ・オブジェクト・レベルで検証規則を追加しました。この規則は、それにアクセスするすべてのビュー・オブジェ
クトおよびアプリケーション・モジュールで再使用されます。
時間があれば、以下の簡単な検証規則を追加してください。
 |
婚姻区分の値を、'既婚'または'未婚'に制限する。 |
 |
性別の値を、'男性'または'女性'に制限する。 |
ヒント:この種類の検証には、List Validator規
則を使用します。用意されているヘルプでは、リスト項目を追加する方法についてサポートします。
次の作業のために、エンティティ・オブジェクト・エディタを開いたままにしてください。
|
トピックに戻る
フォーマット・マスクの定義
アクセスする方法とは無関係に、データは一貫した書式で表示される必要があります。こ
の場合、信用限度は金額であり、正しい通貨記号と小数点の記号で表示される必要があります。また、生年月日は、MM/DD/YY書式で表示する必要があり
ます。
信用限度および生年月日の属性にフォーマット・マスクを追加するには、以下の手順に従
います。
| 1. |
エンティティ・オブジェクト・エディタ内でCustomersエンティティ・オブジェ
クトを開き、ツリー制御で属性ノードを開きます。
開いたノードからCreditLimitを選択し、「コントロール・
ヒント」タブをクリックします。
|
| 2. |
Format Typeドロップダウン・リストから「通貨」を選択します。
任意のToolTipテキストを入力します。
|
| 3. |
左のツリーからDateOfBirth属性を選択して、「コントロール・ヒント」
タブをクリックします。
Format Typeドロップダウン・リストから「Simple Date」を選択
します。
Formatのドロップダウン・リストで事前定義されたフォーマット・マスクは十分ではないので、Formatフィールド
に独自のフォーマット・マスクを入力します。MM/dd/yyを入力し、「適用」
をクリックして、これらの変更内容を受け入れます。

注:フォーマット・マスクは大文字と小文字を区別するので、示したとおり正確に
入力する必要があります。
|
| 4. |
「コントロール・ヒント」タブが右側でアクティブな状態において、左側のツリーの属性をクリックし、属性CustFirstNameの
ラベル・テキストを更新します。ラベルNameを表示し、
属性CustLastNameのラベル・テキストを更新して、Surnameを
表示します。「適用」をクリックして、これらの変更内容を受け入れます。

注:このフォーマットは、エンティティ・オブジェクト・レベルで追加されました。この
フォーマットは、それにアクセスするすべてのビュー・オブジェクトおよびアプリケーション・モジュールで再使用されます。
次の作業のために、エンティティ・オブジェクト・エディタを開いたままにしてください。
|
トピックに戻る
デフォルト値の指定
デフォルト値が自動的に移入される必要のあるフィールドもあります。この場合、新しい
顧客のCreditLimitはデフォルトで100になっています。演算子が、もちろんこれをオーバーライドできますが、Formsにおける初期値と同様
に、このアプリケーション内ではデフォルトを使用します。
エンティティ・オブジェクトにデフォルト値を追加するには、以下の手順に従います。
| 1. |
開いた属性ノードからCreditLimitを選
択し、「エンティティ属性」タブをクリックします。
デフォルトを100に設定し、「OK」をクリック
して、エンティティ・オブジェクトを更新し、エディタを閉じます。
|
| 2. |
「すべて保存」 をクリックして、作業内容を保存し
ます。
|
トピックに戻る
ビュー・オブ
ジェクトのプロパティの変更
上記の変更は、エンティティ・オブジェクト・レベルで行われました。ビュー・オブジェ
クト・レベルでも同様の変更が行えます。
アプリケーションには、同じエンティティ・オブジェクトを使用する複数のビュー・オブ
ジェクトが存在することがあります。ほとんどの場合、エンティティ・オブジェクト・レベルでプロパティを更新することは理にかなっています。たとえば、
ビュー・オブジェクトが複数の表から列を選択するクエリーであると見なす場合、インスタンスによっては、エンティティ・オブジェクト・レベルではなく、
ビュー・オブジェクト・レベルで、属性のプロパティをいくつか変更する必要があります。たとえば、値のリスト用ビュー・オブジェクトの作成や、ビュー・オ
ブジェクトにorder
by句を組み入れることが必要になる場合があります。この例では、この点を説明するために、ビュー・オブジェクト・レベルでの調節をいくつか行います。
ビュー・オブジェクトを変更するには、以下の手順に従います。
| 1. |
ダイアグラムまたはアプリケーション・ナビゲータで、CustomersViewをダ
ブルクリックしてビュー・オブジェクト・エディタを起動します。CustomersViewは、model.queriesパッ
ケージのModel → アプリケーション・ソースにあります。
ツリー制御の属性ノードを開き、CustLastnameを
選択して、「コントロール・ヒント」タブをクリックします。
|
| 2. |
ラベル・テキストは空白です。これは、デフォルトのラベルが使用されているか、エンティティ・オブジェクト・レベルのラベ
ル・テキスト・セットが適用されていることを意味します。
ビュー・オブジェクト(VO)がエンティティ・オブジェクト(EO)属性設定のオーバーライドを実証するために、ラベル・
テキストをVO Last Nameに変更します。その他は変更しません。
|
| 3. |
問合せでORDER BY句を設定することによって、問合せを
行うオブジェクトの順序を変更します。
ツリー制御でSQL文を選択します。
Order Byの右側の「編集」をクリックします。

|
| 4. |
このダイアログを使用して、複雑な式を作成できます。このチュートリアルでは、1つの列を追加する必要があります。起動
時、ダイアログは非常に小さいので、詳細を表示するためにサイズを変更します。
「新規 」をクリックして、式に新しい値を追加し
ます。
Order Byダイアログで、式パレットのCustomersを開きます。

|
| 5. |
CUST_LAST_NAMEを選択し、「列を挿入 」をクリックして、それを左側の式フィールドに移動します。

|
| 6. |
「検証」をクリックして、列をOrder Byリストに加え、「OK」
をクリックします。

注:ビュー・オブジェクトはSQL問合せにすぎません。したがってオプティマイザ・ヒ
ントを使用して調整することや、EXPLAIN PLANを表示することもできます。ツリー制御のチューニング・セクションを参照してください。
|
| 7. |
「OK」をクリックして、ビュー・オブジェクトの編集を終了します。
メッセージが表示され、SQL問合せの構文が正確かどうかのテストについて尋ねられた場合、「はい」
をクリックし、次に「OK」をクリックして、クエリーが有効であることを確認します。

|
| 8. |
「すべて保存」 をクリックして、作業内容を保存し
ます。 |
トピックに戻る
カスタム検証の追加
これまで追加した検証の大部分は、宣言的でした。Oracle
JDeveloperには、宣言的に可能であるといった検証よりも、はるかに複雑な検証を定義する柔軟性があります。ADF Business
Componentsを使用する場合、カスタム検証を実行する1つの方法は、エンティティ・オブジェクトまたはビュー・オブジェクトのJavaコードを増
やすことです。
顧客の電子メール・アドレスに対するカスタム検証を追加するには、以下の手順に従いま
す。
| 1. |
アプリケーション・ナビゲータでCustomersエンティティ・オブジェクトを右ク
リックし、コンテキスト・メニューから「Go to Entity Object Class」を選択します。

|
| 2. |
Customersエンティティ・オブジェクトのJava実装であるCustomersImpl.javaが、
エディタで開かれます。
ファイルの終わりの}(中括弧)の上に以下のメソッドを追加します。
public boolean validateEmail
(String value)
{
return (value.indexOf('@') != -1 );
}
このコードで、電子メール・アドレスに@マークが存在するかど
うかを調べます。実際には、もっと複雑な検証が必要です。
属性の検証に使用するメソッドは、パブリックと定義され、同じ
タイプの1つの引数を属性として受け入れ、ブール値を返す必要があります。メソッド名は、キー
ワードvalidateで始まる必要があります。

|
| 3. |
アプリケーション・ナビゲータのCustomersをダブルクリックして、エンティ
ティ・オブジェクト・エディタを起動します。
エンティティ・オブジェクト・エディタで、左のツリーから検証を選択します。
Declared Validation RulesからCustEmailを選択し
て、「新規」をクリックします。

|
| 4. |
検証規則の追加ダイアログで、規則のドロップダウン・リストから「MethodValidator」
を選択します。
validateEmail(String value)メソッドを選択して、無効な電子メール・アドレ
スなどの適切なエラー・メッセージを入力します。
「OK」をクリックします。

「OK」をクリックして、Customersエンティティ・オブジェクトを更新しま
す。
|
| 5. |
「すべて保存」 をクリックして、作業内容を保存し
ます。 |
トピックに戻る
トピック・リストに戻る
Oracle JDeveloperにはBusiness Components
Browserが含まれており、クライアント・コードを構築せずにビジネス・コンポーネントをテストできます。
Business Components
Browserを使用して、ビジネス・モデルのために構築した機能をテストするには、以下の手順に従います。
| 1. |
アプリケーション・ナビゲータでmodel.servicesを開きます。CustomerOrdersBusinessServiceを
右クリックして、コンテキスト・メニューから「テスト」を選択します。

|
| 2. |
Oracle Business Component
Browserの接続ウィンドウで接続名ドロップダウン・リストから「oeconn」を選択して、「接
続」をクリックします。

|
| 3. |
Business Component BrowserでCustomersView1を
ダブルクリックして、実行します。
CreditLimitフィールドの上に静止して、CreditLimitフォーマット・マスクが適用され、
ToolTipが動作していることを確認します。CreditLimitフィールドは、通貨のフォーマット・マスクとともに表示されます。
デフォルト・ラベルではなく、CustFirstNameなどの変更した属性ラベルが表示され、EOレベルで定義されたも
のではなく、VOラベルで姓が表示されていることも確認してください。

|
| 4. |
信用限度を6000に更新して、エラー・メッセージが表示されることを確認します。

「OK」をクリックして、値を4000未満に戻して続行します。
|
| 5. |
「次へ」 をクリックしてレコードをスクロールし、
姓の順に顧客が返されることを確認します。

|
| 6. |
「作成」 をクリックして、新しいレコードを作
成します。信用限度のデフォルト値が表示されます。

「削除」 をクリックして、挿入したレコードを
削除します。
|
| 7. |
電子メール・アドレスから@マークを削除して、エラー・メッ
セージが表示されることを確認します。

「OK」をクリックして、@マー
クを元に戻して続行します。
|
| 8. |
OrdersCustomerIdFkLink1ビュー・リンクをダブルクリックしま
す。これによって、ビュー・リンクで結合されたCustomersView1およびOrders View2ビュー・オブジェクトが起動します。
をクリックして、別のウィンドウで結果
を確認します。
「Specify View Criteria 」をクリックし、
CustomerId102を入力します。続いて「Find」
をクリックして注文のある顧客を表示します。開いているもう1つのビュー・オブジェクトCustomersView1に
戻ると、同じ顧客が表示されています。これは、アプリケーション・モジュールがすべてのビューを自動的に調整するからです。
.
テストが終わったら、Business Components Browserウィンドウを閉じてください。
|
トピック・リストに戻る
ウィザードを使用して、データベース内の表をベースとし、これらの表と同じ名前を持つ
エンティティ・オブジェクトを作成する方法を学習しました。ウィザードにおいて、アプリケーションで使用するデータ(特定の列)を表すビュー・オブジェク
トおよびビュー・オブジェクト間のマスター/ディテール関係を維持するビュー・リンクも作成しました。ウィザードは、受注タスクで使用されるビュー・オブ
ジェクトとビュー・リンクを収容および調整するアプリケーション・モジュールを追加的に作成し、コンポーネントを視覚的に表現するビジネス・コンポーネン
ト・ダイアグラムを作成しました。
ビジネス・コンポーネントのデフォルト動作を変更するために、エンティティ・オブジェ
クトとビュー・オブジェクトのプロパティを編集し、構築したモデルをテストしました。
このチュートリアルで学習した内容は、以下のとおりです。
 |
ADF Business
Components(エンティティ・オブジェクト、ビュー・オブジェクト、アプリケーション・モジュール)の作成と変更 |
 |
ビジネス・コンポーネント・ダイアグラムの作成と編集 |
 |
宣言的検
証とカスタム検証の追加 |
 |
デフォル
ト値の設定 |
 |
フォーマット・マスクの設定 |
 |
デフォルト・ラベルの変更 |
 |
ToolTipsの設定 |
 |
表示されるレコード順序の変更 |
 |
Business Components
Browserによるモデルのテスト |
関連資料
ADF
FacesによるJSFユーザー・インタフェースの開発
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|