この章の内容は、次のとおりです。
この項では、サンプルを使用するために必要なコンポーネントとシステムの準備方法について説明します。この項の内容は、次のとおりです。
この例を使用するためのインストール要件および構成要件は、次のとおりです。
Microsoft Windows XP、Windows Vista、Windows Server 2003またはWindows Server 2008を実行している、1GBのRAMを搭載したパーソナル・コンピュータ。
使用するCDCアダプタは、Oracle Application Serverにデプロイされている必要があります。
OracleAS CDC Adapterは、インバウンド処理のための構成が行われている必要があります。「アプリケーション・サーバーでのDB2 CDC Adapterの構成」を参照してください。
Oracle JDeveloperがインストールされている必要があります。
CDCアダプタがデプロイされている必要があります。
必要なマシンがロードされたOracle Studio。「Oracle Connectへのアクセスの保護」を参照してください。
この章では、BPELおよびメディエータをOracle CDCアダプタとあわせて使用する場合の構成手順の例について説明します。これらの例に取り組む前に、次の方法について理解しておく必要があります。
J2CA接続の作成方法。詳細は、「OracleAS CDC Adapter for DB2のJCA構成ファイルの構成」を参照してください。
Oracle Studioを使用したOracleAS Adapters for DB2の構成方法。詳細は、「アプリケーション・サーバーでのDB2 CDC Adapterの構成」を参照してください。
OracleAS CDC Adapters for DB2とBPELの統合プロセスは、次のとおりです。
デザインタイム: Oracle Studioを使用して、「OracleAS CDC Adapter for DB2でのチェンジ・データ・キャプチャの設定」で説明されているように、OracleAS Adapter for DB2を構成します。
ランタイム: JDeveloperを使用してBPELプロセスをデプロイした後に、構成内容をテストできます。「ランタイムの構成」を参照してください。
インバウンド・プロセスを設計する前に、次の手順を実行する必要があります。
「DB2 CDC Adapterの構成」のタスクを実行して、JCA構成ファイルの作成に必要なCDCソリューションとアダプタを作成します。
J2CA CDCリソース・アダプタの接続を構成します。この構成は、コネクション・ファクトリを作成して行います。
詳細は、「DB2 CDC Adapterコネクション・ファクトリの構成」を参照してください。
相互作用のためのWSDLファイルとバインディング・ファイルを作成します。Oracle Studioでこの作業を行ってから、JDeveloperでエンドポイントの作成を開始します。Oracle Studioでは、作成した相互作用に基づいて、自動的にWSDLファイルとバインディング(jca)ファイルが作成されます。これらのファイルの作成方法の詳細は、「JCA構成ファイルの作成」を参照してください。
この項では、Adabas CDCアダプタに接続するBPELインバウンド・プロセスを作成する方法について説明します。インバウンド用のAdabas CDCアダプタの構成方法の詳細は、「OracleAS CDC Adapter for DB2でのチェンジ・データ・キャプチャの設定」を参照してください。
BPEL Process Managerを使用するプロセスを構成するには、JDeveloperを使用します。この項では、JDeveloperを使用して、DB2アダプタ用のBPELインバウンド・プロセスを作成する方法について説明します。このインバウンド・サンプルを実行するには、2つの構成タイプが必要です。
インバウンド・プロセスを設計する前に、必ず、OracleAS CDC Adapter for AdabasとBPEL Process Managerを統合して接続してください。詳細は、「アプリケーション・サーバーでのDB2 CDC Adapterの構成」を参照してください。
また、jcaファイル内のJdbcDataSource
の値を入力する必要があります。次に、この値を追加するjcaファイルの場所を示します。
この項では、BPELインバウンド・プロセスをデプロイするために必要なデザインタイムの手順について説明します。
インバウンド用のBPELプロジェクトを作成するには、次の手順を実行します。
JDeveloperで、新しいSOAプロジェクトを作成します。
SOAプロジェクトを右クリックし、「新規」を選択します。「新規ギャラリ」が表示されます(図5-2を参照)。
「カテゴリ」リストで、「SOA層」を開いて、「サービス・コンポーネント」を選択します。
「項目」リストで、「BPELプロセス」を選択して、「OK」をクリックします。「BPELプロセスの作成」画面が表示されます(図5-3を参照)。
「BPELプロセス」画面で、次のように入力します。
BPELプロセスの名前を入力します(例: BPELInbound1)。
「テンプレート」リストで、「サービスを後で定義」を選択します。
「OK」をクリックします。ビジュアル・エディタにBPELプロセスが表示されます。
インバウンド・プロセスを作成するためのパートナ・リンクとして、サード・パーティ・アダプタを使用します。SOAによって、相互作用に定義されているSQL文が実行され、そのSQL文がリソース・アダプタに渡されます。サード・パーティ・アダプタを作成するには、次の手順を実行します。
左側の「プロジェクト」領域で、composite.xml
をダブルクリックします。ビジュアル・エディタ下部の「設計」タブをクリックします(必要な場合)。図5-4に、ビジュアル・エディタのコンポジット・ビューを示します。
「サード・パーティ・アダプタ」を、ビジュアル・エディタの「公開されたサービス」レーンにドラッグします(図5-5を参照)。
「サード・パーティ・アダプタ」をJDeveloperにドラッグすると、「サード・パーティ・アダプタ・サービスの作成」画面が表示されます(図5-6を参照)。
「WSDL URL」フィールドの横にあるボタンをクリックして、使用するWSDLファイルを参照します。
「タイプ」リストで、「サービス」を選択します。
「JCAファイル」フィールドの横にあるボタンをクリックして、使用するバインディング・ファイルを参照します。
「OK」をクリックして閉じます。この時点で、コンポジット設計は図5-7のようになっているはずです。
「BPELインバウンド・プロセスの設計」に進みます。
インバウンド・プロセスのプロシージャ設計を開始する前に、バインディング(jca)ファイルで一部のアクティブ化仕様プロパティの構成が必要な場合があります。インバウンド・バインディング・ファイルの使用の詳細は、「DB2 CDC Adapterコネクション・ファクトリの構成」を参照してください。
BPELインバウンド・プロセスを定義するには、次の手順を実行します。
コンポジットで、BPELプロセスとサード・パーティ・アダプタを接続します(図5-8を参照)。
BPELプロセスをダブルクリックします。
コンポーネント・パレットのBPELプロセス・アクティビティ・セクションの「Receive」と「Assign」のプロセスを、エディタにドラッグします(図5-9を参照)。
ビジュアル・エディタで、「Receive」アクティビティとサード・パーティ・アダプタ・サービス(Service1
)を接続します。「Receiveの編集」ダイアログ・ボックスが表示されます(図5-10を参照)。
「Receiveの編集」ダイアログ・ボックスで、次の手順を実行します。
変数を作成します。「変数」フィールドの右のプラス記号をクリックし、表示される「変数の作成」ダイアログ・ボックスで「OK」をクリックします。
「インスタンスの作成」チェック・ボックスが選択されていることを確認してください。
ビジュアル・エディタの(x)をクリックします(図5-11を参照)。「変数」画面が表示されます。
「変数」画面で、プラス記号をクリックして、「変数の作成」画面を開きます。
「変数の作成」画面で、「メッセージ・タイプ」を選択し、フィールドの横にあるアイコンをクリックして、「タイプ・チューザ」を開きます。
「タイプ・チューザ」で、「メッセージ・タイプ」フォルダの下のHOSPITALStream
が見つかるまで、ツリーのファイルを開きます(図5-12を参照)。
「OK」をクリックし、さらに「変数の作成」画面で「OK」をクリックします。
Assign_1
プロセスをダブルクリックして、「割当て」画面を開きます。
「割当て」画面で、上部に表示されているプラス記号をクリックし、「コピー操作」を選択します。「コピー操作の作成」画面が表示されます(図5-13を参照)。
「コピー操作の作成」画面の「From」と「To」の両方で、Variable_1
、さらにHOSPITALstream
を開いて、ns2:HOSPITALstream
を選択します(図5-13を参照)。
「OK」をクリックして、「コピー操作の作成」画面を閉じます。さらに「OK」をクリックして、「割当て」画面を閉じ、情報を確定します。
プロジェクトをデプロイします。
Oracle Application Serverにプロジェクトをデプロイするには、次の手順を実行します。
アプリケーション・ナビゲータで、プロジェクトを右クリックして「デプロイ」を見つけ、デプロイするプロジェクトを選択します。
デプロイ・ウィザードで、「アプリケーション・サーバーにデプロイ」を選択します。
ウィザードの最後まで「次へ」をクリックし、「終了」をクリックしてデプロイします。
この項では、プロジェクトをテストする方法と、プロジェクトを実行してインバウンド・プロセスの正常な実行を確認する方法について説明します。XMLユーティリティを使用して、作成したファイル・アダプタに定義されているイベントをOracle Connectでコールします。「XMLユーティリティを使用したイベントのトリガー」を参照してください。このイベントはOracle Connectからコールされるため、インバウンド・イベントです。OracleASのSOAサービスによって発生するイベントは、アウトバウンド・イベントです。
XMLユーティリティを使用して、要求するイベントをトリガーするSQL文を作成します。イベントをトリガーするには、次の手順を実行します。
「スタート」メニューから、「すべてのプログラム」→「Oracle」→サーバー・ユーティリティ→XMLユーティリティを選択します。XMLユーティリティが表示されます。
XMLユーティリティの接続セクションに、次の情報を入力します。
サーバー: OracleAS Adapter for DB2が配置されているマシンの名前。
ワークスペース: OracleAS Adapter for DB2が配置されているワークスペースの名前。このフィールドのリストには、使用可能なワークスペースのリストが表示されます。このワークスペースは、Oracle Studioで定義します。
アダプタ: OracleAS Adapter for DB2の名前。このフィールドのリストには、使用可能なアダプタのリストが表示されます。このアダプタは、Oracle Studioで定義します。
接続をクリックして、選択したマシンに接続します。
相互作用フィールドに、コールする相互作用の名前を入力します。これは、Oracle Studioで定義します。
入力ウィンドウに、相互作用をコールする文を入力します。前述の図の例を参考にしてください。
実行をクリックします。成功した場合は、次の例のような結果が返されます。
<?xml version="1.0"?> <bigOrderEvent ORDER_ID="1"ORDERED_BY="1" xmlns+"noNamespace://ordersQueue"/>
この項では、OracleAS CDC Adapter for Adabasに接続するメディエータ・インバウンド・プロセスを作成する方法について説明します。
メディエータを使用するプロセスを構成するには、JDeveloperを使用します。この項では、JDeveloperを使用して、CDCリソース・アダプタ用のメディエータ・インバウンド・プロセスを作成する方法について説明します。次の項で、メディエータ・インバウンド・プロセスを作成する方法について説明します。
インバウンド・プロセスを設計する前に、次の手順を実行する必要があります。
OracleAS CDC Adapter for DB2を統合します。詳細は、「アプリケーション・サーバーでのDB2 CDC Adapterの構成」を参照してください。
J2CA CDCリソース・アダプタの接続を構成します。この構成は、コネクション・ファクトリを作成して行います。この構成方法の詳細は、「OracleAS CDC Adapter for DB2のJCA構成ファイルの構成」を参照してください。
相互作用のためのWSDLファイルとバインディング・ファイルを作成します。Oracle Studioでこの作業を行ってから、JDeveloperでエンドポイントの作成を開始します。Oracle Studioでは、作成した相互作用に基づいて、自動的にWSDLファイルとバインディング(jca)ファイルが作成されます。これらのファイルの作成方法の詳細は、「JCA構成ファイルの作成」を参照してください。
インバウンド・メディエータ・プロジェクトを作成するには、次の手順を実行します。
JDeveloperで、新しいSOAプロジェクトを作成します。
SOAプロジェクトを右クリックし、「新規」を選択します。「新規ギャラリ」が表示されます(図5-15を参照)。
「カテゴリ」リストで、「SOA層」を開いて、「サービス・コンポーネント」を選択します。
「項目」リストで、「メディエータ」を選択して、「OK」をクリックします。「メディエータの作成」画面が表示されます(図5-16を参照)。
「BPELプロセス」画面で、次のように入力します。
メディエータ・プロセスの名前を入力します(例: MedInbound1)。
「テンプレート」リストで、「サービスを後で定義」を選択します。
「OK」をクリックします。ビジュアル・エディタにメディエータ・プロセスが表示されます。
インバウンド・メディエータを作成するためのパートナ・リンクとして、サード・パーティ・アダプタを使用します。SOAによって、相互作用に定義されているSQL文が実行され、そのSQL文がリソース・アダプタに渡されます。サード・パーティ・アダプタを作成するには、次の手順を実行します。
左側の「プロジェクト」領域で、composite.xml
をダブルクリックします。ビジュアル・エディタ下部の「設計」タブをクリックします(必要な場合)。図5-17に、ビジュアル・エディタのコンポジット・ビューを示します。
「サード・パーティ・アダプタ」を、ビジュアル・エディタの「公開されたサービス」レーンにドラッグします(図5-18を参照)。
「サード・パーティ・アダプタ」をJDeveloperにドラッグすると、「サード・パーティ・アダプタ・サービスの作成」画面が表示されます(図5-19を参照)。
「WSDL URL」フィールドの横にあるボタンをクリックして、使用するWSDLファイルを参照します。
「タイプ」リストで、「サービス」を選択します。
「JCAファイル」フィールドの横にあるボタンをクリックして、使用するバインディング・ファイルを参照します。
「OK」をクリックして閉じます。この時点で、コンポジット設計は図5-20のようになっているはずです。
「ファイル・アダプタの作成」に進みます。
ファイル・アダプタを作成するには、次の手順を実行します。
コンポジットで、メディエータとサード・パーティ・アダプタを接続します。
コンポーネント・パレットのSOAセクションの右にあるファイル・アダプタを、ビジュアル・エディタの「外部参照」レーンにドラッグします。アダプタ構成ウィザードが表示されます。
アダプタ構成ウィザードの最初の画面で、アダプタ・サービスの名前を入力し、「次へ」をクリックします。
「アダプタ・インタフェース」画面で、「既存のWSDLのインポート」を選択します。「インバウンド・プロセスにサード・パーティ・アダプタを使用」で選択したものと同じWSDLファイルを選択します。図5-21に、「アダプタ・インタフェース」画面を示します。
「操作」画面で、「操作タイプ」として「Write File」を選択します。
「ファイル構成」画面で、ファイルが書き込まれるディレクトリのパスと、ファイルのネーミング規則を入力します(図5-22を参照)。
ウィザードの残りの各画面では、「次へ」をクリックして、デフォルト設定を使用します。最後に達したら、「終了」をクリックします。
メディエータとファイル・アダプタを接続します。
「操作の選択」画面で、両方の操作に「Hospital」を選択します。「OK」をクリックします。
「インバウンド・メディエータの設計」に進みます。
この手順では、BPELプロセスを設計します。インバウンド・メディエータを設計するには、次の手順を実行します。
コンポジットで、メディエータをダブルクリックします。
「フィルタ式」を開きます(図5-23を参照)。
「マッピング・ルールの作成とファイルのマップ」に進みます。
マッピング・ファイルを作成してファイルをマップするには、次の手順を実行する必要があります。
「フィルタ式」画面で、「次を使用して変換」フィールドの横にあるアイコンをクリックします(図5-23を参照)。「リクエスト・トランスフォーメーション・マップ」画面が表示されます(図5-24を参照)。
「リクエスト・トランスフォーメーション・マップ」で、「新規マッパー・ファイルの作成」を選択します。デフォルト値を使用します。
「OK」をクリックします。
ビジュアル・エディタで、「HOSPITALStream
to HOSPITALStream
」タブをクリックします。これにより、マッパーが表示されます。
legacyReq:HOSPITALStream
要素を接続します。図5-25で、これを赤色で示します。次に、ノードを開いて接続を表示します。
注意: JDeveloperでは赤色の線は表示されません。
保存してから、プロジェクトをデプロイします。
Oracle Application Serverにプロジェクトをデプロイするには、次の手順を実行します。
アプリケーション・ナビゲータで、プロジェクトを右クリックして「デプロイ」を選択し、デプロイするプロジェクトを選択します。
デプロイ・ウィザードで、「アプリケーション・サーバーにデプロイ」を選択します。
ウィザードの最後まで「次へ」をクリックし、「終了」をクリックしてデプロイします。