ヘッダーをスキップ

Oracle Application Server Integration InterConnect ユーザーズ・ガイド
10g リリース2 (10.1.2)

B15751-02
目次
目次
索引
索引

戻る 次へ

A InterConnect Interoperability Feature with Plug-in for BPEL

この付録では、Interconnect Interoperability feature with plugin for BPEL(BPELプラグイン)の概要と、BPELプラグインによりOracle BPEL Process ManagerとOracleAS Integration InterConnect間の相互作用を可能にする方法について説明します。項目は次のとおりです。

A.1 概要

BPELプラグインは、Oracle BPEL Process ManagerとOracleAS Integration InterConnectの架け橋となります。 Oracle BPEL Process Managerに定義されているBPELプロセスをOracleAS Integration InterConnectでビジネス・プロセスの自動化要件に使用できます。

A.1.1 BPELプラグインのメリット

BPELプラグインのメリットは次のとおりです。

A.2 BPELプラグインの概要

この項では、次の項目について説明します。

A.2.1 BPELサーバーとInterConnectハブのトポロジ

この項では、Oracle BPEL Process ManagerとInterConnectハブの共存が可能な各種トポロジと、BPELプラグインにより複数のBPELサーバーとInterConnectハブの間で相互作用を可能にする方法について説明します。 この項には、次のシナリオが含まれています。

A.2.1.1 シナリオ1: 1つのBPELサーバーと1つのInterConnectハブとの相互作用

このシナリオでは、図A-1に示すように、BPELサーバーとInterConnectハブとのすべての相互作用がBPELプラグインの単一インスタンスで処理されます。 このシナリオを実装するには、iStudioでBPELサーバー用のアプリケーションを1つ作成し、このアプリケーションですべての相互作用を定義します。 BPELプラグインは、BPELサーバーを表すアプリケーション名を使用して、InterConnectハブ・キューをパブリッシュおよびサブスクライブします。

図 A-1    1つのBPELサーバーと1つのInterConnectハブとの相互作用


画像の説明

A.2.1.2 シナリオ2: 1つのBPELサーバーと2つのInterConnectハブとの相互作用

このシナリオでは、図A-2に示すように、BPELサーバーと両方のInterConnectハブとのすべての相互作用がBPELプラグインの単一インスタンスで処理されます。 このシナリオを実装するには、各InterConnectハブにBPELサーバー用のアプリケーションを1つ作成します。 BPELプラグインは、両方のInterConnectハブ・キューを、対応するアプリケーション名を使用してパブリッシュおよびサブスクライブします。

図 A-2    1つのBPELサーバーと2つのInterConnectハブとの相互作用


画像の説明

A.2.1.3 シナリオ3: 2つのBPELサーバーと1つのInterConnectハブとの相互作用

このシナリオでは、図A-3に示すようにBPELプラグインのインスタンスが2つ存在します。 このシナリオを実装するには、iStudioでアプリケーションを2つ作成します。 各アプリケーションは、それぞれ1つのBPELサーバーを表します。 BPELプラグインは、InterConnectハブ・キューを、対応するアプリケーション名を使用してパブリッシュおよびサブスクライブします。

図 A-3    2つのBPELサーバーと1つのInterConnectハブとの相互作用


画像の説明

A.2.1.4 シナリオ4: ロード・バランシング・モードの1つのBPELサーバーと1つのInterConnectハブとの相互作用

このシナリオでは、図A-4に示すように、ロード・バランシング・モードで稼働中のBPELサーバーのインスタンスが2つ存在します。 これらのインスタンスは、実行時は同一です。 したがって、Interconnect Interoperability feature with plugin for BPELのインスタンスが2つ作成されます。 どちらのインスタンスも同じBPELプロセスを提供し、同じアプリケーション名でInterConnectハブ・キューをパブリッシュまたはサブスクライブします。 両方のインスタンスが同じアプリケーション名でハブ・キューをサブスクライブしますが、アドバンスト・キューイング(AQ)によりメッセージは確実に一方にのみ配信されます。

複数のサブスクライバが同じ名前でサブスクライブした場合、AQはメッセージを一方にのみ配信します。

図 A-4    ロード・バランシング・モードの1つのBPELサーバーと1つのInterConnectハブとの相互作用


画像の説明

A.2.2 アダプタ・メタデータのローカル・キャッシュの概要

BPELプラグインがメタデータに初めてアクセスすると、メタデータはキャッシュにローカルに格納されます。 BPELプラグインは次のタスクを実行して、アダプタ・メタデータのローカル・キャッシュを作成しリフレッシュします。

A.2.3 BPELプラグインの相互作用の概要

この項では、Oracle BPEL Process ManagerとOracleAS Integration InterConnect間の相互作用のタイプについて説明します。項目は次のとおりです。

A.2.3.1 Oracle BPEL Process ManagerとOracleAS Integration InterConnectとの相互作用のプロセス

BPELプラグインは、Oracle BPEL Process ManagerのOC4Jコンテナに配置されます。Oracle BPEL Process Managerでは、アダプタ・フレームワークを介してBPELプラグインとの通信が処理されます。

