ビジネス・コンポーネントの置換

ビジネス・コンポーネントをカスタマイズする際、Business Components for Javaフレームワークの置換という機能を使用し、新規アプリケーションを作成できます。置換では、既存アプリケーションでの元のコンポーネントのすべての出現および使用箇所がカスタマイズしたコンポーネントに置き換えられます。

1つ以上のカスタマイズしたコンポーネントでシステムの既存のコンポーネントをすべて置き換える場合、ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページを使用します。この置換で、デプロイされたアプリケーションのソース・コードを変更する必要はありません。かわりに、ウィザードではファクトリ置換設計パターンを使用することにより、Business Components for Javaランタイム・システムに置換表を提供します。この置換表により、既存コンポーネントのOldNameが、対応する(これを置き換える)NewNameに割り当てられます。アプリケーションで、OldNameタイプのコンポーネントの作成を試みると、NewNameタイプのコンポーネントが、かわりに作成されます。ウィザードでは、この情報がプロジェクトの .jpxプロジェクト定義ファイルに格納されます。

Business Components for Javaランタイムでは、通常、プロジェクトの .jpxファイルは読み込まれません。ランタイムにより .jpxファイルが読み込まれるようにするには、VMパラメータのリストとランタイム・クラスパスに情報を追加する必要があります。

注意: アプリケーション・モデルを有効なままにするには、かわりに使用するカスタム・コンポーネントは直接または間接的に元のコンポーネントを拡張したものである必要があります。

ビジネス・コンポーネントを置換する手順は、エンティティ・オブジェクト、ビュー・オブジェクト、Association、ビュー・リンクまたはアプリケーション・モジュールを置換する場合と同じです。ただし、各コンポーネントにはそれぞれの置換要件と前提条件があります。各コンポーネント・タイプを置換するための要件と前提条件の詳細は、次のトピックを参照してください。

ビジネス・コンポーネントの置換手順

  1. プロジェクト・ノードを右クリックし、「ビジネス・コンポーネント・プロジェクトの編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。

  2. 「置換」ページでは、「使用可能」ペインで元のコンポーネントのパッケージからコンポーネントを選択し、「置換する対象」ペインで拡張コンポーネントを含むパッケージから新規のコンポーネントを選択し、「追加」ボタンをクリックします。

  3. 「終了」をクリックして、設計時の変更を保存します。

置換定義の更新

拡張コンポーネントを作成し、アプリケーション全体で置換した後、そのコンポーネントの動作を別の拡張コンポーネントを使用してテストする場合があります。つまり、ある拡張コンポーネントを別の拡張コンポーネントで置換するということです。Business Components for Javaフレームワークでは、最初に作成した拡張コンポーネントを別の拡張コンポーネントで置換できます。

ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページにある「更新」ボタンにより、ある拡張コンポーネントを別の拡張コンポーネントで置換できます。たとえば、「置換」ページを使用してEmpコンポーネントのすべてのインスタンスをNewEmpExコンポーネントで置換したとします。また、NewEmpExとは異なる機能を持つTestEmpコンポーネントをすでに作成済で、アプリケーションにおけるそのパフォーマンスをテストするものとします。NewEmpExからTestEmpに置換を更新するには、次の手順に従います。

  1. プロジェクトの .jpxファイルを右クリックし、「編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。

  2. 「置換」ページで、更新する置換定義を「置換」リストから選択します。

  3. 使用可能ペインで元のコンポーネントのパッケージからコンポーネントEmpを選択し、「置換する対象」リスト・ボックスで、拡張コンポーネントを含むパッケージから、テストする新規機能を持つコンポーネントTestEmpを選択します。

  4. 「更新」をクリックし、NewEmpExTestEmpで置換します。

  5. 「終了」をクリックして設計時の変更を適用します。

置換定義の削除

ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページでは、「削除」ボタンにより、元のコンポーネントと拡張コンポーネントとの置換を取り消すことができます。置換定義を削除した場合、アプリケーションでは元のコンポーネントが使用されます。

  1. プロジェクトの .jpxファイルを右クリックし、「編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。

  2. 「置換」ページで、破棄する置換定義を「置換」リスト・ボックスから選択します。

  3. 「削除」をクリックし、置換を取り消します。

  4. 「終了」をクリックして設計時の変更を適用します。

実行時の置換の適用

作成する置換をウィザードで定義した後は、フレームワークにより、この情報がプロジェクトの .jpxファイルに格納されます。Business Components for Javaランタイムでは、通常、プロジェクトの .jpxファイルは読み込まれません。ランタイムにより .jpxファイルが読み込まれるようにするには、次のようにプロジェクト・プロパティに情報を追加する必要があります。

この情報を追加するには、次の手順に従います。

  1. JDeveloperのメニュー・バーから、「プロジェクト」->「プロジェクトの設定」を選択し、「プロジェクトの設定」ダイアログ・ボックスを開きます。

  2. 「実行」ページを開きます。「Javaオプション」フィールドに、次のように入力します。

-Djbo.project=name

ここで、name は、プロジェクトのディレクトリ修飾名から .jpx拡張子を除いたものです。次に例を示します。

-Djbo.project=myProjects¥ExtendProject

  1. 「パス」ページを開き、「出力ディレクトリ」フィールドにプロジェクトのディレクトリ・パスを追加します。