ヘッダーをスキップ
Oracle Application Server Adapters for IMS/DBユーザーズ・ガイド
10g リリース3(10.1.3.4)
B53275-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 BPEL Process Managerの使用例

この章の構成は、次のとおりです。

はじめに

ここでは、サンプルを使用するために必要なコンポーネントとシステムの準備方法について説明します。

前提条件

この例を使用するために必要なインストールと構成の要件は次のとおりです。

この章では、BPELを使用してOracle IMS/DBアダプタを使用する場合の構成手順の例を示します。これらの例を使用する前に、次のことをよく理解していることが必要です。

OracleAS adapters for IMS/DBとBPELを統合するには、次の作業をします。

BPELアウトバウンド・プロセスの配置

この項では、OracleAS Adapter for IMS/DBに接続するBPELアウトバウンド・プロセスの作成方法について説明します。 アウトバウンド用のIMS/DBアダプタの構成方法の詳細は、「OracleAS Adapter for IMS/DBの相互作用のモデリング」を参照してください。

BPEL Process Managerでプロセスを構成するには、JDeveloperを使用します。 この項では、JDeveloperを使用してIMS/DBリソース・アダプタ用のBPELアウトバウンド・プロセスを作成する方法について説明します。次の項では、BPELアウトバウンド・プロセスの配置方法について説明します。次の手順では、このアウトバウンド・サンプルを実行するために必要な手順について説明します。

アウトバウンド・プロセスを設計する前に、OracleAS Adapter for IMS/DBとBPEL Process Managerの統合と接続を確認します。 詳細は、第4章「OracleAS Adapters for IMS/DBとOracle BPEL Process Managerの統合」を参照してください。

最初のタスク

アウトバウンド・プロセスの設計をはじめる前に、次のことを実行する必要があります。

  • OracleAS Adapter for IMS/DBとOC4Jを統合します。 詳細は、「OracleAS Adapter for IMS/DBとOC4Jの統合」を参照してください。

  • J2CA IMS/DBリソース・アダプタに対する接続を構成します。この作業は、コネクション・ファクトリを作成して行います。 作業方法の詳細は、「J2CA 1.5 IMS/DBアダプタの構成」を参照してください。

  • スキーマ・ファイルを記述します。まず、Oracle Studioを使用してfindDoctorという相互作用を作成します。 findDoctor相互作用の作成方法の詳細は、「アウトバウンド相互作用のOracleAS Adapter for IMS/DBの構成」を参照してください。

    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="findDoctorData" 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を表示して作成します。 作業方法の詳細は、「Oracle BPEL Process Managerの構成」を参照してください。

    findDoctor相互作用の作成方法およびWSDLの詳細は、「アウトバウンド相互作用のOracleAS Adapter for IMS/DBの構成」を参照してください。

デザインタイムの構成

この項では、2つのBPELアウトバウンド・プロセスを配置するために必要なデザインタイムの手順について説明します。これらのプロセスでは、FINDDOCTORというWebサービスが使用されています。 このサービスでは、医師のリストがIMSのデータから検索されます。アウトバウンド・プロセスを作成するために必要な手順は、次のとおりです。

BPELアウトバウンド・プロセス用のBPELプロジェクトの作成

アウトバウンド用のBPELプロジェクトを作成するには、次の作業をします。

  1. JDeveloperの「表示」メニューで、「アプリケーション・ナビゲータ」を選択します。

  2. アプリケーション・ナビゲータで、使用するアプリケーションを右クリックして、「新規プロジェクト」を選択します。「新規ギャラリ」ダイアログ・ボックスが表示されます。

  3. 「項目」リストで、「BPELプロセス・プロジェクト」を選択して、「OK」をクリックします。「BPELプロジェクト作成ウィザード-プロジェクトの設定」ダイアログ・ボックスが表示されます。

    図5-1 アウトバウンド・プロジェクトの設定

    プロジェクト設定の表示画面
    「図5-1 アウトバウンド・プロジェクトの設定」の説明

  4. 「BPELプロジェクト作成ウィザード-プロジェクトの設定」ダイアログ・ボックスで、次の作業をします。

    • BPELプロセスの名前を入力します。たとえば、BPELOutbound1と入力します。

    • 「テンプレート」リストで、「空のBPELプロセス」を選択します。

  5. 「次へ」をクリックして、入出力のスキーマ要素を確認するか、「終了」をクリックします。

DOCTOR表を読み取るためのデータベース・アダプタの作成

