この章の構成は、次のとおりです。
ここでは、サンプルを使用するために必要なコンポーネントとシステムの準備方法について説明します。
前提条件
この例を使用するために必要なインストールと構成の要件は次のとおりです。
Microsoft Windows XPまたはWindows Server 2003が動作し、1GBのRAMを搭載したパーソナル・コンピュータであること。
使用するVSAMアダプタをOracle Application Serverに配置してあること。
OracleAS VSAMアダプタをアウトバウンド処理用に構成してあること。 「アウトバウンド相互作用の生成」を参照してください。
Oracle JDeveloperをインストールしてあること。
レガシー・アダプタを配置してあること。
必要なマシンがロードされたOracle Studioがあること。「Oracle StudioでのIBM z/OSプラットフォームの設定」を参照してください。
この章では、BPELを使用してOracle VSAMアダプタを使用する場合の構成手順の例を示します。これらの例を使用する前に、次のことをよく理解していることが必要です。
J2CA接続の作成方法。 詳細は、第3章「デプロイおよびOracle OC4Jコンテナとの統合」を参照してください。
Oracle Studioを使用したOracleAS Adapters for VSAMの構成方法。詳細は、「Oracle Connectの構成」を参照してください。
OracleAS Adapters for VSAMとBPELを統合するには、次のプロセスを実行します。
デザインタイム: 「Oracle Connectの構成」で説明されているように、OracleAS Adapters for VSAMはOracle Studioで構成します。
ランタイム: BPELプロセスをJDeveloperで配置した後、構成をテストできます。「ランタイムの構成」を参照してください。
この項では、OracleAS Adapter for VSAMに接続するBPELアウトバウンド・プロセスの作成方法について説明します。 アウトバウンド用のVSAMアダプタの構成方法の詳細は、「OracleAS Adapter for VSAMの相互作用のモデリング」を参照してください。
BPEL Process Managerでプロセスを構成するには、JDeveloperを使用します。 この項では、JDeveloperを使用してVSAMリソース・アダプタ用のBPELアウトバウンド・プロセスを作成する方法について説明します。次のセクションでは、BPELアウトバウンド・プロセスの配置方法について説明します。次の手順では、このアウトバウンド・サンプルを実行するために必要な手順について説明します。
アウトバウンド・プロセスを設計する前に、OracleAS Adapter for VSAMとBPEL Process Managerの統合と接続を確認します。
アウトバウンド・プロセスの設計をはじめる前に、次のことを実行する必要があります。
OracleAS Adapter for VSAMをOC4Jと統合します。 詳細は、「OC4JとのOracleAS Adapter for VSAMの統合」を参照してください。
J2CA VSAMリソース・アダプタに対する接続を構成します。この作業は、コネクション・ファクトリを作成して行います。 作業方法の詳細は、「J2CA 1.5 VSAMアダプタの構成」を参照してください。
スキーマ・ファイルを記述します。まず、Oracle Studioを使用してfindDoctor
という相互作用を作成します。 findDoctor
相互作用の作成方法の詳細は、「アウトバウンド相互作用のOracleAS Adapter for VSAMの構成」を参照してください。
FINDDOCTORSchema.xsd
というスキーマ・ファイルを記述してメッセージ・スキーマを定義します。findDoctor.xsd
ファイルの例を次に示します。
<schema targetNamespace="http://xmlns.oracle.com/Esb/findDoctorData" xmlns:cust="http://xmlns.oracle.com/Esb/findDoctorData" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="findDoctorata" type="cust:findDoctorDataType"/> <complexType name="findDoctorDataType"> <sequence> <element name="Record1" type="string"/> </sequence> </complexType></schema>
BPEL PMサーバー接続をJDeveloperで作成します。
相互作用のためのWSDLを作成します。この作業は、JDeveloperでエンドポイントの作成を始める前に、JDeveloper接続エクスプローラで行います。作成した相互作用に基づいて、JDeveloperによりWSDLが自動的に作成されます。接続エクスプローラで、Oracle Studioで構成したOracle Connectを参照し(「IBM z/OS SeriesプラットフォームでのOracle Connectのインストール」を参照)、「findDoctor」という相互作用をダブルクリックし、WSDLを表示して作成します。
findDoctor
相互作用の作成方法およびWSDLの詳細は、「アウトバウンド相互作用のOracleAS Adapter for VSAMの構成」を参照してください。
この項では、2つのBPELアウトバウンド・プロセスを配置するために必要なデザインタイムの手順について説明します。これらのプロセスでは、FINDDOCTORというWebサービスが使用されています。 このサービスでは、医師のリストがVSAMデータから検索されます。アウトバウンド・プロセスを作成するために必要な手順は、次のとおりです。
アウトバウンド用のBPELプロジェクトを作成するには、次の作業をします。
JDeveloperの「表示」メニューで、「アプリケーション・ナビゲータ」を選択します。
アプリケーション・ナビゲータで、使用するアプリケーションを右クリックして、「新規プロジェクト」を選択します。「新規ギャラリ」ダイアログ・ボックスが表示されます。
「項目」リストで、「BPELプロセス・プロジェクト」を選択して、「OK」をクリックします。「BPELプロジェクト作成ウィザード-プロジェクトの設定」ダイアログ・ボックスが表示されます。
「BPELプロジェクト作成ウィザード-プロジェクトの設定」ダイアログ・ボックスで、次の作業をします。
BPELプロセスの名前を入力します。たとえば、BPELOutbound1と入力します。
「テンプレート」リストで、「空のBPELプロセス」を選択します。
「次へ」をクリックして、入出力のスキーマ要素を確認するか、「終了」をクリックします。
DOCTORデータを読み取るためのデータベース・アダプタを作成します。相互作用に定義されているSQL文がSOAで実行されて、リソース・アダプタに渡されます。次に、リソース・アダプタで情報が処理されて、データが返されます。次の作業をして、データベース・アダプタを作成します。
「パートナ・リンクです。」をビジュアル・エディタのサービス・レーンにドラッグします。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
アダプタ・ウィザード・ボタンをクリックします。前述の図に示すとおり、このボタンは、「パートナ・リンクの作成」ダイアログ・ボックスの「WSDL設定」セクションの3番目のボタンです。
アダプタ構成ウィザードに、次の情報を入力します。
ステップ1、「アダプタ・タイプ」: 「データベース・アダプタ」を選択します。
ステップ2、「サービス名」: findDoctor
と入力します。
ステップ3、「サービス接続」。このステップでは、使用するデータを選択します。
「新規」をクリックして、「接続の作成」ウィザードを開きます。
ステップ1: 次の接続タイプを選択します。
接続名: dbConnection1
接続タイプ: Oracle (JDBC)
ステップ2: 認証します。
接続で使用するユーザー名、パスワード、ロールを入力します。
ステップ3: 接続情報を入力します。
ドライバ・タイプ(シン、oci)、JDBCが配置されるコンピュータの名前およびそのポート番号を入力します。この情報は、JDBCコネクション・ファクトリで定義した情報と同じにします。 「J2CA 1.5 VSAMアダプタの構成」を参照してください。
「サービス名」を選択して、findDoctorと入力します。
「終了」をクリックして、アダプタ構成ウィザードに戻ります。
ステップ4、「ファイル・ディレクトリ」
ディレクトリ名は次の方法で指定します: 「物理パス」を選択します。
着信ファイル用のディレクトリ(物理パス): 着信ファイルを保存するフォルダへのフルパスを入力します。たとえば、C:\temp
のように入力します。
ステップ5、「ファイルのフィルタ処理」
インクルード・ファイルの名前パターン: *xml
と入力します。
ステップ6、「ファイル・ポーリング」:
ポーリング頻度: 1
と入力して、リストから「秒」を選択します。
ステップ7、「メッセージ」:
スキーマ・ファイルのURL: findDoctor.xsd
と入力します。
スキーマ要素: FindDoctorData
と入力します。
「Finish」をクリックします。
このステップでは、BPELプロセスを設計します。BPELアウトバウンド・プロセスを設計するには、次の作業をします。
「コンポーネント・パレット」-「プロセス・アクティビティ」ペインから、「BPELアウトバウンド・プロセス用のBPELプロジェクトの作成」のステップで作成したプロセスのエディタに「Receive」、「Assign」および「Invoke」の各アクティビティをドラッグします。
ビジュアル・エディタで、「Receive_1」アクティビティをfindDoctor
データベース・アダプタに接続します。Receiveの編集ダイアログ・ボックスが開きます。
Receiveの編集ダイアログ・ボックスで、次の作業をします。
Receiveアクティビティの名前を入力します。たとえば、Receive_1
のように入力します。
変数を必ず作成します。「変数」ダイアログ・ボックスで「OK」をクリックします。
「インスタンスの作成」チェック・ボックスが選択されていることを確認します。
「OK」をクリックし、ダイアログ・ボックスを閉じて、情報を受け入れます。
この手順では、Oracle StudioでIMD/DB構成を作成したときに定義したデータベース・アダプタへのパートナ・リンクを作成します。パートナ・リンクを作成するには、次の作業をします。
「パートナ・リンクです。」をビジュアル・エディタのサービス・レーンにドラッグします。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「パートナ・リンクの作成」ダイアログ・ボックスで、「サービス・エクスプローラ」ボタンをクリックします。このボタンは左から2番目のボタンで、前のステップの図に示されています。「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
サービス・エクスプローラで、使用する接続、アダプタ、アプリケーションの順に開き、使用するWSDLファイルが見つかるまで参照を続けます。ファイルを選択し、「OK」をクリックします。
選択したWSDLファイルへのパスが、「パートナ・リンクの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに表示されます。WSDLファイルに定義されているパートナ・リンクが、「パートナ・リンク・タイプ」フィールドに表示されます。
「パートナ・リンクの作成」ダイアログ・ボックスに、次の情報を入力します。
「パートナ・ロール」リストで、「FINDDOCTORRole」を選択します。
「マイ・ロール」リストで、「指定されていません」を選択します。
ビジュアル・エディタに追加したInvoke_1
アクティビティを編集して、FINDDOCTOR
サービスが起動するようにします。Invoke_1
アクティビティを編集するには、次のようにします。
Invoke_1
アクティビティをダブルクリックして編集します。「Invoke」ダイアログ・ボックスが表示されます。
「Invoke」ダイアログ・ボックスで、「パートナ・ロールWebサービス・インタフェース」セクションに次の値が設定されていることを確認します。
パートナ・リンク: FINDDOCTOR
操作: FINDDOCTOR
「入力変数の自動作成」ボタンをクリックします。このボタンは、「入力変数」フィールドの右の最初のボタンで、前のステップの図に示されています。「変数の作成」ダイアログ・ボックスに入力変数が表示されます。
「入力変数」はInvoke_1_FINDDOCTOR_InputVariable
にします。「OK」をクリックします。
「出力変数」フィールドの「入力変数の自動作成」ボタンをクリックします。
「出力変数」はInvoke_1_FINDDOCTOR_OutputVariable
にします。「OK」をクリックします。
Assignアクティビティを使用して、リソース・アダプタに値を割り当てます。Assign_1
アクティビティを編集するには、次のようにします。
Assign_1
アクティビティをダブルクリックして編集します。「Assign」ダイアログ・ボックスが表示されます。
「作成」リストをクリックして、「コピー操作」を選択します。「コピー操作の作成」ダイアログ・ボックスが表示されます。
「From」側で「変数」→「Read_1_SelectDoctor_InputVariable」→「nsx:findDoctor」の順に開いて、「Record1」を選択します。
「To」側で、「変数」→「Read_1_SelectDoctor_InputVariable」→「input:findDoctor」→「nsx:Record1」の順に開いて、「Record1_data」を選択します。
「OK」をクリックします。「Assign」ウィンドウの「コピー操作」タブが更新されて、作成した規則が表示されます。
次の図は、最後のプロセスの概要を示しています。
この項では、プロジェクトをテストして、アウトバウンド・プロセスが正しく実行されることを確認するための方法について説明します。アウトバウンド・プロセスをテストするには、次の作業をします。
次の例に示すように、ファイルを作成してFindDoctor.xml
という名前にします。
<?xml version="1.0" encoding="UTF-8"?><CU:FindDoctorData xmlns:CU="http://xmlns.oracle.com/Esb/FindDoctorData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Record1>VSAM</Record1></CU:FindDoctorData>
最初のアダプタ用に定義したC:\temp
フォルダにファイルを保存します。SOAサーバーがファイルを読み取って処理を完了すると、ファイルは削除されます。
2番目のアダプタで定義したC:\tempOut
フォルダを開きます。次の内容のファイルがこのフォルダにコピーされます。
<?xml version="1.0"?> <findDoctorData xmlns="http://xmlns.oracle.com/Esb/findDoctorData"> <Record1 xmlns>="">VSAM</Record1>