Liberty 組み込み JMS メッセージング・プロバイダー

Liberty メッセージングは、Liberty の組み込みメッセージング・フィーチャーです。これは、Liberty 内で実行される、構成可能で、柔軟、かつ動的な JMS メッセージング・エンジンです。Liberty メッセージングは JMS 1.1 と JMS 2.0 の両方の仕様に準拠しており、Point-to-Point とパブリッシュ/サブスクライブの両方のメッセージング・モデルをサポートします。

Liberty メッセージングは Liberty ランタイム内でのみ実行され、Liberty フィーチャー・マネージャーを使用して、必要に応じてメッセージング・フィーチャーを有効または無効にすることができます。 メッセージング・ランタイムは高度に構成可能であるため、ランタイム用に基本メッセージング・フィーチャーを有効にして、要件に応じて、セキュリティー、トランザクション、リモート通信などの追加のメッセージング・フィーチャーを動的に有効にすることができます。

Liberty メッセージングは、以下の 2 つの部分に分類できます。
  • JMS サーバー・ランタイム: 接続、トランザクション、パーシスタンス、セキュリティーなどのすべてのランタイム機能を提供します。
  • JMS クライアント接続: リソース・アダプター・サポートを提供し、JMS クライアントが同期および非同期メッセージング・アクティビティーを実行できるようにします。

メッセージング・エンジンは、Liberty 内で singleton インスタンスとして実行されます。つまり、常に、1 つのメッセージング・エンジンしか、Liberty カーネル内で実行できません。

Liberty メッセージングのアーキテクチャー

Liberty メッセージングは本質的に高度に構成可能で動的です。Liberty メッセージングは、ユーザー要件に基づいて有効または無効にすることができる、複数の他の内部メッセージング・サブコンポーネント (OSGi バンドルとして実装) から成ります。 OSGi サービスを使用して、コンポーネント・ライフサイクル、依存関係の注入、および構成を管理します。
図 1. Liberty メッセージングのアーキテクチャー
図では、基本 Liberty メッセージング・サービス・コンポーネントが示されています

メッセージング・ランタイムおよび他のメッセージング・サブコンポーネントは、OSGi フレームワーク内で OSGi バンドルとして実行されます。 これにより、Liberty カーネルは、使用に基づいてメッセージング・バンドルをロードまたはアンロードできます。 例えば、ユーザーがメッセージング・セキュリティーを使用しない場合は、メッセージング・セキュリティーに関連するバンドルが初期化されません。

アプリケーション・デプロイメント

Liberty メッセージングでは、3 つのタイプの JMS アプリケーション接続がサポートされます。アプリケーションは、次のいずれかの方法で実行できます。
  • メッセージング・エンジンをホストしている Liberty 内で
  • メッセージング・エンジンをホストしていない別の Liberty 内で
  • WebSphere® Application Server traditional 内で
図 2. アプリケーション・デプロイメント・モデル
図は、Liberty メッセージングでサポートされる 3 つのタイプの JMS アプリケーション接続を示しています

Liberty メッセージングでは、アプリケーション用に in-processnetwork TCP/IP の両方の接続がサポートされます。JMS アプリケーションが、メッセージング・エンジンが実行されているのと同じ JVM 内にデプロイされている場合、アプリケーションは、TCP/IP 層を介することなく、in-process メッセージング・エンジンと通信できます。 これにより、アプリケーションによるメッセージの送受信で大幅なパフォーマンス上のメリットが得られます。

メッセージング・エンジンをホストしていない Liberty で実行されている JMS アプリケーションは、メッセージング・エンジンと通信するために、TCP/IP を介して接続する必要があります。

メッセージ処理

宛先 (キューまたはトピック) は常に、宛先が定義されているメッセージング・エンジンにローカライズされます。アプリケーションは宛先との間でメッセージを送受信する必要がある場合、宛先をローカライズするメッセージング・エンジンに常に接続する必要があります。
図 3. Liberty メッセージングでのメッセージ処理
Liberty メッセージングがどのようにメッセージを処理するのかを示した図

トピックのタイプを示すアイコン 概念トピック

ファイル名: cwlp_msg_embedded.html