BPELプラグインはOracle BPEL Process Managerからメッセージを受信すると、そのメッセージをInterConnectでサポートされている形式に変換します。 BPELプラグインはInterConnectメタデータを検索して受信者リストを識別し、メッセージをInterConnectハブ・キューに置きます。 BPELプラグインはInterConnectハブと直接相互作用します。 ただし、BPELプラグインはInterConnectハブからメッセージを受信すると、XMLRecordオブジェクトに変換してから、そのメッセージをサブスクライブしたBPELプロセスに配信します。

図A-5は、Oracle BPEL Process ManagerとOracleAS Integration InterConnect間の相互作用プロセスを示しています。


注意:

XMLRecordオブジェクトには2つのレコード要素が含まれ、一方はヘッダー用、もう一方はペイロード用です。 


図 A-5    Oracle BPEL Process ManagerとOracleAS Integration InterConnect間の相互作用プロセス


画像の説明

A.2.3.2 アウトバウンド相互作用の概要

アウトバウンド相互作用では、Oracle BPEL Process ManagerがOracleAS Integration InterConnectにメッセージを送信します。 この相互作用には、図A-6に示すようにOracle BPEL Process Managerでのインボーク・アクティビティとOracleAS Integration InterConnectでのパブリッシュ・イベントが関係します。

図 A-6    Oracle BPEL Process ManagerとOracleAS Integration InterConnect間のアウトバウンド相互作用


画像の説明

Oracle BPEL Process ManagerとOracleAS Integration InterConnectの間のアウトバウンド相互作用は、次のステップで構成されます。

  1. BPELプラグインが、インボーク・アクティビティを介してBPELプロセスからメッセージを受信します。

  2. BPELプラグインが、ハブ・キューに追加できるようにメッセージをInterConnectメッセージ形式に変換します。

  3. BPELプラグインが、メッセージのタイプに基づいて適切なヘッダーを追加します。

  4. 設計時に定義した相互作用指定パラメータ(BusinessObjectNameEventNameおよびEventVersionなど)に基づいて、Oracle BPEL Process ManagerメッセージとInterConnectメッセージ間のマッピングが確立されます。


    注意:

    Oracle BPEL Process ManagerメッセージとInterConnectメッセージとのマッピングは、設計時に指定した値に基づいて確立されます。 したがって、生成済WSDLファイルのデータは変更しないでください。 


  5. BPELプラグインがアダプタ・メタデータのローカル・キャッシュを使用してメッセージの受信者のリストを検索し、それをメッセージの受信者リストに追加します。 また、InterConnectリポジトリに指定されているコンテンツ・ベースのルーティング(CBR)の条件を評価してから、メッセージをハブ・キューにパブリッシュします。

    関連項目:

    BPELプラグインによるアダプタ・メタデータのローカル・キャッシュの作成方法の詳細は、「アダプタ・メタデータのローカル・キャッシュの概要」を参照してください。 

  6. BPELプラグインが、Oracle AQ APIを使用してInterConnectハブ・キューにメッセージを置きます。

A.2.3.3 インバウンド相互作用の概要

インバウンド相互作用では、OracleAS Integration InterConnectがOracle BPEL Process Managerにメッセージを送信します。 この相互作用には、図A-7に示すようにOracle BPEL Process Managerでの受信アクティビティとOracleAS Integration InterConnectでのサブスクライブ・イベントが関係します。

図 A-7    Oracle BPEL Process ManagerとOracleAS Integration InterConnect間のインバウンド相互作用


画像の説明

Oracle BPEL Process ManagerとOracleAS Integration InterConnect間のインバウンド相互作用は、次のステップで構成されます。

  1. BPELプラグインが、oc4j-ra.xmlファイルに構成済のアプリケーション名でハブ・キューをサブスクライブします。 ハブ・キューのサブスクライブ・タスクは、アダプタへのエンドポイント・アクティブ化コール中に実行されます。 BPELプラグインは、同じアプリケーションについてハブ・キューが複数回サブスクライブされないように、すべてのサブスクライブ済ハブ・キューを追跡します。

  2. BPELプラグインが、OracleAS Integration InterConnect内で対応するアプリケーションがサブスクライブしているイベントをすべて受信します。

  3. BPELプラグインが、受信したイベントをXMLRecordオブジェクトに変換します。 受信したイベントは、受信したメッセージのBusinessObjectNameEventnameおよびEventVersionパラメータの値をエンドポイントに対して定義済の値と照合することで、エンドポイントに示されます。

  4. BPELプラグインがonMessageメソッドを使用して、受信したイベントをBPELプロセスに渡します。

A.2.3.4 リクエスト/リプライ相互作用の概要

Oracle BPEL Process ManagerとOracleAS Integration InterConnect間のリクエスト/リプライ相互作用には、次のアクティビティおよびプロシージャが関係します。

Oracle BPEL Process ManagerとOracleAS Integration InterConnect間のリクエスト/リプライ相互作用には、次の2つのシナリオが可能です。

シナリオ1: BPELプロセスがリクエストを送信してリプライを受信する場合

このシナリオでは、BPELプロセスが非同期でInterConnectハブにリクエストを送信してリプライを受信します。 この相互作用には、図A-8に示すように、Oracle BPEL Process Managerでインボーク・アクティビティおよび受信アクティビティを使用し、OracleAS Integration InterConnectでインボーク・プロシージャを使用する必要があります。

図 A-8    BPELプロセスがリクエストを送信してリプライを受信する場合


画像の説明