DOCTOR表を読み取るためのデータベース・アダプタを作成します。 相互作用に定義されているSQL文がSOAで実行されて、リソース・アダプタに渡されます。次に、リソース・アダプタで情報が処理されて、データが返されます。次の作業をして、データベース・アダプタを作成します。

  1. 「パートナ・リンクです。」をビジュアル・エディタのサービス・レーンにドラッグします。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    図5-2 データベース・アダプタのパートナ・リンク

    このイメージは「パートナ・リンクの作成」ダイアログ・ボックスを示しています。
    「図5-2 データベース・アダプタのパートナ・リンク」の説明

  2. アダプタ・ウィザード・ボタンをクリックします。前述の図に示すとおり、このボタンは、「パートナ・リンクの作成」ダイアログ・ボックスの「WSDL設定」セクションの3番目のボタンです。

  3. アダプタ構成ウィザードに、次の情報を入力します。

    1. ステップ1、「アダプタ・タイプ」: 「データベース・アダプタ」を選択します。

    2. ステップ2、「サービス名」: findDoctorと入力します。

    3. ステップ3、「サービス接続」。 このステップでは、使用するデータベースを選択します。

      「新規」をクリックして、「データベース接続の作成」ウィザードを開きます。

      ステップ1: 次の接続タイプを選択します。

      接続名: dbConnection1

      接続タイプ: Oracle (JDBC)

      ステップ2: 認証します。

      データベース接続で使用するユーザー名、パスワード、ロールを入力します。

      ステップ3: データベース接続情報を入力します。

      ドライバ・タイプ(シン、oci)、JDBCが配置されるコンピュータの名前およびそのポート番号を入力します。この情報は、JDBCコネクション・ファクトリで定義した情報と同じにします。 「J2CA 1.5 IMS/DBアダプタの構成」を参照してください。

      「サービス名」を選択して、findDoctorと入力します。

      「終了」をクリックして、アダプタ構成ウィザードに戻ります。

    4. ステップ4、「ファイル・ディレクトリ」

      ディレクトリ名は次の方法で指定します: 「物理パス」を選択します。

      着信ファイル用のディレクトリ(物理パス): 着信ファイルを保存するフォルダへのフルパスを入力します。たとえば、C:\tempのように入力します。

    5. ステップ5、「ファイルのフィルタ処理」

      インクルード・ファイルの名前パターン: *xmlと入力します。

    6. ステップ6、「ファイル・ポーリング」:

      ポーリング頻度: 1と入力して、リストから「秒」を選択します。

    7. ステップ7、「メッセージ」:

      スキーマ・ファイルのURL: findDoctor.xsdと入力します。

      スキーマ要素: FindDoctorDataと入力します。

  4. 「Finish」をクリックします。

文字列を読み取るためのBPELアウトバウンド・プロセスの設計

このステップでは、BPELプロセスを設計します。BPELアウトバウンド・プロセスを設計するには、次の作業をします。

  1. 「コンポーネント・パレット」-「プロセス・アクティビティ」ペインから、「BPELアウトバウンド・プロセス用のBPELプロジェクトの作成」のステップで作成したプロセスのエディタに「Receive」、「Assign」および「Invoke」の各アクティビティをドラッグします。

    図5-3 アウトバウンド・プロセス

    このイメージはプロセスを作成する場所を示しています
    「図5-3 アウトバウンド・プロセス」の説明

  2. ビジュアル・エディタで、「Receive_1」アクティビティをfindDoctorデータベース・アダプタに接続します。Receiveの編集ダイアログ・ボックスが開きます。

    図5-4 アウトバウンド受信のプロパティ

    この画面は、Receiveの編集ダイアログ・ボックスを示しています
    「図5-4 アウトバウンド受信のプロパティ」の説明

  3. Receiveの編集ダイアログ・ボックスで、次の作業をします。

    • Receiveアクティビティの名前を入力します。たとえば、Receive_1のように入力します。

    • 変数を必ず作成します。「変数」ダイアログ・ボックスで「OK」をクリックします。

    • 「インスタンスの作成」チェック・ボックスが選択されていることを確認します。

    • 「OK」をクリックし、ダイアログ・ボックスを閉じて、情報を受け入れます。

データベース・アダプタに対するパートナ・リンクの作成

