BESおよび判断について

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

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

4つのスイムレーン(Orders、Finance、ShippingおよびHub)を含むアクティビティ図。 Ordersスイムレーンには、INITIAL擬似状態、Take Orderアクティビティ、Order [received]オブジェクト・フロー状態およびこれらの間を遷移するOR擬似状態が含まれます。 Take OrderとOrder間の遷移には、チャネル・アイコンと[order received]ガード条件が表示されます。 Financeスイムレーンには、Credit CheckアクティビティとFINAL擬似状態が含まれます。 Ordersスイムレーンには、OR擬似状態からCredit Checkアクティビティへのチャネルおよび[order < 1000]ガード条件を伴う遷移と、Credit CheckアクティビティとFINAL擬似状態からの遷移があります。 Shippingスイムレーンには、Allocate StockアクティビティとFINAL擬似状態が含まれます。 Ordersスイムレーンには、OR擬似状態からAllocate Stockアクティビティへのチャネルおよび[order < 1000]ガード条件を伴う遷移と、Allocate StockアクティビティとFINAL擬似状態からの遷移があります。 HubスイムレーンはHubとして定義され、空白です。

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

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


関連項目

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

 

Copyright © 1997, 2004, Oracle. All rights reserved.