BPELプロセスがInterConnectにリクエストを送信してリプライを受信するときに、次のステップが実行されます。

  1. BPELプラグインが、BPELプロセスからメッセージを受信します。 ICMsgTypeの値をチェックして、メッセージを単純メッセージとして送信するかリクエスト・メッセージとして送信するかを確認します。

  2. BPELプラグインが、メッセージをInterConnectメッセージ・オブジェクトに変換します。

  3. BPELプラグインがアダプタ・メタデータのローカル・キャッシュを使用してメッセージの受信者のリストを検索し、それをメッセージの受信者リストに追加します。

  4. BPELプラグインが、メッセージにリクエスト固有のヘッダーを追加します。これにより、受信側アダプタはリクエスト・メッセージとして識別できます。 メッセージ・ヘッダーにcorrelation id要素も追加されます。この要素は、レスポンスをリクエストにマップするために使用されます。

  5. BPELプラグインがInterConnectからレスポンスを受信して、XMLRecordオブジェクトに変換します。 リクエストに対するレスポンスの場合、ヘッダーにcorrelation idが含まれています。 BPELプラグインがcorrelation id要素を抽出してメッセージのインバウンド・ヘッダーに入れます。これがメッセージ・エンドポイントに配信されます。

  6. BPELプラグインがエンドポイントのonMessageメソッドを起動して、受信したメッセージをBPELプロセスに配信します。

シナリオ2: BPELプロセスがリクエストを受信してリプライを送信する場合

このシナリオでは、BPELプロセスが同期的にInterConnectからリクエストを受信してリプライを送信します。 この相互作用には、図A-9に示すように、Oracle BPEL Process Managerでの受信およびリプライ・アクティビティと、OracleAS Integration InterConnectでの実装プロシージャが関係します。

図 A-9    BPELプロセスがリクエストを受信してリプライを送信する場合


画像の説明

BPELプロセスがOracleAS Integration InterConnectからリクエストを受信してリプライを送信するときに、次のステップが実行されます。

  1. BPELプラグインが、InterConnectからリクエスト・メッセージを受信します。

  2. BPELプラグインがメッセージをOracle BPEL Process ManagerによりXMLRecordオブジェクトに変換します。 リクエスト・メッセージの場合、ヘッダーにcorrelation idが含まれています。 BPEL-ICアダプタがcorrelation idを抽出してメッセージのインバウンド・ヘッダーに入れます。これがメッセージ・エンドポイントに配信されます。

  3. BPELプラグインがonMessageメソッドを起動して、受信したメッセージをBPELプロセスに配信します。

  4. BPELプラグインがJava 2 Connector(J2C)拡張を使用し、WSIFハンドラを介してBPELプロセスからレスポンスを受信します。

  5. BPELプラグインが、受信したレスポンスをInterConnectメッセージ・オブジェクトに変換します。 このレスポンス・メッセージの受信者のリストも識別され、メッセージの受信者リストに追加されます。

  6. BPELプラグインが、メッセージにレスポンス固有のヘッダーを追加します。これにより、受信側アダプタはレスポンス・メッセージとして識別できます。 また、メッセージ・ヘッダーにcorrelation id要素が追加されます。

  7. BPELプラグインが、Oracle JMS APIを使用してInterConnectハブ・キューにレスポンス・メッセージを追加します。

A.2.4 BPELプラグイン機能の制限

スタンドアロンBPELサーバーから同じホスト上の中間層BPELサーバーにBPELプロセスを配置する場合は、bpel.xmlファイルのportパラメータを手動で更新する必要があります。 これは、スタンドアロン・インストールと中間層インストールでは、使用されるポート番号が異なるためです。

ただし、スタンドアロンBPELサーバーから他のホスト上の中間層BPELサーバーにBPELプロセスを配置する場合は、bpel.xmlファイルのportおよびhostパラメータを手動で更新する必要があります。 これは、BPELプロセスの開発に使用されたBPELサーバーのホストとポートが、移動先BPELサーバーとは異なる場合があるためです。

A.3 構成

Oracle BPEL Process ManagerとOracleAS Integration InterConnect間の相互作用シナリオについて、次の一時構成タスクを実行します。

A.4 ユースケース

この項では、次の統合シナリオを設計して実行する方法について説明します。

  1. OracleAS Integration InterConnect FTPアダプタがInterConnectハブ・キューにNewCustomerイベントをパブリッシュします。

  2. BPELプロセスがBPELプラグインを介してNewCustomerイベントをサブスクライブします。

  3. このイベントは単一レベルの人事管理ワークフロー承認に進みます。

  4. 承認後、BPELプロセスがAddCustomerイベントをInterConnectハブ・キューにパブリッシュします。

  5. OracleAS Integration InterConnectデータベース・アダプタがAddCustomerイベントをサブスクライブし、承認済の顧客データをデータベースに挿入します。

次の図は、このシナリオの概要を示しています。

図 A-10    シナリオの概要


画像の説明

このシナリオは次のステップで構成されています。

A.4.1 前提条件

この例は、アクティビティやパートナ・リンクなどの基本的なBPEL構成メンバーと、BPELプロセスの作成と配置に使用するJDeveloper環境をよく理解していることを前提としています。

XSDファイルの作成

このユースケース用に次のファイルを作成する必要があります。

DBAPPスキーマの作成

次のSQLスクリプトも実行します。

/* ************************************
   Create DBAPP Schema
   ************************************ */
