メッセージ交換アーキテクチャ

このトピックでは、E-Business統合で使用されるメッセージ・サービス間の関係について説明します。図1はそのアーキテクチャを示しています。

通信は、アプリケーション・システム上のアダプタがOracle WorkflowのBusiness Event System(BES)に対して、あるイベント(Order[received]というオブジェクト・フロー状態が関連付けられたイベントなど)が発生したことを通知すると開始されます。BESは、イベントの受信を参照し、このタイプのイベントを送信するターゲット・システムを指定します。ターゲット・システムを(この場合は注文のサイズまたは種類に基づいて)判断する必要がある場合、Workflowが起動してメッセージ内容を評価します。ターゲットが指定された後、BESはそのシステムのキューにメッセージを渡します。

図1に示したアーキテクチャでは、キューイング・システム(この例ではOracle Advanced Queuing(AQ))へのインタフェースとしてJava Messaging Service(JMS)を使用しています。AQは、データベースとの間でのメッセージの非同期受渡しに使用されます。

図1: E-Business統合で使用されるメッセージ・サービス

This illustration is described in the text.

データベースとAQ/JMSのインタフェース

Advanced Queuingは、Oracleのデータベース統合型メッセージ・キューイング・システムです。AQは従来のエンタープライズ・メッセージ・システムの機能をすべて提供するだけでなく、それ自体が完成したメッセージ管理システムでもあります。メッセージはオブジェクト・データをペイロードとして運び、データをデータベースから出し入れする手段としてAQを使用します。AQはJMS API仕様を実装および拡張することで、AQへのJavaインタフェースを提供するとともにAQ独自の機能を追加しています。

AQ/JMSとアダプタのインタフェース

メッセージ通信に参加するには、アプリケーション・システムでアダプタを使用する必要があります。アダプタは、アプリケーションからの情報を送信に適した形式に変換し、受信された情報を受信側のアプリケーションが必要とする形式に再構築するために使用されます。これらのアダプタは、キューを介して情報を非同期に送受信します。

Business Components for Javaアダプタ

E-Business統合で使用されるこの種のアダプタの1つに、Business Components for Javaに基づいたアダプタがあります。Business Components for Javaアダプタを図2に示します。ビジネス・イベント・データ(新規注文など)がデータベースに入力されると、Business Components for JavaはそのデータをJavaオブジェクトとして使用できるようにします。Business Components for Javaにとって、これはそのビジネス・データがエンティティ・オブジェクト、ビュー・オブジェクト、およびアプリケーション・モジュールとして表されることを意味します。

図2: Business Components for Javaアダプタ

This illustration is described in the text.

Business Components for Javaには、これらのコンポーネントをXMLとの間で変換するメソッドが含まれています。データはXMLに変換してメッセージ・キューに配置できます。メッセージ・ペイロードは、データベースに格納されている元のビジネス・データから導出されたXMLデータです。このメッセージは1つ以上のターゲット・システムへルーティングされ、ターゲット・システムでは同じ処理を逆に実行してリモート・データベースにデータを格納します。