Web メッセージング・サービスは、ブラウザーを WebSphere® Application Server サービス統合バス (SIB) に接続してサーバー・サイドのイベントをプッシュするための、パブリッシュ/サブスクライブの実装です。
クライアント/サーバー通信は Bayeux プロトコルを通じて行われます。Bayeux プロトコルは HTTP ベースのメッセージ・ルーティング・プロトコルです。Bayeux プロトコルへのクライアント・サポートは Dojo Toolkit によって提供されます。現在のところ、Bayeux プロトコルをサポートする JavaScript ライブラリーは Dojo Toolkit のみです。しかし、Bayeux プロトコル・サポートを実装する JavaScript ライブラリーまたは HTTP クライアントはいずれも Web メッセージング・サービスと通信することができます。 Web メッセージ・サービス実装は、Bayeux 着信要求をサービス統合バスにブリッジすることで、Web サービス、JMS クライアント、またはサービス統合バスに接続されているすべての項目が Web ベース・クライアントにイベントをパブリッシュできるようにします。新規または既存のアプリケーションで Web メッセージング・サービスを使用できます。 Web メッセージング・サービスを使用するには、ランタイム Java™ アーカイブ (JAR) ファイルを WebSphere Application Server に置き、ユーティリティー・ファイル・ライブラリー JAR ファイルをアプリケーション Web モジュールに置き、 シンプルな構成ファイルをセットアップして、サーブレット・マッピングを構成します。
詳しくは、Bayeux および cometd Web サイトを参照してください。
標準的なアプリケーションでは、 ブラウザーは、指定されたインターバルまたはポーリングで定期的にサーバーからの更新を要求します。 Bayeux プロトコル通信タイプは、従来のポーリング・モデルとは異なり、 存続期間の長い HTTP 接続を通じて通信が行われます。 このタイプの通信では、通常、サーバーが接続を一定の時間オープンにして、 ブラウザーにイベントがプッシュされるのを待機します。 このスタイルの通信では、待機中の各クライアントが、スレッドをコンシュームしてイベントを待機するため、 Web コンテナーを拡張できません。 このスタイルの要求を処理する他のサーバーには、拡張のための別の方式があります。 Web メッセージング・サービスは既存のバージョンの WebSphere Application Server で 機能するように設計されており、現行 Web コンテナーはこの通信方式では拡張が容易ではないため、 拡張容易性を実現するための新しいメカニズムが Web メッセージング・サービス に導入されました。
この新しいメカニズムは、チャネル・フレームワーク・アーキテクチャーを利用して、 HTTP チャネルを拡張する新しいチャネル・フレームワーク・チャネルを作成し、 Bayeux 着信要求をサービス統合バスにブリッジします。
現在の Web メッセージング・サービスのブラウザー・サポートは、Dojo Toolkit cometd クライアント・モジュールによって可能になります。初期化、サブスクライブ、アンサブスクライブ、およびパブリッシュの各操作は cometd クライアントによって実行されます。サーバー駆動型イベントは、 cometd クライアントを通じて Dojo イベントおよびトピック・システムに統合されます。 Dojo cometd の使用例は、Ajax の開発者ガイドおよび QuoteStreamer サンプル・アプリケーションで提供されています。
Web メッセージング・サービスは、 イベントへのサブスクライブおよびパブリッシュと、メッセージの受信のために、 組み込みメッセージング・エンジンとサービス統合バスにブラウザー・クライアントを接続します。サービス統合バスへの基礎となるブリッジは、 サービス統合バスのトピック・スペースへの直接 API 呼び出しによって発生します。Web クライアントはサービス統合バスに接続されているため、 Web クライアントにメッセージをパブリッシュする方法は複数あります。それらのオプションには、トピックへの標準 Enterprise JavaBeans (EJB) のパブリッシュ、 トピックへの JMS クライアントのパブリッシュ、 Web サービス、または他の Web クライアントへの Web クライアント自身のパブリッシュなどがあります。