この手順では、Oracle StudioでIMD/DB構成を作成したときに定義したデータベース・アダプタへのパートナ・リンクを作成します。パートナ・リンクを作成するには、次の作業をします。

  1. 「パートナ・リンクです。」をビジュアル・エディタのサービス・レーンにドラッグします。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    図5-5 IMS/DBアウトバウンドへのパートナ・リンク

    このイメージは「パートナ・リンクの作成」ダイアログ・ボックスを示しています
    「図5-5 IMS/DBアウトバウンドへのパートナ・リンク」の説明

  2. 「パートナ・リンクの作成」ダイアログ・ボックスで、「サービス・エクスプローラ」ボタンをクリックします。このボタンは左から2番目のボタンで、前のステップの図に示されています。「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。

  3. サービス・エクスプローラで、使用する接続、アダプタ、アプリケーションの順に開き、使用するWSDLファイルが見つかるまで参照を続けます。ファイルを選択し、「OK」をクリックします。

    選択したWSDLファイルへのパスが、「パートナ・リンクの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに表示されます。WSDLファイルに定義されているパートナ・リンクが、「パートナ・リンク・タイプ」フィールドに表示されます。

  4. 「パートナ・リンクの作成」ダイアログ・ボックスに、次の情報を入力します。

    • 「パートナ・ロール」リストで、「FINDDOCTORRole」を選択します。

    • 「マイ・ロール」リストで、「指定されていません」を選択します。

Invoke_1アクティビティの編集

ビジュアル・エディタに追加したInvoke_1アクティビティを編集して、FINDDOCTORサービスが起動するようにします。Invoke_1アクティビティを編集するには、次のようにします。

  1. Invoke_1アクティビティをダブルクリックして編集します。「Invoke」ダイアログ・ボックスが表示されます。

    図5-6 「Invoke」ダイアログ・ボックス

    この画面は「Invoke」ダイアログ・ボックスを示しています
    「図5-6 「Invoke」ダイアログ・ボックス」の説明

  2. 「Invoke」ダイアログ・ボックスで、「パートナ・ロールWebサービス・インタフェース」セクションに次の値が設定されていることを確認します。

    • パートナ・リンク: FINDDOCTOR

    • 操作: FINDDOCTOR

  3. 「入力変数の自動作成」ボタンをクリックします。このボタンは、「入力変数」フィールドの右の最初のボタンで、前のステップの図に示されています。「変数の作成」ダイアログ・ボックスに入力変数が表示されます。

  4. 「入力変数」はInvoke_1_FINDDOCTOR_InputVariableにします。「OK」をクリックします。

  5. 「出力変数」フィールドの「入力変数の自動作成」ボタンをクリックします。

  6. 「出力変数」はInvoke_1_FINDDOCTOR_OutputVariableにします。「OK」をクリックします。

Assign_1アクティビティの編集

Assignアクティビティを使用して、リソース・アダプタに値を割り当てます。Assign_1アクティビティを編集するには、次のようにします。

  1. Assign_1アクティビティをダブルクリックして編集します。「Assign」ダイアログ・ボックスが表示されます。

    図5-7 「Assign」ダイアログ・ボックス

    この画面は「Assign」ダイアログ・ボックスを示しています
    「図5-7 「Assign」ダイアログ・ボックス」の説明

  2. 「作成」リストをクリックして、「コピー操作」を選択します。「コピー操作の作成」ダイアログ・ボックスが表示されます。

    図5-8 コピー操作の作成

    この画面は「コピー操作の作成」ダイアログ・ボックスを示しています
    「図5-8 コピー操作の作成」の説明

  3. 「From」側で「変数」「Read_1_SelectDoctor_InputVariable」「nsx:findDoctor」の順に開いて、「Record1」を選択します。

  4. 「To」側で、「変数」「Read_1_SelectDoctor_InputVariable」「input:findDoctor」「nsx:Record1」の順に開いて、「Record1_data」を選択します。

  5. 「OK」をクリックします。「Assign」ウィンドウの「コピー操作」タブが更新されて、作成した規則が表示されます。

次の図は、最後のプロセスの概要を示しています。

図5-9 最後のアウトバウンド・プロセス

このイメージはJDeveloperの最後のアウトバウンド・プロセスを示しています
「図5-9 最後のアウトバウンド・プロセス」の説明

ランタイムの構成

この項では、プロジェクトをテストして、アウトバウンド・プロセスが正しく実行されることを確認するための方法について説明します。アウトバウンド・プロセスをテストするには、次の作業をします。

  1. 次の例に示すように、ファイルを作成して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>IMSDB</Record1></CU:FindDoctorData>
    
  2. 最初のアダプタ用に定義したC:\tempフォルダにファイルを保存します。 SOAサーバーがファイルを読み取って処理を完了すると、ファイルは削除されます。

  3. 2番目のアダプタで定義したC:\tempOutフォルダを開きます。次の内容のファイルがこのフォルダにコピーされます。

    <?xml version="1.0"?>
    <findDoctorData xmlns="http://xmlns.oracle.com/Esb/findDoctorData">
      <Record1 xmlns>="">IMSDB</Record1>