|
このチュートリアルの Part IV には手順 13 から手順 15 までがあります。「ループ ロジックと並行パスの追加」で作成したビジネス プロセスに基づいて作業を行います。
メッセージ ブローカは、WebLogic Integration ビジネス プロセスに、パブリッシュおよびサブスクライブというメッセージベースの通信モデルを提供します。また、メッセージ ブローカには、メッセージ フィルタ処理機能も含まれます。このシナリオでは、RequestQuote ビジネス プロセスは、クライアントから受信する見積り要求メッセージをメッセージ ブローカ チャネルにパブリッシュします。見積り要求を何らかの方法で検証するさまざまなサービスが、そのチャネルにサブスクライブできます。要求がこれらのサービスのいずれかによって無効と判断された場合、そのサービスは、RequestQuote プロセスがサブスクライブしている 2 番目のメッセージ ブローカ チャネルにメッセージをパブリッシュします。実行中の RequestQuote プロセスがこのようなメッセージを受信すると、プロセスが終了し、見積りが処理されない理由を示すメッセージがクライアントに送信されます。
見積り要求を検証する 1 つの外部サービスと、2 つのメッセージ ブローカ チャネルを指定するチャネル ファイルが、チュートリアルのシナリオをサポートするために用意されています。メッセージ ブローカ チャネルの作成、それらのチャネルへのパブリッシュおよびサブスクライブ、および終了の原因となるバインドされていないメッセージの受信を処理するビジネス プロセスの設計について学習します。
WebLogic Integration メッセージ ブローカについては、「メッセージ ブローカについて」を参照してください。チュートリアルのこのパートでモデルとしているシナリオの説明については、「検証サービス シナリオについて」を参照してください。
メッセージ ブローカには、メッセージをパブリッシュしたり、サービスがメッセージを受信するためにサブスクライブしたりできる、タイプ別のチャネルが用意されています。メッセージがサブジェクト ベースまたはコンテンツ ベースでルーティングされるようにシステムを設計できます。
WebLogic Integration アプリケーションを構築する場合、メッセージ ブローカ (MB) パブリッシュとメッセージ ブローカ (MB) サブスクリプションという 2 つのメッセージ ブローカ コントロールを使用できます。ビジネス プロセスは、MB パブリッシュ コントロールを使用してメッセージをチャネルにパブリッシュし、MB サブスクリプション コントロールを使用してチャネルに動的にサブスクライブして、メッセージを受信します。
ビジネス プロセスのコントロール ノードに設計する動的なサブスクリプションの他に、開始ノードに静的なサブスクリプションを設計することができます。開始ノードでメッセージ ブローカ チャネルにサブスクライブされているビジネス プロセスは、サブスクライブ先のチャネルでメッセージを受信したときに実行を開始します。
WebLogic Integration アプリケーションでメッセージ ブローカ コントロールを使用する方法の詳細については、「メッセージ ブローカ コントロール」を参照してください。
見積り要求を検証するサービスと、2 つのメッセージ ブローカ チャネルを定義するチャネル ファイルがチュートリアル アプリケーションに用意されています。検証サービスは、ValidateOrder というメッセージ ブローカ チャネルにサブスクライブするプロセス (ValidateOrder.jpd
) です。このサービスは、要求されたウィジェット数に基づいてクライアントの見積り要求を検証します。ValidateOrder.java
は、見積り要求メッセージが ValidateOrder メッセージ ブローカ チャネルにパブリッシュされたときに開始されます。チュートリアル シナリオのこのパートでは、要求されたウィジェット数が 400 を超えた場合に、見積り要求が無効と判断され、ValidateOrder.java
プロセスによって 2 番目のメッセージ ブローカ チャネル (StopQuote) にメッセージがパブリッシュされます。RequestQuote ビジネス プロセスは、StopQuote メッセージ ブローカ チャネルにサブスクライブします。RequestQuote ビジネス プロセスがこのチャネルからメッセージを受信すると、プロセスが終了します。
次の図は、Part IV で構築する RequestQuote ビジネス プロセスの実行時の実行フローと、ValidateOrder ビジネス プロセスとの対話を示しています。
メッセージ ブローカ チャネルを介したビジネス プロセス間の対話は、図内の数字で示されています。フローは以下のようになります。
次のトピックに進み、チュートリアルの Part IV に含まれる手順を開始してください。