オーケストレーションのロール リンクを作成する方法

オーケストレーションでロール リンクを使用するには、次の基本的な作業を行う必要があります。

  • パーティおよび送信ポートを作成し、相互に関連付けます。

  • 以下の手順に従って、ロール リンクの種類を作成し、ポートの種類を追加します。

    ロール リンクの種類を作成するには
    1. [オーケストレーション ビュー] ウィンドウで、[ 種類] を展開し、[ ロール リンクの種類] を右クリックし、[ 新しいロール リンクの種類] をクリックします。
    2. 先ほど作成したロール リンクの種類をクリックします。 プロパティ ウィンドウの [識別子] フィールドに「」入力しますProvider_Consumer_RoleLinkType
    3. [Provider_Consumer_RoleLinkType] を展開し、[ Role_1] をクリックします。 プロパティ ウィンドウの [識別子] フィールドに「」入力しますConsumerRole
    4. [ConsumerRole] を右クリックし、[ ポートの種類の追加] をクリックします。 ポートの種類ウィザードが起動します。
    5. [ポートの 種類ウィザードへようこそ ] ページで、[ 次へ] をクリックします。
    6. [ポートの 種類の選択] または [新しいポートの種類の作成 ] ページで、[ 新しいポートの種類の作成] を選択し、[ ポートの種類名] に「」と入力します ConsumerPortType
    7. [通信パターン] で [ 一方向] を選択し、[ アクセス制限] で [ パブリック - 制限なし] を選択します。 [次へ] をクリックします。
    8. [ ポート ウィザードの完了 ] ページで、[完了] をクリック します
    9. [Provider_Consumer_RoleLinkType] を右クリックし、[ 新しいロール] をクリックします。
    10. [Role_1] をクリックし、プロパティ ウィンドウの [識別子] フィールドに「」と入力ProviderRoleします。
    11. [ProviderRole] を右クリックし、[ ポートの種類の追加] をクリックします。 ポートの種類ウィザードが起動します。
    12. [ ポートの種類ウィザードへようこそ ] ページで、[ 次へ] をクリックします。
    13. [ポートの 種類の選択または新しいポートの種類の作成 ] ページで、[ 新しいポートの種類の作成] を選択し、[ ポートの種類名] に「」と入力します ProviderPortType
    14. [通信パターン] で [ 一方向] を選択し、[ アクセス制限] で [ パブリック - 制限なし] を選択します。 [次へ] をクリックします。
    15. [ ポート ウィザードの完了 ] ページで、[完了] をクリック しますメモ: ロール リンク内に配置された構成済みポートでは、関連付けられているバインド情報は保持されません。

    前の手順では、2 つのロールを含むロール リンクの種類を作成します。これは、コンシューマーからメッセージを受信して処理する ProviderRole と、オーケストレーションが、そのロールで提供される送信ポートを使用してコンシューマーにメッセージを送信する ConsumerRole です。

Note

ロール リンクの種類には、プロバイダー ロールとコンシューマー ロールを含めることができます。ビジネス プロセスのニーズに応じて、いずれか 1 つ、または両方を 1 つずつ含めることができます。

  • 以下の手順に従って、ロール リンクをオーケストレーションに追加します。

    ロール リンク ウィザードを使用してロール リンクを作成するには
    1. オーケストレーション ツールボックスで、 ロール リンク 図形をデザイン画面にドラッグします。 ロール リンク ウィザードが起動します。
    2. [ 役割リンク ウィザードへようこそ ] ページで、[ 次へ] をクリックします。
    3. [ ロール リンク名] ページの [名前] フィールドに「」 入力します Provider_Consumer[次へ] をクリックします。
    4. [ ロール リンクの種類 ] ページで、[ 既存のロール リンクの種類を使用する] を選択します。 [ ロール リンクの種類名] ドロップダウン リストで、[ Provider_Consumer_RoleLinkType] を選択します。 [次へ] をクリックします。
    5. [ロールの識別] ページで、[パートナーからのメッセージを受信して処理するには、このオーケストレーションを実装するロール] ドロップダウン リストから [ProviderRole] を選択します。 ウィザードで [ ConsumerRole ] が自動的に選択 されます。このオーケストレーションでは、次のロールを使用して、ロール内のポートでパートナーにメッセージを送信します。 [次へ] をクリックします。
    6. [ ロール リンクの使用状況 ] ページで、[ パートナーのロールに最初のメッセージを送信します] を選択します。 [完了] をクリックします。

    前の手順では、ConsumerRole をさらにイニシャライズ ロールとして定義しています。 つまり、ConsumerRole によって提供されるポートを通じて、オーケストレーションが最初のメッセージをコンシューマーに送信し、次に、コンシューマーから返されるメッセージを ProviderRole が受信し、さらに処理を行います。

    Note

    ロール リンクの種類にロールが 1 つしかない場合は、前の手順の手順 5 を実行する代わりに、最初のメッセージを受信するプロバイダー ロール: またはコンシューマー ロールを選択して、ビジネス プロセスでロールを定義する必要があります。

  • ビジネス プロセスをデザインします。 関連付けのセットを活用すると、受信メッセージをオーケストレーションの適切なインスタンスに確実に一致させることができます。

  • ポートを送受信図形に関連付けます。 さらに、次の操作を実行します。

    • 開始ロールがメッセージを送信するためのコンシューマーである場合は、オーケストレーションで DestinationParty プロパティを (1 回だけ 1 回だけ) 明示的に設定します。 これを行うには、次の例のように、Expression 図形に DestinationParty の値を設定します。ここで、ConfirmOrder はロール リンクの名前、PartnerName と OrganizationName はパーティのパラメーターです。

      ConfirmOrder(Microsoft.XLANGs.BaseTypes.DestinationParty) = new Microsoft.XLANGs.BaseTypes.Party("PartnerName", "OrganizationName");
      
    • 開始側ロールがメッセージを受信するためのプロバイダーである場合、 DestinationParty プロパティは受信側によって自動的に初期化されます。 DestinationParty はプロバイダー自体に設定されます。 SourceParty プロパティは読み取り専用であり、信頼されたパイプライン コンポーネントを介して提供され、送信者のセキュリティ識別子 (SID) またはパーティに関連付けられている証明書に基づいてパーティ名を解決します。 パイプライン コンポーネントを実行しているホストは、 認証信頼済みとしてマークされている必要があります。 次のサンプル コードを使用して、図形の SourceParty の値を取得できます。

      PartyName = Buyer_Supplier(Microsoft.XLANGs.BaseTypes.SourceParty);
      

参照

オーケストレーションでの役割リンクの使用役割リンク図形の使用方法 役割リンクウィザードの使用方法