Web メッセージング・サービス概要

Web メッセージング・サービスは、サーバー・サイドのイベントをプッシュするために、ブラウザーを WebSphere® Application Server サービス統合バスに接続する、パブリッシュ/サブスクライブの実装です。クライアント/サーバー通信は、Bayeux プロトコル経由で確立されます。Bayeux プロトコルは HTTP ベースのメッセージング・ルーティング・プロトコルです。詳しくは、Bayeux および CometD の Web サイトを参照してください。Bayeux プロトコルのクライアント・サポートは Dojo Toolkit によって提供されています。現在、Dojo Toolkit は Bayeux プロトコルをサポートしている唯一の JavaScriptTM ライブラリーです。 とはいえ、Bayeux プロトコルのサポートを実装している任意の JavaScriptTM ライブラリーや HTTP クライアントは Web メッセージング・サービスと通信できます。 Web メッセージング・サービスの実装は、着信する Bayeux 要求をサービス統合バスにブリッジします。これにより、Web サービスや JMS クライアント、またはサービス統合バスに接続されている任意の項目がイベントを Web ベースのクライアントにパブリッシュできます。 ランタイム Java アーカイブ (JAR) ファイルを WebSphere Application Server に置き、ユーティリティー・ファイルのライブラリー JAR ファイルをアプリケーションの Web モジュールに置き、単純構成ファイルをセットアップしてサーブレット・マッピングを構成することにより、Web メッセージング・サービスを新規アプリケーションまたは既存のアプリケーションで使用できます。

図 1: アーキテクチャーの全体図:

全体図


図 2: サーバーのアーキテクチャー:
サーバー・ダイアグラム

スケーラビリティー

標準的なアプリケーションでは、ブラウザーは指定した間隔すなわちポーリングでサーバーから定期的に更新を要求します。 Bayeux プロトコル通信の種類は従来のポーリング・モデルとは異なり、long-lived HTTP 接続による通信です。この通信では、 サーバーは通常、イベントのブラウザーへのプッシュを待機するために、一定時間接続をオープンにしておきます。 この通信スタイルの場合、各待機クライアントがイベントの待機に 1 つずつスレッドを消費するため、Web コンテナーは拡張することができません。こうした要求スタイルを処理する他のサーバーでは、拡張に別の方法を用います。 Web メッセージング・サービスは既存の WebSphere Application Server のバージョンを操作するように設計されており、現行の Web コンテナーにはこの通信方法によってうまく拡張できる機能がないため、スケーラビリティーを実現するために、Web メッセージング・サービスには新しいメカニズムが導入されています。

この新しいメカニズムはチャネル・フレームワーク・アーキテクチャーを利用しており、新しいチャネル・フレームワーク・チャネルを作成します。このチャネルは HTTP チャネルを拡張して、着信する Bayeux 要求をサービス統合バスにブリッジします。

Dojo Toolkit の組み込み

Web メッセージング・サービスに対する現在のブラウザーのサポートは、Dojo Toolkit の cometd クライアント・モジュールによって可能になっています。初期化、サブスクリプション、アンサブスクリプション、パブリッシュの各操作は、cometd クライアントにより、簡単に実行されます。 サーバー駆動型イベントは、cometd クライアントを使用することで Dojo のイベントおよびトピック・システムに統合されます。Dojo cometd の使用例は Ajax 開発者ガイドおよび QuoteStreamer サンプル・アプリケーションで提供されています。

サービス統合バスの接続性

Web メッセージング・サービスはブラウザー・クライアントを組み込み型メッセージング・エンジンとサービス統合バスに接続し、 イベントのサブスクライブとパブリッシュ、およびメッセージの受信を行います。 基本的なサービス統合バスへのブリッジは、サービス統合バスのトピック・スペースに対する API の直接呼び出しにより発生します。 各 Web クライアントがサービス統合バスに接続されているため、Web クライアントへメッセージをパブリッシュする方法は複数あります。 こうしたオプションの中には次のようなものがあります。トピックに対する標準的な Enterprise JavaBeans (EJB) のパブリッシュ、トピックに対する JMS クライアントのパブリッシュ、他の Web クライアントに対する Web サービスまたは Web クライアント自身のパブリッシュ。



ご利用条件 | フィードバック