Oracle® Fusion Middleware Oracle WebLogic Server Microsoft .NET 対応の WebLogic JMS クライアントの使用 11g リリース 1 (10.3.1) B55555-01 |
|
戻る |
次へ |
以下の節では WebLogic JMS .NET クライアントの概要を示し、JMS .NET クライアント アプリケーションから WebLogic JMS リソースにアクセスする方法について解説します。また、WebLogic JMS .NET API についても簡単に説明します。
ここでは、.NET のプログラミングおよび JMS 1.1 の概念と機能に精通している読者を対象としています。
WebLogic JMS .NET クライアントは完全に管理された .NET 実行時ライブラリとアプリケーション プログラミング インタフェース (API) です。このクライアントを使用すると、プログラマは WebLogic Java Message Service (JMS) のアプリケーションとリソースにアクセスできる .NET C# クライアント アプリケーションを作成できます。
WebLogic JMS は、JMS 1.1 仕様を完全にサポートするエンタープライズ レベルのメッセージング システムであり、(http://java.sun.com/products/jms/docs.html
を参照) 標準の JMS API に加えて、多数の 「WebLogic JMS 拡張」も提供しています。WebLogic Server の JMS の付加価値機能の概要については、『Oracle Fusion Middleware Oracle WebLogic Server JMS のコンフィグレーションと管理』の「WebLogic Server の JMS の付加価値機能」を参照してください。
JMS .NET API のすべてのクラスとインタフェースの詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Microsoft .NET メッセージ API』マニュアルを参照してください。
WebLogic JMS .NET クライアントはWebLogic Server 10g リリース 3 以降に付属しており、Microsoft .NET Framework バージョン 2.0 から 3.5 まででサポートされます。インストールの詳細については、「WebLogic JMS .NET クライアント ライブラリのインストールおよびコピー」で説明します。
このリリースについては、WebLogic JMS .NET クライアントは JMS バージョン 1.1 仕様の主な標準機能 をサポートします (http://java.sun.com/products/jms/docs.html
を参照)。 サポートされない JMS 1.1 の標準機能のリストについては、「WebLogic JMS .NET クライアントの使用に関する制限事項」を参照してください。
標準の JMS 1.1 仕様のサポートに加えて、WebLogic JMS .NET クライアントはいくつかの WebLogic JMS 拡張機能もサポートしています。サポートされる機能の詳細と JMS .NET クライアントでの使用方法については、「WebLogic JMS 拡張機能の使用」を参照してください。
WebLogic JMS .NET クライアントは以下のメッセージング モデルをサポートしています。
ポイント ツー ポイント (PTP) メッセージング モデル。1 つのアプリケーションが 1 つの宛先にメッセージを送信できます。
パブリッシュ/サブスクライブ (pub/sub) メッセージング モデル。1 つのアプリケーションが複数のアプリケーションにメッセージを送信できます。
メッセージは永続または非永続として指定できます。
永続メッセージは確実に 1 回だけ配信されることが保証されている。メッセージは JMS サーバに障害が起きても失われず、一度アプリケーションで確認応答されれば再配信されることはありません。メッセージは、ファイルまたはデータベースに正常に書き込まれるまで送信されたとは判断されません。
非永続メッセージは格納されない。最大で 1 回配信されることが保証されています。メッセージは JMS プロバイダで障害が起きると失われ、再配信されることはありません。
詳細については、『Oracle Fusion Middleware Oracle WebLogic Server JMS プログラマーズ ガイド』の「メッセージング モデルについて」を参照してください。
JMS 1.1 仕様に定義されているように、WebLogic JMS .NET クライアントは次のメッセージ タイプをサポートします (http://java.sun.com/products/jms/docs.html
を参照)。
Message
BytesMessage
MapMessage
ObjectMessage (同じ言語で記述されたプロデューサとコンシューマの間のみ)
StreamMessage
TextMessage
WebLogic JMS で提供されている XMLMessage タイプの拡張機能はこのリリースではサポートされていません。このタイプのメッセージを .NET クライアントで受信した場合は、自動的に TextMessage タイプに変換されます。
サポートされるメッセージ タイプの使用の詳細については、「異なる言語環境間でのメッセージの交換」を参照してください。
次の図では、.NET Framework CLR で実行される JMS .NET クライアント アプリケーションが WebLogic Server にデプロイされている JMS リソースにアクセスする仕組みを示します。
注意 : 図 1-1 に示された WebLogic コンポーネントはすべて WebLogic Server 10g リリース 3 以降の単一のインスタンスにホストされています。複数サーバまたはクラスタのコンフィグレーションでは、WebLogic Server の各コンポーネントは WebLogic Server の別々のインスタンス上で実行できます。ただし、JMS .NET クライアント ホストは WebLogic Server 10g リリース 3 以降で実行する必要があり、接続ホストと JMS サーバは WebLogic Server 8.1 以降の同じクラスタ内で実行する必要があります。 |
図に示された主なコンポーネントは以下のとおりです。
C# で記述された JMS .NET クライアント。NET Framework CLR 内で実行されます。送り先に対してメッセージを生成したり、送り先からのメッセージを消費したりします。
WebLogic Server 10g リリース 3 以降で実行される JMS .NET クライアント ホスト。JMS .NET クライアントと WebLogic JMS の間のインタフェースを提供します。
.NET クライアント ホスト上にコンフィグレーションされている標準の T3 プロトコル リスン ポート。
1 つまたは複数の接続ホスト (つまり、接続ファクトリ)。
一連の JMS 送り先が定義されている 1 つまたは複数の JMS サーバ。
JMS サーバへのトラフィックは常に、.NET クライアントから JMS .NET クライアント ホストを通じて接続ホストへ、さらに JMS サーバへとルーティングされます。JMS .NET クライアントへのトラフィックは常に、JMS サーバから接続ホストへ、さらに JMS .NET クライアント ホストを通じて .NET クライアントへとルーティングされます。
図 1-1 に示したような、JMS .NET クライアントと JMS サーバの間のメッセージ交換のプロセスを簡単にまとめると、以下のようになります。
JMS .NET クライアントは、WebLogic Server 10g リリース 3 以降で実行されている JMS .NET クライアント ホストとの間に最初の T3 ネットワーク接続を確立します。
JMS .NET クライアントは JMS .NET クライアント ホストから接続ファクトリを取得します。
JMS .NET クライアント ホストは JNDI から接続ファクトリを取得します。
JMS .NET クライアントは接続ファクトリを使用して接続を作成します。JMS .NET クライアント ホストから、接続ファクトリが存在する接続ホストの 1 つに向かって接続が確立されます。
JMS .NET クライアントがメッセージを送信 (生成) すると、JMS .NET クライアント ホストはそのメッセージを接続ホストに送信します。接続ホストは、送り先をホストしている JMS サーバにメッセージをルーティングします。一方、JMS .NET クライアントがメッセージを受信 (消費) する場合は、接続ホストが、送り先をホストしている JMS サーバから JMS .NET クライアント ホストへメッセージをルーティングします。JMS .NET クライアント ホストは JMS .NET クライアントへメッセージを渡します。
JMS .NET クライアント アプリケーションの作成手順と例については、「WebLogic JMS .NET API を使用した基本的な JMS アプリケーションの開発」で説明しています。
以下の節では、JMS .NET クライアント アプリケーションが JMS リソースにアクセスするために必要なコンフィグレーションについて説明します。
JMS .NET クライアントでは、JMS .NET クライアント ホストをホストしている WebLogic Server インスタンスで、T3 プロトコル用にコンフィグレーションされたリスン ポートが有効になっている必要があります。WebLogic Server をインストールしたときに、デフォルト ポートは T3 プロトコルを使用するようにコンフィグレーションされます。デフォルト ポートのコンフィグレーションは変更したり無効にしたりできるため、システム管理者はサーバのデフォルト ポートで T3 プロトコルが有効になっていることを確認するか、T3 プロトコルをサポートするネットワーク チャネルを追加する必要があります。コンフィグレーション情報については、以下のトピックを参照してください。
『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「デフォルト ネットワーク接続のコンフィグレーション」
『Oracle Fusion Middleware Oracle WebLogic Server サーバ環境設定』の「ネットワーク チャネルについて」
JMS .NET クライアント アプリケーションが WebLogic Server にデプロイされている JMS リソースにアクセスする前に、WebLogic Server システム管理者は必要な JMS リソース (接続ファクトリ、JMS サーバ、送り先など) をコンフィグレーションしておく必要があります。JMS リソースのコンフィグレーション手順については、以下を参照してください。
『Oracle Fusion Middleware Oracle WebLogic Server JMS のコンフィグレーションと管理』
『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「メッセージングのコンフィグレーション」
JMS .NET クライアントは WebLogic Server 10g リリース 3 以降とのみ直接通信できます。図 1-2 に示すように、JMS .NET クライアント ホストは WebLogic Server 10g リリース 3 以降で実行する必要があります。ただし、接続ホストと JMS サーバは WebLogic Server 8.1 以降で実行できます。接続ホストと JMS サーバは両方とも同じクラスタ内に配置する必要があります。
送り先が WebLogic Server 8.1 以降で実行されていて、WebLogic Server 10g リリース 3 以降で実行されている .NET クライアント ホストと同じクラスタ内にない場合、その送り先にアクセスするには、WebLogic Server のリモート インスタンスを外部サーバとしてコンフィグレーションする必要があります。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server JMS のコンフィグレーションと管理』の「外部サーバ リソースからサード パーティ JMS プロバイダへのアクセスのコンフィグレーション」を参照してください。
注意 : JMS Java クライアントを使用し、外部サーバを使用してサードパーティの JMS プロバイダに接続することもできますが、この機能は WebLogic JMS .NET クライアントではサポートされていません。 |
以下の表では、JMS .NET クライアント アプリケーションの作成に使用できる JMS .NET API の主要なクラスとインタフェースを示します。JMS .NET API のすべてのクラスとインタフェースの詳細については、『』マニュアルを参照してください。
表 1-1 WebLogic JMS .NET のクラスとインタフェース
インタフェース/クラス | 説明 |
---|---|
Constants |
|
ContextFactory |
|
IContext |
|
IConnectionFactory |
|
IConnection |
|
ISession |
|
IDestination |
|
ITopic |
ISession.CreateConsumer(IDestination destination) ISession.CreateProducer(IDestination destination) |
IQueue |
ISession.CreateConsumer(IQueue queue) ISession.CreateProducer(IQueue queue) |
IMessageConsumer |
JMS .NET クライアントは |
IMessageProducer |
JMS .NET クライアントは |
IMessage |
JMS メッセージは以下の部分から構成される。 ヘッダ - すべてのメッセージは同じヘッダ フィールドのセットをサポートする。ヘッダ フィールドには、メッセージの識別やルーティングのためにクライアントとプロバイダの両方で使用される値が格納される。 プロパティ - 各メッセージには、アプリケーション定義のプロパティ値をサポートするための組み込みの機能が含まれている。プロパティは、アプリケーション定義のメッセージ フィルタリングをサポートするための効率的なメカニズムを提供する。 本文 - JMS API では複数のタイプのメッセージ本文を定義している。現在使用されている主要なメッセージング方式に対応している。 |
IMapMessage |
|
IObjectMessage |
|
IStreamMessage |
|
ITextMessage |
|
IBytesMessage |
|