ビジネス・コンポーネントをカスタマイズする際、Business Components for Javaフレームワークの置換という機能を使用し、新規アプリケーションを作成できます。置換では、既存アプリケーションでの元のコンポーネントのすべての出現および使用箇所がカスタマイズしたコンポーネントに置き換えられます。
1つ以上のカスタマイズしたコンポーネントでシステムの既存のコンポーネントをすべて置き換える場合、ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページを使用します。この置換で、デプロイされたアプリケーションのソース・コードを変更する必要はありません。かわりに、ウィザードではファクトリ置換設計パターンを使用することにより、Business Components for Javaランタイム・システムに置換表を提供します。この置換表により、既存コンポーネントのOldName
が、対応する(これを置き換える)NewName
に割り当てられます。アプリケーションで、OldName
タイプのコンポーネントの作成を試みると、NewName
タイプのコンポーネントが、かわりに作成されます。ウィザードでは、この情報がプロジェクトの .jpx
プロジェクト定義ファイルに格納されます。
Business Components for Javaランタイムでは、通常、プロジェクトの .jpxファイルは読み込まれません。ランタイムにより .jpxファイルが読み込まれるようにするには、VMパラメータのリストとランタイム・クラスパスに情報を追加する必要があります。
注意: アプリケーション・モデルを有効なままにするには、かわりに使用するカスタム・コンポーネントは直接または間接的に元のコンポーネントを拡張したものである必要があります。
ビジネス・コンポーネントを置換する手順は、エンティティ・オブジェクト、ビュー・オブジェクト、Association、ビュー・リンクまたはアプリケーション・モジュールを置換する場合と同じです。ただし、各コンポーネントにはそれぞれの置換要件と前提条件があります。各コンポーネント・タイプを置換するための要件と前提条件の詳細は、次のトピックを参照してください。
プロジェクト・ノードを右クリックし、「ビジネス・コンポーネント・プロジェクトの編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。
「置換」ページでは、「使用可能」ペインで元のコンポーネントのパッケージからコンポーネントを選択し、「置換する対象」ペインで拡張コンポーネントを含むパッケージから新規のコンポーネントを選択し、「追加」ボタンをクリックします。
「終了」をクリックして、設計時の変更を保存します。
拡張コンポーネントを作成し、アプリケーション全体で置換した後、そのコンポーネントの動作を別の拡張コンポーネントを使用してテストする場合があります。つまり、ある拡張コンポーネントを別の拡張コンポーネントで置換するということです。Business Components for Javaフレームワークでは、最初に作成した拡張コンポーネントを別の拡張コンポーネントで置換できます。
ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページにある「更新」ボタンにより、ある拡張コンポーネントを別の拡張コンポーネントで置換できます。たとえば、「置換」ページを使用してEmp
コンポーネントのすべてのインスタンスをNewEmpEx
コンポーネントで置換したとします。また、NewEmpEx
とは異なる機能を持つTestEmp
コンポーネントをすでに作成済で、アプリケーションにおけるそのパフォーマンスをテストするものとします。NewEmpEx
からTestEmp
に置換を更新するには、次の手順に従います。
プロジェクトの .jpx
ファイルを右クリックし、「編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。
「置換」ページで、更新する置換定義を「置換」リストから選択します。
使用可能ペインで元のコンポーネントのパッケージからコンポーネントEmp
を選択し、「置換する対象」リスト・ボックスで、拡張コンポーネントを含むパッケージから、テストする新規機能を持つコンポーネントTestEmp
を選択します。
「更新」をクリックし、NewEmpEx
をTestEmp
で置換します。
「終了」をクリックして設計時の変更を適用します。
ビジネス・コンポーネント・プロジェクト・ウィザードの「置換」ページでは、「削除」ボタンにより、元のコンポーネントと拡張コンポーネントとの置換を取り消すことができます。置換定義を削除した場合、アプリケーションでは元のコンポーネントが使用されます。
プロジェクトの .jpx
ファイルを右クリックし、「編集」を選択します。ビジネス・コンポーネント・プロジェクト・ウィザードが開きます。
「置換」ページで、破棄する置換定義を「置換」リスト・ボックスから選択します。
「削除」をクリックし、置換を取り消します。
「終了」をクリックして設計時の変更を適用します。
作成する置換をウィザードで定義した後は、フレームワークにより、この情報がプロジェクトの .jpx
ファイルに格納されます。Business Components for Javaランタイムでは、通常、プロジェクトの .jpx
ファイルは読み込まれません。ランタイムにより .jpx
ファイルが読み込まれるようにするには、次のようにプロジェクト・プロパティに情報を追加する必要があります。
プロジェクト・ファイルの名前をJVMに指定する。
ランタイム・クラスパスにプロジェクトのディレクトリ・パスを追加する。
この情報を追加するには、次の手順に従います。
JDeveloperのメニュー・バーから、「プロジェクト」->「プロジェクトの設定」を選択し、「プロジェクトの設定」ダイアログ・ボックスを開きます。
「実行」ページを開きます。「Javaオプション」フィールドに、次のように入力します。
-Djbo.project=
nameここで、name は、プロジェクトのディレクトリ修飾名から
.jpx
拡張子を除いたものです。次に例を示します。
-Djbo.project=myProjects¥ExtendProject
「パス」ページを開き、「出力ディレクトリ」フィールドにプロジェクトのディレクトリ・パスを追加します。