チュートリアル : 初めてのビジネス プロセス構築

     前  次    目次     
ここから内容

メッセージ ブローカの使用

このチュートリアルの Part IV には手順 13 から手順 15 までがあります。「ループ ロジックと並行パスの追加」で作成したビジネス プロセスに基づいて作業を行います。

メッセージ ブローカは、WebLogic Integration ビジネス プロセスに、パブリッシュおよびサブスクライブというメッセージベースの通信モデルを提供します。また、メッセージ ブローカには、メッセージ フィルタ処理機能も含まれます。このシナリオでは、RequestQuote ビジネス プロセスは、クライアントから受信する見積り要求メッセージをメッセージ ブローカ チャネルにパブリッシュします。見積り要求を何らかの方法で検証するさまざまなサービスが、そのチャネルにサブスクライブできます。要求がこれらのサービスのいずれかによって無効と判断された場合、そのサービスは、RequestQuote プロセスがサブスクライブしている 2 番目のメッセージ ブローカ チャネルにメッセージをパブリッシュします。実行中の RequestQuote プロセスがこのようなメッセージを受信すると、プロセスが終了し、見積りが処理されない理由を示すメッセージがクライアントに送信されます。

見積り要求を検証する 1 つの外部サービスと、2 つのメッセージ ブローカ チャネルを指定するチャネル ファイルが、チュートリアルのシナリオをサポートするために用意されています。メッセージ ブローカ チャネルの作成、それらのチャネルへのパブリッシュおよびサブスクライブ、および終了の原因となるバインドされていないメッセージの受信を処理するビジネス プロセスの設計について学習します。

WebLogic Integration メッセージ ブローカについては、「メッセージ ブローカについて」を参照してください。チュートリアルのこのパートでモデルとしているシナリオの説明については、「検証サービス シナリオについて」を参照してください。

Part IV の手順は以下のとおりです。

手順 13 : メッセージ ブローカ チャネルへのパブリッシュおよびサブスクライブ

チュートリアルの Part I ~ III で作成したビジネス プロセスを基に、ビジネス プロセスが見積り要求をメッセージ ブローカ チャネルにパブリッシュする方法と、メッセージ ブローカ チャネルにサブスクライブする方法を指定するノードを RequestQuote ビジネス プロセスに設計します。

手順 14 : ビジネス プロセスのメッセージ パスの設計

ビジネス プロセスがサブスクライブしているメッセージ ブローカ チャネルからのコールバックを処理するメッセージ パスを追加し、このようなコールバックを受信したときの RequestQuote プロセスのアクションを指定します。

手順 15 : 見積り検証サービスを使用した見積り要求ビジネス プロセスの実行およびテスト

拡張した見積り要求ビジネス プロセスを実行およびテストします。

メッセージ ブローカについて

メッセージ ブローカには、メッセージをパブリッシュしたり、サービスがメッセージを受信するためにサブスクライブしたりできる、タイプ別のチャネルが用意されています。メッセージがサブジェクト ベースまたはコンテンツ ベースでルーティングされるようにシステムを設計できます。

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 ビジネス プロセスとの対話を示しています。

メッセージ ブローカ チャネルを介したビジネス プロセス間の対話は、図内の数字で示されています。フローは以下のようになります。

  1. RequestQuote ビジネス プロセスは、見積り要求メッセージを ValidateOrder メッセージ ブローカ チャネルにパブリッシュします。
  2. ValidateOrder ビジネス プロセスは、サブスクライブしている ValidateOrder チャネルでメッセージを受信すると、処理を開始します。
  3. ValidateOrder ビジネス プロセスは、見積り要求メッセージ内の注文を無効と判断した場合、メッセージを StopQuote メッセージ ブローカ チャネルにパブリッシュします。
  4. RequestQuote ビジネス プロセスは、StopQuote メッセージ ブローカ チャネルにサブスクライブし、onMessage パスでこのチャネルからメッセージを受信します。onMessage パスで Deny Quote ノードからクライアントに応答が送信され、RequestQuote ビジネス プロセスが終了します。

次のトピックに進み、チュートリアルの Part IV に含まれる手順を開始してください。


  ページの先頭       前  次