CREATE USER          DBAPP
PROFILE              DEFAULT
IDENTIFIED BY        WELCOME1
DEFAULT TABLESPACE   USERS
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;
/* ************************************
   Grant Privileges to DBAPP Schema
   ************************************ */
GRANT RESOURCE               TO DBAPP;
GRANT CONNECT                TO DBAPP;
GRANT EXECUTE ON  DBMS_AQ    TO DBAPP;
GRANT EXECUTE ON  UTL_RAW    TO DBAPP;
GRANT EXECUTE ON  DBMS_AQADM TO DBAPP;
GRANT EXECUTE ON  DBMS_AQIN  TO DBAPP;
GRANT EXECUTE ANY PROCEDURE  TO DBAPP;

/* ************************************
   Create DBAPP.Customer Table
   ************************************ */
CREATE TABLE DBAPP.Customer_table
 (  
   CustomerId     NUMBER NOT NULL,
   FirstName      VARCHAR2(30),
   LastName       VARCHAR2(30),
   Title          VARCHAR2(30),
   BusinessName   VARCHAR2(255),
   CustomerType   VARCHAR2(1),
   EmailAddress   VARCHAR2(255),
   Address        VARCHAR2(30),
   City           VARCHAR2(300),
   State          VARCHAR2(30),
   Zip            NUMBER
 )
/

さらに、Oracle BPEL Process Managerを、BPELプラグインと併用できるように構成する必要があります。 詳細は、A.3項「構成」を参照してください。

A.4.2 共通ビューの作成

iStudioで共通ビューを作成する手順は、次のとおりです。

  1. 「ファイル」メニューから「新規プロジェクト」を選択します。 「新規プロジェクト」ダイアログ・ボックスが表示されます。

  2. 「プロジェクト名」フィールドにICInteroperabilityと入力し、「OK」をクリックします。 「ハブ情報」ダイアログ・ボックスが表示されます。

  3. 次のフィールドに情報を入力します。

    • ハブ・データベース・ユーザー名: ハブ・データベース・ユーザーの名前。

    • ハブ・データベース・パスワード: ハブ・データベース・ユーザーに関連付けられたパスワード。

    • ハブ・データベースURL: 次の書式によるデータベースのURL。

      machine name:port number:database sid
      
      
  4. iStudioで、「ICInteroperability」「共通ビュー」および「ビジネス・オブジェクト」を順番にクリックします。

  5. 「ビジネス・オブジェクト」を右クリックし、「新規」を選択します。 「ビジネス・オブジェクトの作成」ダイアログ・ボックスが表示されます。

  6. 「ビジネス・オブジェクト名」フィールドにCustomerと入力します。

  7. iStudioで、「Customer」および「イベント」を順番にクリックします。

  8. 「イベント」を右クリックして「新規」を選択します。 「イベントの作成」ダイアログ・ボックスが表示されます。

  9. 「イベントの作成」ダイアログ・ボックスで次の手順を実行します。

    1. 「イベント名」フィールドにNewCustomerと入力します。

    2. 「インポート」XML「XSD」およびローカル・ファイル・システムを順番にクリックします。

    3. NewCustomerCommonView.xsdを選択して「OK」をクリックします。 「XSDルート要素ダイアログの選択」ボックスが表示されます。

    4. 図A-11に示すように、XSDのルート要素として「Customer」を選択し、「OK」をクリックします。

      図 A-11    「XSDルート要素の選択」ダイアログ・ボックス


      画像の説明

  10. 「イベントの作成」ダイアログ・ボックスで「保存」をクリックします。

  11. 手順7〜10を繰り返し、ファイルAddCustomerCommonView.xsdを使用して別のイベントAddCustomerを作成します。

A.4.3 FTPアプリケーション用パブリッシュ・イベントの作成

NewCustomerイベントをパブリッシュするFTPアプリケーションを作成する手順は、次のとおりです。

  1. iStudioで、「アプリケーション」を右クリックして「新規」を選択します。 「アプリケーションの作成」ダイアログ・ボックスが表示されます。

  2. 「アプリケーション名」フィールドにFTPAPPと入力し、「OK」をクリックします。

  3. iStudioで、「アプリケーション」「FTPAPP」および「パブリッシュ・イベント」を順番にクリックします。

  4. 「パブリッシュ・イベント」を右クリックして「新規」を選択します。 「イベントを選択」ダイアログ・ボックスが表示されます。

  5. 図A-12に示すように、次の手順を実行します。

    1. 「メッセージ・タイプ」リストからXMLを選択します。

    2. 「イベントを選択」リストからNewCustomerを選択し、「次へ」をクリックします。 「パブリッシュ・ウィザード - アプリケーション・ビューの定義」ダイアログ・ボックスが表示されます。

      図 A-12    「パブリッシュ・ウィザード - イベントを選択」ダイアログ・ボックス


      画像の説明

  6. 「インポート」XML「XSD」およびローカル・ファイル・システムを順番にクリックします。

  7. NewCustomerFileAppView.xsdを選択して「OK」をクリックします。 「XSDルート要素の選択」ダイアログ・ボックスが表示されます。

  8. ルート要素として「Customer」を選択して「OK」をクリックします。

  9. 「次へ」をクリックします。 「マッピングの定義」ダイアログ・ボックスが表示されます。

  10. 「マッピングの定義」をクリックします。 「マッピング・パラメータ」ダイアログ・ボックスが表示されます。

  11. 次の手順を実行します。

    1. FTPAPPビューで、ns1:NewCustomerCustomerおよびidを順番にクリックします。

    2. 「トランスフォーメーション」で「CopyFields」を選択します。

    3. 「共通ビュー」で、ns1:NewCustomerCustomerおよびidを順番にクリックします。

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

    5. FTPAPPビューで、ns1:NewCustomerCustomerおよびaddrを順番にクリックします。

    6. 「トランスフォーメーション」で「CopyFields」を選択します。

    7. 「共通ビュー」で、ns1:NewCustomerCustomerおよびaddressを順番にクリックします。

    8. 「追加」をクリックします。

    9. FTPAPPビューで、ns1:NewCustomerCustomerおよびnameを順番にクリックします。

    10. 「トランスフォーメーション」で「ExpandFields」を選択します。

    11. 「共通ビュー」で、ns1:NewCustomerおよびCustomerをクリックします。

    12. [Shift]キーを押しながらFirstNameおよびLastNameを選択します。

    13. 「追加パラメータ」セクションで、「値」フィールドにカンマ「,」を入力します。

    14. 「追加」をクリックします。

    15. 「OK」をクリックします。

  12. 「マッピングの定義」ダイアログ・ボックスで「終了」をクリックします。

