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