次の方法で共有


BAM によるビジネス プロセス管理ソリューションの監視

このソリューションは、ビジネス アクティビティ監視 (BAM) API を使用して、注文の処理順序を監視します。 ビジネス プロセスのデザインでは、アクティビティを複数のステージに分けます。 アクティビティを再び組み合わせて、連続するプロセスのような一体感を持たせることができます。 BAM は集計データも提供するので、各バックエンドに要する時間、完了した注文数、その他の関連情報を入手できます。

サービス指向ソリューションと同様に、新しい OrchestrationEventStream オブジェクトを使用します。 OrchestrationEventStream オブジェクトの詳細については、「BAM を使用したサービス指向ソリューションの監視」の「OrchestrationEventStream オブジェクトとは」を参照してください。

BAM の一般的な情報については、「 Using Business Activity Monitoring」を参照してください。 追跡プロファイル エディター (TPE) の詳細については、「 追跡プロファイル エディター」を参照してください。

OrchestrationEventStream オブジェクトのラップ処理

サービス指向ソリューションと同様に、ビジネス プロセス管理ソリューションは OrchestrationEventStream オブジェクトをラップします。 また、サービス指向ソリューションと同様に、メソッドはすべて静的であるため、メソッドを使用するためにオーケストレーションでオブジェクトのインスタンスを作成する必要はありません。 つまり、エンジンによってオーケストレーションが退避される場合は、追跡に使用したオブジェクトをシリアル化する必要がなく、保存する (シリアル化可能にする) 必要もありません。 ただし、ビジネス プロセス管理ソリューションは、 OrchestrationEventStream を 1 つの抽象オブジェクトから派生した複数のオブジェクトでラップします。

抽象クラスは BasicActivity です。 このクラスは抽象ですが、派生したクラスのテンプレートとして機能するというよりは、 クラスの静的メソッドを経由して、派生したクラス内で修飾なしで使用できる一連のメソッドを提供します。 このため、メソッドの既定の実装は 4 種類用意されています。 4 つの静的メソッドは、 CreateActivityIdBeginActivityUpdateActivityEndActivity です

クラスは BeginActivity メソッドをオーバーロードします。 このメソッドには、アクティビティ名を唯一の引数として受け取り、GUID を作成してアクティビティ識別子として使用するバージョンがあります。このバージョンは、同じメソッドの別のバージョン (アクティビティ名とアクティビティ識別子を受け取るバージョン) を呼び出して、アクティビティ識別子を返します。 この引数を 1 つだけ受け取るバージョンは、注文に一意の識別子がない場合に役立ちます。

CreateActivityId メソッドは、要求識別子などの文字列と一意の識別子を受け取り、アンダースコアと連結する文字列を返します。 これは一意のアクティビティ識別子となり、派生したクラスで広く使用されます。 BeginActivityUpdateActivityおよび EndActivity メソッドは、OrchestrationEventStreamBeginActiviyUpdateActivityおよび EndActivity メソッドを呼び出します。

このソリューションは、注文ブローカー (CustomerOrderRequest)、注文マネージャー (OrderManager)、処理ステージ (ServiceOrderRequest) の BasicActivity からクラスを派生させます。 クラスはそれぞれ、アクティビティに対応しています。 各クラスは、アクティビティ識別子とアクティビティ マイルストーンに特化したメソッドを作成するために CreateActivityId で使用されるアクティビティ名の文字列を提供します。

注文ブローカは注文を渡し、後で応答を受け取るため、注文の要求識別子に割り当てられたアクティビティ識別子を回復するメソッドを含んでいます。 これによって、ビジネス プロセスが注文処理の最終的な要素の追跡を続けることが可能になります。

Note

カスタマ サービス Web アプリケーションを使用せずに、ファイル機能から注文を送信した場合は、要求ごとに一意の識別子を追加する必要があります。

参照

ビジネス プロセス管理ソリューションの開発