オーケストレーションのロール リンクを作成する方法
オーケストレーションでロール リンクを使用するには、次の基本的な作業を行う必要があります。
パーティおよび送信ポートを作成し、相互に関連付けます。
以下の手順に従って、ロール リンクの種類を作成し、ポートの種類を追加します。
ロール リンクの種類を作成するには 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);
ロール リンクの使用例
で入手できるBizTalk Serverコード サンプルから、SDK サンプルの 「ロール リンクの使用」をhttps://go.microsoft.com/fwlink/?LinkId=73703ダウンロードします。