A.4.4 BPELサーバー・アプリケーション用のサブスクライブ・イベントの作成

NewCustomerイベントをサブスクライブするBPELアプリケーションを作成する手順は、次のとおりです。

  1. iStudioで、「アプリケーション」を右クリックして「新規」を選択します。 「アプリケーションの作成」ダイアログ・ボックスが表示されます。

  2. 「アプリケーション名」フィールドにBPELServerと入力し、「OK」をクリックします。

  3. BPELServer「サブスクライブ・イベント」を順番にクリックします。

  4. 「サブスクライブ・イベント」を右クリックして「新規」を選択します。 「サブスクライブ・ウィザード - イベントを選択」ダイアログ・ボックスが表示されます。

  5. 「メッセージ・タイプ」リストからBPELを選択します。

  6. 「イベントを選択」リストからNewCustomerを選択します。

    図 A-13    「サブスクライブ・ウィザード - イベントを選択」ダイアログ・ボックス


    画像の説明

  7. 「次へ」をクリックします。

  8. 「終了」をクリックします。

A.4.5 BPELサーバー・アプリケーション用のパブリッシュ・イベントの作成

Oracle BPEL Process ManagerからOracleAS Integration InterConnectにAddCustomerイベントをパブリッシュするBPELアプリケーションを作成する手順は、次のとおりです。

  1. iStudioで、「BPELServer」および「パブリッシュ・イベント」を順番にクリックします。

  2. 「パブリッシュ・イベント」を右クリックして「新規」を選択します。 「パブリッシュ・ウィザード - イベントを選択」ダイアログ・ボックスが表示されます。

  3. 「メッセージ・タイプ」リストからBPELを選択します。

  4. 「イベントを選択」リストから「AddCustomer」を選択します。

  5. 「終了」をクリックします。


    注意:

    各InterConnectハブでBPELサーバー・インスタンスごとにアプリケーションを1つ作成し、このアプリケーション内でこのインスタンスの全イベントをグループ化する必要があります。 


A.4.6 DBAPPアプリケーション用サブスクライブ・イベントの作成

