XMS API は、オブジェクト指向インターフェースです。
XMS オブジェクト・モデルは、JMS 1.1 オブジェクト・モデルが基本になっています。
次のリストでは、主な
XMS クラス、つまりオブジェクトのタイプを要約しています。
- ConnectionFactory
- ConnectionFactory オブジェクトは、接続に使用する一連の構成パラメーターをカプセル化します。 アプリケーションは、接続ファクトリーを使用して接続経路を作成します。
アプリケーションは、ConnectionFactory オブジェクトを実行時に作成できます。あるいは、管理対象オブジェクトのリポジトリーから取り出したオブジェクト定義を基にして ConnectionFactory オブジェクトを作成することもできます。
- Connection
- Connection オブジェクトは、アプリケーションの (メッセージング・サーバーへの) アクティブな接続経路をカプセル化します。
アプリケーションは、接続経路を使用してセッションを作成します。
- Destination
- 宛先とは、アプリケーションがメッセージを送信する場所、またはアプリケーションがメッセージを受信する場合の送信元、あるいはその両方のことです。
パブリッシュ/サブスクライブ・ドメインでは、Destination オブジェクトはトピックをカプセル化し、Point-to-Point ドメインでは、Destination オブジェクトはキューをカプセル化します。 アプリケーションは、Destination オブジェクトを実行時に作成できます。あるいは、管理対象オブジェクトのリポジトリーから取り出したオブジェクト定義を基にして Destination オブジェクトを作成することもできます。
- Session
- セッションとは、メッセージを送信および受信するための単一スレッドのコンテキストのことです。
アプリケーションは、セッションを使用してメッセージ、メッセージ・プロデューサー、およびメッセージ・コンシューマーを作成します。
- Message
- Message オブジェクトは、アプリケーションが送信または受信するメッセージをカプセル化します。
- MessageProducer
- アプリケーションは、メッセージ・プロデューサーを使用して、メッセージを宛先に送信します。
- MessageConsumer
- アプリケーションは、メッセージ・コンシューマーを使用して、宛先に送信されたメッセージを受信します。
図 1 に、これらのオブジェクトとその関係を示します。
C++ で記述された XMS アプリケーションは、これらのクラスとそのメソッドを使用します。
また、C で記述された XMS アプリケーションも、C はオブジェクト指向言語でないにもかかわらず、同じオブジェクト・モデルを使用します。C アプリケーションが関数を呼び出してオブジェクトを作成すると、XMS はオブジェクトを内部的に格納して、オブジェクトのハンドルをアプリケーションに戻します。
これによりアプリケーションは、その後このハンドルを使用することで、このオブジェクトにアクセスできます。例えば、C アプリケーションが接続ファクトリーを作成すると、XMS は、接続ファクトリーのハンドルをアプリケーションに戻します。通常は、C++ インターフェースに存在する C++ メソッドごとに、相当する C 関数が C インターフェースに存在します。
.NET では、XMS クラスは一組の .NET インターフェースとして定義されます。
各オブジェクトは、そのインターフェースを具体的に実装することによって実装されます。
XMS .NET アプリケーションをコーディングする場合には、宣言済みのインターフェースを使用することだけが必要です。
XMS オブジェクト・モデルは、「Java Message Service Specification, Version 1.1」で説明されているドメインに依存しないインターフェースに基づいています。 ドメイン固有のクラス (Topic、TopicPublisher、TopicSubscriber など) は提供されません。