次の方法で共有


パターンを使用した設計: ビジネス プロセス管理ソリューション

ビジネス プロセス管理ソリューションは、BizTalk アプリケーションでプロセス マネージャーを構築する 1 つの方法を示しています。 このソリューションでは、コンポーネントを使用して、順序処理の段階のシーケンスを選択および制御します。 このソリューションは、新しいサービス、変更、またはサービスの取り消しに関する注文を受け取り、それをログに記録し、処理のために注文を渡す前に確認します。 処理は、順序を処理する 1 つ以上のステージで構成されます。 最後に、ソリューションは元の注文要求に対する最終的な応答を返します。

適切に設計されたプロセス管理ソリューションを使用すると、アプリケーションの残りの部分を再構築することなく、プロセスのステージを追加または減算できます。 このソリューションで取られたアプローチでは、まさにそれが可能です。 注文プロセスは、個別の独立したステージに分割されます。 すべてのステージは、同じポートから読み取り、フィルターを使用して、処理するメッセージを決定します。 これについては、次のセクション「パターン」で詳しく説明します。

このソリューションでは Web サービスを介した入力も受け付けますが、FTP 接続を介してこのソリューションでサービス以外のインターフェイスを使用することもできます。 この機能は、バッチ システムでのアプリケーションの使用方法をシミュレートします。

パターン

次の図は、前のセクションで説明したように、ビジネス プロセス管理ソリューションのパターンの簡略化されたバージョンを示しています。

ビジネス プロセス管理ソリューション パターン

このソリューションは、サービス インターフェイス、FTP チャネル、さまざまなトランスレーター、プロセス マネージャー、2 つの処理ステージの各部分で構成されています。 前処理セクションの 4 人のトランスレーターは、サービス インターフェイスに戻り、履歴または追跡データベースにエントリを生成し、サービス システムにエントリを作成する受信確認メッセージを作成します。 4 番目のトランスレーターは、プロセス マネージャーが必要とするメッセージを作成します。 プロセス マネージャーは、処理ステージを制御します。

多くのプロセス マネージャー実装では、マネージャーは処理状態を追跡します。 この実装は、図に示すように、これを変更します。 このソリューションでは、プロセス マネージャーは、メッセージを次に処理する必要がある処理ステージを示すフラグをメッセージに設定します。 各ステージでは、フィルターを使用して、特定のメッセージを処理する必要があるかどうかを判断します。

この方法を使用すると、プロセス マネージャーはルーティング情報を保持する必要はありません。 マネージャーとさまざまなステージの間のすべてのメッセージは、同じポートを使用します。 ステージを追加するには、適切なポートで送受信するコンポーネントと、正しいステージ番号のフィルターを追加するだけで済みます。 プロセス マネージャー自体で何も変更する必要はありません。

図には多くの情報が省略されていることに注意してください。 処理ステージは、バックエンド プロセスと通信する場合があります (実際には通信できます)。 ソリューションでは、プロセス内の複数のポイントで履歴情報を収集することもできます。 おそらく、最も重要なのは、プロセス マネージャーのロジックが指定されていないことです。 また、同期接続または非同期接続の使用は指定されていません。 これらは、次のセクションで考慮されます。

こちらもご覧ください

ビジネス プロセス管理ソリューションのパターン
ビジネス プロセス管理ソリューションのパターンの翻訳