AddCustomerイベントをサブスクライブするデータベース・アプリケーションを作成する手順は、次のとおりです。

  1. iStudioで、「アプリケーション」を右クリックして「新規」を選択します。 「アプリケーションの作成」ダイアログ・ボックスが表示されます。

  2. 「アプリケーション名」フィールドにDBAPPと入力し、「OK」をクリックします。

  3. 「アプリケーション」「DBAPP」を順番にクリックし、「サブスクライブ・イベント」を右クリックします。

  4. 「新規」を選択します。 「イベントを選択」ダイアログ・ボックスが表示されます。

  5. 「イベントを選択」ダイアログ・ボックスで次の手順を実行します。

    1. 「メッセージ・タイプ」リストから「データベース」を選択します。

    2. 「イベントを選択」リストからAddCustomerを選択し、「次へ」をクリックします。 「サブスクライブ・ウィザード - アプリケーション・ビューの定義」ダイアログ・ボックスが表示されます。

  6. 「インポート」「データベース」を順番にクリックします。 「データベース・ログイン」ダイアログ・ボックスが表示されます。

  7. 「データベース・ログイン」ダイアログ・ボックスで次の手順を実行します。

    1. 「ユーザー名」フィールドにデータベース・ユーザー名を入力します。

    2. 「パスワード」フィールドに、データベース・ユーザーに関連付けられているパスワードを入力します。

    3. 「URL」フィールドに、データベースURLを次の書式で入力します。

      computer name:port number:database sid
      
      
    4. 「ドライバ」リストからoracle.jdbc.driver.OracleDriverを選択します。

    5. 「ログイン」をクリックします。 「アプリケーション・ビューの定義」ダイアログ・ボックスが表示されます。

      図 A-14    データベース・ログイン


      画像の説明

  8. 「次へ」をクリックします。 「Oracleデータベース・ブラウザ」ダイアログ・ボックスが表示されます。

    図 A-15    Oracleデータベース・ブラウザ


    画像の説明

  9. 「DBAPP」「表/ビュー」「DBAPP.CUSTOMER_TABLE」および「終了」を順番にクリックします。 「サブスクライブ・ウィザード - アプリケーション・ビューの定義」ダイアログ・ボックスが表示されます。

  10. 「次へ」をクリックします。 「マッピングの定義」ダイアログ・ボックスが表示されます。

  11. 「マッピングの定義」をクリックします。 「マッピング・パラメータ」ダイアログ・ボックスが表示されます。

    図 A-16    マッピング・パラメータ


    画像の説明

  12. 「マッピング・パラメータ」ダイアログ・ボックスで次の手順を実行します。

    1. 「共通ビュー」で、AddCustomerns1_ns0CustomerおよびIDを順番にクリックします。

    2. 「トランスフォーメーション」「CopyFields」を選択します。

    3. DBAPPビューで、AddCustomerCUSTOMERIDを順番にクリックします。

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

    5. 手順1〜3を繰り返して、「共通ビュー」の次のフィールドをDBAPPビューにマップします。

      「共通ビュー」のフィールド  DBAPPビューのフィールド 

      Title 

      TITLE 

      Email 

      EMAIL 

      Street 

      ADDRESS 

      City 

      CITY 

      State 

      STATE 

      Zip 

      ZIP 

    6. 「Expand」トランスフォーメーションを選択して、「共通ビュー」のNameフィールドをDBAPPビューのFirst NameおよびLast Nameフィールドにマップします。 デリミタとしてカンマ「,」を指定します。

    7. 「OK」をクリックします。

  13. 「マッピングの定義」ダイアログ・ボックスで「次へ」をクリックします。 「ストアド・プロシージャの定義」ダイアログ・ボックスが表示されます。

    図 A-17    サブスクライブ・ウィザード - ストアド・プロシージャの定義


    画像の説明

  14. 「ストアド・プロシージャの定義」ダイアログ・ボックスで次の手順を実行します。

    1. 「SQLコード」リストからsub_AddCustomer_OAI_V1を選択します。

    2. sub_AddCustomer_OAI_V1プロシージャのBEGINセクションに、次のコードを追加します。

      Insert into customer_table (CUSTOMERID, FIRSTNAME, EMAILADDRESS, ADDRESS, CITY, 
      STATE, ZIP) values (CUSTOMERID, FIRSTNAME, EMAILADDRESS,
      ADDRESS, CITY, STATE, ZIP)
      
      
    3. 「終了」をクリックします。

A.4.7 DBAPPアプリケーションのサブスクライブ・イベント用に生成したストアド・プロシージャの配置

DBAPPアプリケーションのサブスクライブ・イベント用に生成したストアド・プロシージャを配置する手順は、次のとおりです。

  1. iStudioの「配置」タブをクリックします。

  2. 「アプリケーション」をクリックし、「DBAPP」を右クリックして「PL/SQLの配置」を選択します。 「PL/SQLの配置 - イベント/プロシージャを選択」ダイアログ・ボックスが表示されます。

    図 A-18    「PL/SQLの配置 - イベント/プロシージャを選択」ダイアログ・ボックス


    画像の説明

  3. 「DBAPP」「サブスクライブ・イベント」および「Subscribe(Customer.AddCustomer)」を順番にクリックします。

  4. 「次へ」をクリックします。 「PL/SQLの配置 - データベース情報」ダイアログ・ボックスが表示されます。

  5. 次の手順を実行します。

    1. 「データベース・ユーザー名」フィールドにデータベース・ユーザー名を入力します。

    2. 「データベース・パスワード」フィールドに、データベース・ユーザーに関連付けられているパスワードを入力します。

    3. 「データベースURL」フィールドに、データベースURLを次の書式で入力します。

      computer name:port number:database sid
      
      
    4. 「次へ」をクリックします。 「PL/SQLの配置 - サマリー」ダイアログ・ボックスが表示されます。


      画像の説明

  6. 「DBAPP」「サブスクライブ・イベント」および「Subscribe(Customer.AddCustomer)」を順番にクリックし、「次へ」をクリックします。 「PL/SQLの配置 - ステータス」ダイアログ・ボックスが表示されます。


    画像の説明

  7. 「パッケージ名」Customerをクリックし、「配置」をクリックします。生成されたPL/SQLが、選択したアプリケーション、イベントまたはプロシージャ用に配置されます。

A.4.8 Oracle BPEL ServerとJDeveloper BPEL Designerの起動

BPELサーバーとJDeveloper BPEL Designerが起動していることを確認します。 BPEL PM Serverを起動するには、「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager version_number「Start BPEL PM Server」を順番に選択します。

JDeveloper BPEL Designerを起動するには、「スタート」「すべてのプログラム」「Oracle - Oracle_Home「Oracle BPEL Process Manager version_number「JDeveloper BPEL Designer」を順番に選択します。

関連項目:

BPELサーバーの起動と停止については、『Oracle BPEL Process Manager開発者ガイド』を参照してください。 

A.4.9 NewCustomerイベントを受信する受信アクティビティの作成

