この章では、BPELプロセス・サービス・コンポーネントで使用可能なカスタマイズ機能を使用して、SOAコンポジット・アプリケーションをカスタマイズする方法について説明します。
項目は次のとおりです。
この項では、SOAコンポジット・アプリケーションをカスタマイズするライフ・サイクルについて説明します。たとえば、次の各組織では、同じコンポジットを使用する必要があるとします。ただし、若干の変更が必要です。
コア・アプリケーション開発チーム
バーティカル・アプリケーション・チーム
顧客
コア・アプリケーション開発チームでは、カスタマイズ可能な基本コンポジットを作成し、バーティカル・アプリケーション・チームに提供します。バーティカル・アプリケーション・チームでは、提供されたコンポジットを特定の業界(通信業界など)向けにカスタマイズします。調整されたソリューションは、通信業の顧客に販売されます。顧客は、特定の地理的なビジネス・ニーズに対応するためにコンポジットをさらにカスタマイズします。原則的には、1つの基本コンポジットと、複数レイヤーのカスタマイズ・コンポジットがあります。コンポジット・ライフ・サイクルの後半で、コア・アプリケーション開発チームは基本コンポーネントの新バージョンを作成し、バーティカル・アプリケーション・チームと顧客のアップグレード・サイクルをトリガーします。
この項では、カスタマイズ可能な基本SOAコンポジット・アプリケーションの作成に必要な手順の概要を示します。
カスタマイズ可能なコンポジットを作成する手順は、次のとおりです。
Oracle JDeveloperを起動し、「デフォルトのロール」を選択します。
「ファイル」メニューから「新規」→「アプリケーション」→「SOAアプリケーション」の順に選択し、「OK」をクリックします。
SOAアプリケーションの作成ウィザードで、次の手順に従います。
「SOAアプリケーションの作成」ダイアログで、「BPELを使用するコンポジット」と「カスタマイズ可能」の両方のチェック・ボックスを選択します。
BPELプロセスを設計します。
scopeアクティビティを作成して、BPELプロセスをカスタマイズします。デフォルトではBPELプロセスはカスタマイズ可能でないため、このアクションが必要です。
注意: メディエータ、ヒューマン・ワークフローまたはビジネス・ルール・サービス・コンポーネントはカスタマイズできません。 |
スコープを右クリックし、「カスタマイズ可能」を選択します。
アプリケーション・ナビゲータで、「アプリケーション・リソース」→「ディスクリプタ」→「ADF META_INF」の順に開きます。
adf-config.xmlファイルを開きます。
「追加」アイコンをクリックし、図16-1に示すように、必要なカスタマイズ・クラスを追加します。
実際の環境では、カスタマイズ・クラスは、コア・アプリケーション・チームが提供します。独自のカスタマイズ・クラスを使用する場合は、カスタマイズ・クラスのJARファイルをプロジェクトに追加して、adf-config.xmlファイルでそのクラスを使用できるようにする必要があります。
SOAプロジェクトを右クリックし、「デプロイ」を選択します。これにより、JARファイル・パッケージが作成されます。このJARは、SOAアーカイブ(SAR)とも呼ばれます。
アプリケーションをソース・コード・コントロール・システムにチェックインします。これで、バーティカル・アプリケーション・チームに提供するファイルの準備が整いました。
カスタマイズ・クラスの記述方法については、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
この項では、基本SOAコンポジット・アプリケーションのカスタマイズに必要な手順の概要を示します。
バーティカル・アプリケーションをカスタマイズする手順は、次のとおりです。
$JDEV_HOME/jdeveloper/jdev
のCustomizationLayerValues.xml
ファイルを開き、カスタマイズ・レイヤーのレイヤー値を追加します。たとえば、Communications
という値をindustry
レイヤーに追加します。
<cust-layers xmlns="http://xmlns.oracle.com/mds/dt"> <cust-layer name="industry"> <cust-layer-value value="communications" display-name="Communications"/> </cust-layer> </cust-layers>
Oracle JDeveloperを起動し、「デフォルトのロール」を選択します。
コア・アプリケーションとは異なる名前で新しいSOAアプリケーションを作成します。
「ファイル」メニューから、「インポート」→「SOAアーカイブをSOAプロジェクトへ」の順に選択します。
「参照」をクリックし、第16.1.1項「カスタマイズ可能なコンポジットの作成方法」でコア・アプリケーション・チームが作成したコンポジット・アーカイブのJARファイルを選択します。
「コンポジット名」フィールドで、コアSOAプロジェクトとは別の名前を入力します。
注意: SOAプロジェクトは選択しないでください。インポートするJARファイルには、新規SOAプロジェクトを作成する必要があります。 |
「カスタマイズ用にインポート」チェック・ボックスを選択します。
「ツール」メニューから、「プリファレンス」→「ロール」→「カスタマイズ開発者」の順に選択します。
Oracle JDeveloperを再起動します。
「カスタマイズ・コンテキスト」ダイアログに、使用可能なカスタマイズ・レイヤーとレイヤー値が表示されます。
図16-2に示すように、カスタマイズするレイヤーと値を選択します(この例では、industryレイヤーとCommunicationsの値が選択されています)。
SOAコンポジット・エディタで、BPELプロセスをダブルクリックしてOracle BPELデザイナにアクセスします。
編集できるのは、カスタマイズ可能に設定されているscopeアクティビティのみです。図16-3に示す例では、コア・アプリケーション・チームが1つのスコープのみをカスタマイズ可能に設定しています。BPELプロセスのその他のアクティビティは無効になり、編集できません。
SOAプロジェクトを右クリックして「デプロイ」を選択し、カスタマイズ・コンポジット(SAR)のJARファイルを作成します。
デプロイメントはカスタマイズ・ロールが使用可能な状態で起動されるため、現在のカスタマイズ・コンテキストに基づいて適切なレイヤーの基本コンポジットが自動的にマージされます。
アプリケーションをソース・コード・コントロール・システムにチェックインします。
JARファイルには、次のカスタマイズ・レベルの基本プロセスとして順に機能するマージされたコンポジットが格納されます。これで、JARファイルを顧客に提供できるようになりました。
この項では、顧客バージョンのSOAコンポジット・アプリケーションのカスタマイズに必要な手順の概要を示します。
顧客バージョンをカスタマイズする手順は、次のとおりです。
$JDEV_HOME/jdeveloper/jdev
のCustomizationLayerValues.xml
ファイルを開き、カスタマイズ・レイヤーのレイヤー値を追加します。たとえば、North America
とAsia Pacific
という値をsite
レイヤーに追加します。
<cust-layers xmlns="http://xmlns.oracle.com/mds/dt"> <cust-layer name="site"> <cust-layer-value value="communications" display-name="North America"/> <cust-layer-value value="communications" display-name="Asia Pacific"/> </cust-layer> </cust-layers>
Oracle JDeveloperを起動し、「デフォルトのロール」を選択します。
コア・アプリケーションまたはカスタマイズ・アプリケーションとは異なる名前で新しいSOAアプリケーションを作成します。
「ファイル」メニューから、「インポート」→「SOAアーカイブをSOAプロジェクトへ」の順に選択します。
「参照」をクリックし、第16.1.2項「バーティカル・アプリケーションのカスタマイズ方法」でバーティカル・アプリケーション・チームが作成したコンポジット・アーカイブのJARファイルを選択します。
「カスタマイズ用にインポート」チェック・ボックスを選択します。
「ツール」メニューから、「プリファレンス」→「ロール」→「カスタマイズ開発者」の順に選択します。
Oracle JDeveloperを再起動します。
「カスタマイズ・コンテキスト」ダイアログに、使用可能なカスタマイズ・レイヤーとレイヤー値が表示されます。
図16-4に示すように、カスタマイズするレイヤーと値を選択します(この例では、siteレイヤーとNorth Americaの値が選択されています)。
BPELプロセスをカスタマイズします。
SOAプロジェクトを右クリックし、「デプロイ」を選択して北米地域のJARファイル(SAR)を作成します。
アプリケーションをソース・コード・コントロール・システムにチェックインします。
この項では、SOAコンポジット・アプリケーションの次のバージョンへのアップグレードに必要な手順の概要を示します。
コンポジットをアップグレードする手順は、次のとおりです。
コア・アプリケーション・チームは、不具合の修正、製品の拡張および次のバージョンのコンポジットの作成を実施します。
第16.1.1項「カスタマイズ可能なコンポジットの作成方法」で作成したアプリケーションをソース・コントロールからチェックアウトします。
Oracle JDeveloperを起動し、「デフォルトのロール」を選択します。
不具合を修正し、製品を拡張します。
コンポジットをデプロイし、次のバージョンのJARファイルを作成します。
JARファイルをバーティカル・アプリケーション・チームに提供します。
バーティカル・アプリケーション・チームは、新しい基本コンポジットをカスタマイズしてJARファイル・バージョンを作成します。
第16.1.2項「バーティカル・アプリケーションのカスタマイズ方法」で作成したアプリケーションをソース・コントロールからチェックアウトします。
Oracle JDeveloperを起動し、「デフォルトのロール」を選択します。
チェックアウトしたアプリケーションを開きます。
「アプリケーション・ナビゲータ」でプロジェクト・ノードを選択し、現在のプロジェクト・コンテキストを設定します。次の手順のインポートでは、選択したプロジェクトにSOAアーカイブをインポートして基本をアップグレードするため、この手順は重要です。
Oracle JDeveloperの「ファイル」メニューから、第16.1.4.1項「コア・アプリケーション・チーム」で作成された新規リビジョンのJARファイルをインポートします。
「ツール」メニューから、「プリファレンス」→「ロール」→「カスタマイズ開発者」の順に選択します。
Oracle JDeveloperを再起動します。
「カスタマイズ・コンテキスト」ダイアログで、カスタマイズするレイヤーと値を選択します(たとえば、industryレイヤーとCommunicationsの値を選択します)。
BPELプロセスを開き、前の手順で選択したコンテキストのレイヤーに、新しい基本コンポーネントをマージできるかどうかを確認します。
ログ・ウィンドウで潜在的な警告およびエラーを確認します。
必要な場合は、プロセスを変更してエラーおよび警告を修正します。これにより、レイヤーがバックグラウンドで編集されます。
コンポジットをデプロイして、カスタマイズされたJARファイルの次のリビジョンを作成し、アップグレードする顧客に提供します。
顧客は、第16.1.4.2「バーティカル・アプリケーション・チーム」のバーティカル・アプリケーション・チームと同じ手順に従って、新しい基本コンポジットに独自のレイヤーを適用します。