BESおよび判断について

次の例で、複雑ですが一般的なケースを紹介します。Order[received]メッセージがOrdersシステムで呼び出された場合、2つの宛先が考えられます。最終的なターゲットとなる宛先は、顧客の出荷先の住所により判断されます。この情報は、メッセージ内に格納されます。メッセージの適切な宛先を判断するには、メッセージに対していくつかの評価を実行する必要があります。

図1: 考えられるターゲットが2つある場合の判断のダイアグラム

Activity diagram containing four swimlanes: Orders, Finance, Shipping and Hub.Orders swimlane contains: the INITIAL pseudostate, the Take Order activity, the Order [received] object flow state and an OR pseudostate all with transitions between them. The transition between TakeOrder and Order displays a channel icon and an [order received] guard condition.Finance swimlane contains: the Credit Check activity and a FINAL pseudostate. There is a transition with a channel and an [order › 1000] guard condition from the OR pseudostate in the Orders swimlane to the Credit Check activity, and a transition from the Check Credit activity and the FINAL pseudostate.Shipping swimlane contains: the Allocate Stock activity and a FINAL pseudostate. There is a transition with a channel and an [order ‹ 1000] guard condition from the OR pseudostate in the Orders swimlane to the Allocate Stock activity, and a transition from the Allocate Stock activity and the FINAL pseudostate.The Hub swimlane is defined as the Hub and is empty.

この場合、BESは、Order[received]イベントが発生したという通知を受信しても、メッセージを即時に別のアプリケーションに渡すことはできません。かわりに、Oracle Workflowのルーティングおよび判断処理機能を使用してメッセージを評価し、送信先を判断します。Oracle Workflowは、判断プロセスの一部としてユーザー指定のJavaコードを起動します。結果に応じて、2つのターゲット・アクティビティの1つがアクティブになります。

図1に示されている内容ベース・ルーティングの実装に必要な定義はすべて、次のとおりです。


関連項目

Business Event SystemおよびE-Business統合
Business Event System定義について
BESおよび統合点について
BESおよびハブについて
カスタム・インスタンス・ルーティング・ロジックの使用