Oracle E-Businessインフラストラクチャは、Oracle Advanced Queuing(AQ)を使用してOracleベースのシステム間でメッセージ送信を行います。AQは、データベースと統合された、堅牢でスケーラブルなメッセージ・キューイング・システムを提供します。AQには、BESなどの主要キューイング製品へのゲートウェイ、およびJava言語プログラムと通信するためのJMSインタフェースが用意されています。通信を可能にするため、AQではキュー、キュー表および伝播規則を提供します。AQのサポートは、AQ以外のメッセージ・ソフトウェアを使用する場合はオフにできます。
AQキュー表は、キューイング操作をサポートするリレーショナル・データベース表です。AQキュー表には、1つ以上のメッセージ・キューを含めることができます。メッセージは、次の情報から構成されます。
制御情報: メッセージの管理にAQで使用されます。
ペイロード: キューに格納される情報です。
標準SQLを使用し、次の操作を実行できます。
ペイロード、制御情報および履歴へのアクセス
アクセスの最適化
キューは、Oracle AQ管理インタフェースを使用して、作成、変更、開始、停止および削除できます。
データベースを使用するアプリケーションは、キューを介してデータを送受信できます。伝播は、あるキューから、異なるシステムに存在する可能性のある別のキューに、メッセージを送信します。E-Business統合において従うメッセージの伝播規則により、統合点のソースでエンキューされたメッセージが、必ず統合点のターゲット側でデキューされます。メッセージは、SQL*Net、HTTPまたはHTTPSで伝播できます。
Business Event Systemは、アウトバウンド・メッセージを常にAQキューに配置します。実際のメッセージ伝播は、AQ自体で行うことも、サード・パーティ製のメッセージ・ゲートウェイを使用して実装することもできます。
生成された伝播定義により、メッセージをリモート・キューに伝達できます。このため、AQは、AQ名、メッセージの伝播先システムの名前およびプロトコルを使用して伝播スケジュールを設定します。ターゲット・システムの個々のキューは、個々のメッセージの受信者リストまたはパブリッシュ・サブスクライブ・メカニズムを使用してアドレスを指定します。
Oracleシステムと通信していない場合、またはAQ伝播が使用可能でない場合は、メッセージ伝播にOracle Message Broker(OMB)を使用します。OMBは、ファイアウォール越しに伝播する場合にも使用できます。このため、インターネット伝播を必要とするアプリケーションで使用することができます。
エージェントはキュー・ユーザーです。これは、エンド・ユーザーまたはアプリケーションです。エージェントには次の2種類があります。
メッセージをキューに配置(エンキュー)するプロデューサ
メッセージを取得(デキュー)するコンシューマ
一度に任意の数のプロデューサおよびコンシューマがキューにアクセスできます。エージェントは、Oracle AQ APIを使用してメッセージをキューに挿入し、キューからメッセージを取得します。
エージェントは、名前、アドレスおよびプロトコルにより識別されます。
エージェントの名前は、アプリケーションの名前、またはアプリケーションにより割り当てられた名前です。キュー自体が、別のキューからエンキューまたはデキューするエージェントである場合もあります。
アドレス・フィールドは、プロトコルのコンテキストで解釈される最大1024バイトの文字フィールドです。たとえば、プロトコルのデフォルト値は0で、データベース・リンク・アドレスを意味します。この場合、このプロトコルのアドレスは次のような形式になります。
queue_name@dblink
queue_nameは[schema.]queue の形式で、dblinkは、完全修飾データベース・リンク名またはドメイン名のないデータベース・リンク名です。
E-Business統合でサポートされるプロトコルは、SQL*Net、HTTPまたはHTTPSです。
AQには、他の主要キューイング製品とのインタフェースが用意されています。たとえば、E-Business統合では、AQメッセージとのインタフェースとなるオプションのイベント・システムとして、Oracle Workflow BESを使用します。BESを使用すると、ローカル・システムの既存のワークフロー・プロセスを簡単に統合することができ、メッセージの内容に基づいてメッセージの条件付きルーティングを実行することもできます。BESまたはローカル・ワークフローがない場合は、かわりにAQメッセージ交換インフラストラクチャを直接起動し、ビルトインの内容ベースのルーティング機能を使用します。
AQには、Javaで作成されたアプリケーションがキューにアクセスできるようにするJMSインタフェースが用意されています。