注文処理ステージでの処理
ビジネス プロセス管理ソリューションには、注文処理アクションを実行する CableOrder1 オーケストレーションと CableOrder2 オーケストレーションの 2 つのステージが含まれています。 注文プロセスをステージに分割する方法の詳細については、「 処理ステージの数」を参照してください。
どちらの処理ステージも、注文メッセージを受信したときに開始され、開始後にステータス メッセージで OrderManager オーケストレーションに応答します。 同様に、両方とも OrderManager にメッセージを送信して、ステージが完了したか、エラーで終了したかを示します。 OrderManager オーケストレーションと処理ステージ間の接続の詳細については、「逆直接パートナー バインド」を参照してください。
どちらの処理段階でも、自己相関の動的ポートを使用して、 OrderManger に情報を送り返します。 動的なポートを使用して、ポート アドレスがメッセージから送信ポートにコピーされます。
処理ステージが受信するすべての注文メッセージは、 OrderBroker で作成された正規化された正規順序メッセージです。
Note
CableOrder1 オーケストレーションと CableOrder2 オーケストレーションの長さにより、Microsoft Visual Studio でオーケストレーションを開いた状態でこのセクションを読む必要がある場合があります。
CableOrder1 オーケストレーション
CableOrder1 オーケストレーションは、注文メッセージを受信すると開始されます。 まず、このオーケストレーションでは、返信アドレスをメッセージからステージ完了ポートにコピーします。 次に、受信確認メッセージを作成し、 BeginStagePort ポートへの応答として送信し、ルーティング情報をローカル変数に保存します。
次に、SSO から構成情報を取得します。 ソリューションでの SSO の使用方法の詳細については、「 Business Process Management Solution での SSO の効率的な使用」を参照してください。
次に、オーケストレーションは、バックエンド プロセスと通信する OrderHandler オブジェクトのインスタンスを作成し、メッセージの有効性を確認し、メッセージを分析し、サービスの種類と実行するアクションを決定します。 実行するアクションに応じて、注文アクション オーケストレーションの 1 つ を Activate、 Change、または Cancel を呼び出し、 OrderHandler オブジェクトをオーケストレーションに渡します。
その後、 CableOrder1 オーケストレーションは割り込みを確認し、施設グループにメッセージを送信し、読み上げられるまで待機します。 機能グループからメッセージが返されると、処理を続行します。 割り込みがあった場合、オーケストレーションは割り込み例外をスローします。
オーケストレーションは、完了メッセージを作成し、 StageCompletion ポートを介して送信することで完了します。
CableOrder2 オーケストレーション
CableOrder2 オーケストレーションは、ルーティング情報、SSO 構成情報、 および OrderHandler オブジェクトのインスタンスの作成に対して、CableOrder1 オーケストレーションと同じ開始手順を実行します。
次に、オーケストレーションは割り込みを確認し、Complete オーケストレーションの呼び出しで OrderHandler オブジェクトを渡します。 次に、オーケストレーションによって注文ステータス メッセージが作成され、注文履歴が更新され、 StageCompletion ポートを介して完了メッセージが送信されます。