受信アクティビティを作成する手順は、次のとおりです。

  1. 「アプリケーション」を右クリックして「新規」を選択します。 「新規ギャラリ」ダイアログ・ボックスが表示されます。

    図 A-19    「新規ギャラリ」ダイアログ・ボックス


    画像の説明

  2. 「項目」から「ワークスペース」をダブルクリックして「OK」をクリックします。 「ワークスペースの作成」ダイアログ・ボックスが表示されます。

    図 A-20    「ワークスペースの作成」ダイアログ・ボックス


    画像の説明

  3. 「ワークスペース名」フィールドにBPELICIntegrationと入力し、「ディレクトリ名」フィールドでデフォルトのパスを指定します。

  4. 「新規の空のプロジェクトを追加」の選択を解除します。

  5. 「OK」をクリックします。

  6. デザイナ・ウィンドウのアプリケーション・ナビゲータ・セクションでBPELICIntegrationを右クリックします。 アプリケーション・ナビゲータ・セクションが表示されていない場合は、「表示」メイン・メニューから「アプリケーション - ナビゲータ」を選択します。

  7. 「新規プロジェクト」を選択します。

  8. 「項目」から「BPELプロセス・プロジェクト」を選択して「OK」をクリックします。 「BPELプロセス・プロジェクト」ダイアログ・ボックスが表示されます。

  9. 「BPELプロセス名」フィールドにCustomerCreationと入力します。

    図 A-21    「BPELプロセス・プロジェクト」ダイアログ・ボックス


    画像の説明

  10. 「テンプレート」リストから「空のBPELプロセス」を選択します。

  11. 「デフォルトを使用」ボタンを選択します。

  12. 「OK」をクリックします。

    bpel.xmlCustomerCreation.bpelCustomerCreation.wsdlおよびbuild.xmlファイルが作成されます。

  13. JDeveloper BPEL Designerの右上セクションにある「コンポーネント・パレット」セクションのドロップダウン・リストで、「プロセス・アクティビティ」が選択されていることを確認します。

  14. PartnerLinkアクティビティをデザイナ・ウィンドウの右側でヘッダー「パートナ・リンク」の下のどこかにドラッグ・アンド・ドロップします。 デザイナ・ウィンドウのどちら側のセクションにもパートナ・リンクを配置できることに注意してください。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

  15. 次のタスクを実行して、図A-23に示すパートナ・リンクを作成します。

    1. 「名前」フィールドにReceiveFromICと入力します。

    2. 懐中電灯(左から2番目の「WSILブラウザ」アイコン)をクリックし、「WSDLの選択」ダイアログ・ボックスにアクセスします。

    3. 図A-22に示すように、LocalBPELServeradaptersInterConnecteis-ICadapter-BPELServerSubscribed EventsCustomer.NewCustomerを順番に選択して「OK」をクリックします。

      図 A-22    WSDLの選択


      画像の説明

    4. 「マイ・ロール」リストからsubscribe_roleを選択します。

    5. 「OK」をクリックします。

    前述の手順を実行すると、図A-23に示す「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    図 A-23    「パートナ・リンクの作成」ダイアログ・ボックス


    画像の説明

  16. 「コンポーネント・パレット」から「アクティビティをここにドロップ」セクションに「受信」アクティビティをドラッグ・アンド・ドロップします。

  17. 「受信」アクティビティをダブルクリックします。 「受信」ダイアログ・ボックスが表示されます。

  18. 次の手順を実行します。

    1. 「名前」フィールドにReceiveNewCustomerと入力します。

    2. 「パートナ・リンク」リストでReceivefromICを選択します。

    3. 「変数」フィールドの右にある最初のアイコンをクリックします。 これは、自動変数作成アイコンです。

    4. 表示される「変数の作成」ダイアログ・ボックスで「OK」をクリックします。 「入力変数」フィールドに、ReceiveNewCustomer_subscribe_InputVariableという変数が自動的に作成されます。

    5. 「インスタンスの作成」を選択して「OK」をクリックします。

A.4.10 人事管理ワークフロー・システムの設計

顧客作成リクエストの手動承認または拒否を処理するユーザー・タスクを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」セクションからReceiveNewCustomerアクティビティの下にユーザー・タスク・アクティビティをドラッグ・アンド・ドロップします。 ワークフロー・ウィザードが表示されます。

  2. 「新規ワークフローの作成」チェック・ボックスを選択状態のままにして「次へ」をクリックします。 「ワークフロー・パターン」ウィンドウが表示されます。

  3. 図A-24に示すように、「ワークフロー・パターン」から「単純ワークフロー」を選択します。

    図 A-24    ワークフロー・ウィザード


    画像の説明

  4. 「次へ」をクリックします。 図A-25のような「タスクの詳細」ウィンドウが表示されます。

    図 A-25    ワークフロー・ウィザード: タスクの詳細


    画像の説明

  5. 次の手順を実行します。

    1. 図A-25に示す「タスクのタイトル」フィールドの右にあるアイコンをクリックし、「XPath式ビルダー」ウィンドウを表示します。

    2. 図A-26のように、VariablesProcessVariables
      ReceiveNewCustomer_subscribe_InputVariableCustomerns2:Customeridを順番に選択します。

      図 A-26    XPath式ビルダー


      画像の説明

    3. 右矢印をクリックします。

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

  6. 図A-25に示す「タスクの詳細」ウィンドウで、「ペイロード」フィールドの右にある懐中電灯のアイコンをクリックして「変数XPathビルダー」ウィンドウを表示します。

  7. 図A-27のように、VariablesProcessVariables
    ReceiveNewCustomer_subscribe_InputVariableCustomerns2:Customerを順番に選択します。

    図 A-27    変数XPathビルダー


    画像の説明

  8. 「OK」をクリックします。

  9. 「タスク作成者」フィールドは空にしておきます。

  10. 「タスクの詳細」ウィンドウで「次へ」をクリックします。 「タスクの結果」ダイアログ・ボックスが表示されます。

  11. 2つのデフォルトの結果をACCEPTおよびREJECTにしておきます。

  12. 「次へ」をクリックします。 「タスク通知」ダイアログ・ボックスが表示されます。

  13. デフォルト設定を受け入れて「次へ」をクリックします。 「割当て先」ダイアログ・ボックスが表示されます。

  14. 「ユーザー」フィールドの右にある懐中電灯のアイコンをクリックします。 「アイデンティティ・ルックアップ・ダイアログ」ボックスが表示されます。

  15. 「ルックアップ」をクリックします。

  16. 「ユーザーの検索」でユーザー名を選択して「選択」をクリックします。

    図 A-28    アイデンティティ・ルックアップ・ダイアログ


    画像の説明

  17. 「OK」をクリックします。

  18. 「次へ」をクリックします。

  19. 「終了」をクリックします。

