パートナーリンク

関連項目

BPEL では、パートナーリンクは、BPEL プロセスと外部 Web サービスの間の相互作用を表します。パートナーリンクアクティビティーは、対話メッセージの交換において各パートナーが担うロールを定義します。パートナーリンクアクティビティーは、そのパートナーリンクの型を参照することによって、各パートナーによって実行されるポート型を間接的に示します。

パートナーリンク要素およびパートナーリンクの型の定義

パートナーリンクの型は、WSDL の BPEL 拡張です。このため、これは BPEL ファイルではなく WSDL ファイルで定義されます。パートナーリンクの型は、1 つ または 2 つの任意のロール間の関連を作成し、各ロールが単一のポート型を実行する必要があることを示します。パートナーリンクは、ロールをポート型に関連付けてパートナー間の相互の規則を定義します。

パートナーリンク要素とパートナーリンクの型の定義は次のとおりです。混同しないようにしてください。

パートナーリンクの型を定義することは、パートナーリンク要素の必要条件です。パートナーリンク要素を定義する唯一の方法は、特定のパートナーリンクの型および WSDL ファイルで定義される必要があるロールを参照することです。

パートナーリンクを追加する方法

次に示すいずれかの方法で、ビジネスプロセスにパートナーリンクを追加できます。

パートナーリンク要素の使用

パートナーリンク要素を使用するには、次の手順に従います。

  1. デザインビューで、前述の方法のいずれかを使用して、図にパートナーリンク要素を追加します。
    パートナーリンクの「プロパティーエディタ」ダイアログが表示されます。
  2. 「プロパティーエディタ」ダイアログで、次の項目を指定します。
  3. パートナーリンクの型を指定するには、次のいずれかの方法を選択します。

既存のパートナーリンクの型を使用するには、次の手順に従います。

  1. 「既存のパートナーリンクの型を使用」オプションを選択し、ドロップダウンリストからパートナーリンクの型を選択します。「自分のロール」、「パートナーのロール」のいずれかまたは両方のフィールドに、自動的に値が入ります。
  2. 「閉じる」をクリックします。
    IDE が、BPEL ファイルを指定された値に変更します。

パートナーリンクの型を WSDL ファイルに追加し、それを使用するようにパートナーリンク要素を設定するには、次の手順に従います。

  1. 「新規作成したパートナーリンク型を使用」オプションを選択します。
  2. パートナーリンクの型を追加する WSDL ファイルを指定します。次のいずれかの操作を実行できます。
  3. パートナーリンク型の名前を指定します。
  4. 次の手順で、ビジネスプロセス (「自分のロール」)、パートナー (「パートナーのロール」) の、いずれかまたは両方のロールを指定します。
    1. 定義するロールに対応するチェックボックスを選択します。
    2. 「ロール名」フィールドに、ロール名を指定します。
    3. ドロップダウンリストから「ポート型」を選択します。
  5. 「閉じる」をクリックします。
    IDE が、WSDL ファイルに新しいパートナーリンクの型の定義を追加し、BPEL ファイルを指定された値に変更します。

動的アドレス指定

事前に終了点がわかっていないパートナーサービスと通信する必要がある場合や、プロセスの実行中に終了点の参照 (EPR) を変更する必要がある場合があります。動的パートナーリンク機能を使用すると、終了点の参照をパートナーリンクに動的に割り当てることができます。この場合、Web サービスのインタフェースが同じであれば、1 つのパートナーリンクを複数の Web サービスとの通信に使用できます。

各パートナーリンクには抽象情報と具象情報が定義されます。Web サービスインタフェースを表す抽象情報は固定である必要がありますが、アドレスやポートなどの具象アクセス情報は動的に検出、使用できます。

注: プロセスを正常に配備するには、パートナーリンクを完全に定義する必要があります。つまり、プロジェクトを配備するときに、パートナーリンクの WSDL ファイルに、定義されているパートナーリンクの抽象情報と、アドレスやポートなどの具象情報の両方が含まれる必要がありますが、具象情報は WSDL ファイルとは別にあとで変更できます。

注: BPEL 仕様では、パートナーの EPR だけを動的に変更できると定められています。つまり BPEL では、partnerLink 要素の partnerRole だけに新しい値を代入できます。myRole の値は BPEL の配備後に変更されません。

新しい EPR をパートナーリンクに割り当てるには、標準の代入アクティビティーと BPEL マッパーを使用します。

EPR 情報は次のいずれかの方法で指定できます。

受信メッセージを使用する場合は、WSDL でメッセージの部品として EPR スキーマを定義する必要があります。EPR をパートナーリンクに割り当てるには、メッセージ変数を使用します。

変数から新しい終了点の参照をパートナーリンクに割り当てるには、次の手順に従います。

  1. プロセス内に新しい代入アクティビティーを作成します。
  2. BPEL マッパーを開きます。
  3. 右側にあるターゲットツリーで、新しい具象部品を配信するパートナーリンクを探します。
  4. ソースツリーで、新しい終了点のアドレスを含む変数を探します。
  5. Web サービスのアドレスは異なるスキーマで定義できます。また JBI コンテナには ServiceRefType という特殊なデータ型が必要です。これは終了点を表すすべてのデータ型の簡単なラッパーです。

    データをラップするには、次の手順に従います。


  6. 変数から関数への内向きの接続を描画します。次にパートナーリンクへの外向きの接続を描画します。
  7. 新しい具象部品がパートナーリンクに割り当てられます。
関連項目
受信
返信
呼び出し
WSDL および XML スキーマインポートの追加
WSDL エディタについて
BPEL デザイナーパレット: Web サービス
BPEL デザイナーのデザインビューについて

著作権と商標について