A.4.11 AddCustomerイベントを送信するインボーク・アクティビティの作成

インボーク・アクティビティを作成する手順は、次のとおりです。

  1. PartnerLinkアクティビティをデザイナ・ウィンドウの右側でヘッダー「パートナ・リンク」の下のどこかにドラッグ・アンド・ドロップします。 パートナの作成ダイアログ・ボックスが表示されます。

  2. 次の手順を実行します。

    1. 「名前」フィールドにSendToICと入力します。

    2. 懐中電灯(左から2番目の「WSILブラウザ」アイコン)をクリックし、「WSDLの選択」ダイアログ・ボックスにアクセスします。

    3. 図A-30に示すように、LocalBPELServeradaptersInterConnecteis-ICadapter-BPELServerPublished EventsCustomer.AddCustomerを順番に選択します。

      図 A-29    WSDLの選択


      画像の説明

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

    5. 「パートナ・ロール」リストからpublish_roleを選択します。

    6. 「OK」をクリックします。

  3. 「コンポーネント・パレット」から<タスクの結果が承認の場合>セクションに「起動」アクティビティをドラッグ・アンド・ドロップします。

  4. 「起動」アクティビティをダブルクリックします。 「起動」ダイアログ・ボックスが表示されます。

  5. 次の手順を実行します。

    1. 「名前」フィールドにSendApprovedCustomerと入力します。

    2. 「パートナ・リンク」リストでSendToICを選択します。

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

    4. 「OK」をクリックします。 「入力変数」フィールドに、
      SendApprovedCustomer_publish_InputVariableという変数が自動的に作成されます。

    前述の手順を実行すると、図A-30に示す「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    図 A-30    パートナ・リンクの作成


    画像の説明

  6. BPELコンポーネント・パレットから手順3で作成した「起動」ステップの前にTransformアクティビティをドラッグ・アンド・ドロップします。 A.4.9項「NewCustomerイベントを受信する受信アクティビティの作成」で作成した「受信」アクティビティに対応する入力変数を、手順3で作成した「起動」アクティビティに対応する入力変数にマップします。 顧客ペイロードのすべてのフィールドをターゲット変数にマップします。

BPELプロセスの設計後に、プロセスをコンパイルしてOracle BPEL Serverに配置する必要があります。 コンパイルと配置に成功すると、Oracle BPEL ConsoleからBPELプロセスを実行し、管理できます。

関連項目:

BPELプロセスの配置方法については、『Oracle BPEL Process Manager開発者ガイド』を参照してください。 

A.4.12 実行時

実行時には、受信ペイロードがコピーされる入力ディレクトリをポーリングするようにFTPアダプタを構成する必要があります。 FTPアダプタの構成方法については、『Oracle Application Server Integration InterConnect Adapter for FTPインストレーションおよびユーザーズ・ガイド』を参照してください。

実行時に、新規顧客に関する情報を含んだXMLファイルを、InterConnect FTPアダプタによりファイルが読み取られるフォルダにコピーします。 次の例は、入力XMLファイルの例を示しています。

<?xml version="1.0" encoding="UTF-8" ?>
<Customer xmlns="http://oracle.com/interconnect/customer/event/newCustomer">
  <ID xmlns="">1234</ID>
  <Action xmlns="">Action11</Action>
  <Name xmlns="">Name12</Name>
  <Addr xmlns="">
     <Street>Street13</Street>
     <City>City14</City>
     <State>State15</State>
     <Zip>4567</Zip>
  </Addr>
</Customer>

FTPアダプタは、このファイルをOAIハブに送信します。 このファイルを、OAIハブからCustomerCreation BPELプロセスが受信します。 プロセスは、図A-31に示すようにユーザーによる承認を待機します。

図 A-31    Oracle BPM Worklist


画像の説明

「BPELコンソール」を使用してリクエストを受け入れるか拒否できます。 承認後は、CustomerCreation BPELプロセスによりAddCustomerメッセージがInterConnectハブ・キューに送信されます。 このメッセージをInterConnectデータベース・アダプタが受信し、Customer_table表に新規顧客データを挿入します。

関連項目:

「BPELコンソール」と「Oracle BPM Worklist」の使用方法については、『Oracle BPEL Process Manager開発者ガイド』を参照してください。 


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引