XML メッセージング用の Java API

Java API for XML Messaging (JAXM) は、分散ソフトウェアアプリケーションがXML (およびSOAP )を使用して通信することを可能にします。JAXM は非同期メッセージングと同期メッセージングの両方をサポートします。

JAXMはJava XMLプログラミングAPIの1つです。

概要

Java API for XML Messaging (JAXM) は、開発者がJavaプラットフォーム上でXMLメッセージングを利用できるようにします。開発者はJAXM APIを使用してXMLメッセージを作成し、インターネット経由で送信することができます。[ 1 ]

次の図は、JAXM と、Web ベースのビジネス ツー ビジネス メッセージングに必要なその他のアーキテクチャ要素との概念的な関係を示しています。

また、Java API for XML メッセージングには、リモート プロシージャ コールに比べて次のような利点がいくつかあります。

  • 一方向(非同期)メッセージング
  • メッセージを複数の相手にルーティングする
  • 配信保証などの機能を備えた信頼性の高いメッセージング

完全なJAXM APIには2つのパッケージが付属しています: [ 2 ]

  • javax.xml.soap: このパッケージには、SOAP メッセージを作成および入力するための API が含まれています。
  • javax.xml.messaging: このパッケージを使用すると、メッセージング プロバイダーを介して一方向メッセージを送信できます。

メッセージ

JAXMのメッセージは、規定されたSOAP形式と標準に準拠したXMLメッセージです。SOAPメッセージには、添付ファイル付きのものと添付ファイルなしのものの2種類があります。例えば、メッセージに画像を含めたい場合は、メッセージに添付ファイルを添付する必要があります。SAAJ APIは、SOAPメッセージの添付ファイル用にAttachmentPartクラスを提供しています。[ 3 ]

接続

すべてのSOAPメッセージの送受信には接続が必要です。接続はメッセージングプロバイダまたは特定の宛先に送ることができます。[ 4 ] JAXM APIは、2種類の接続を表すクラスとインタフェースを提供します。

  • javax.xml.soap.SOAPConnection - 送信者から受信者への直接接続(ポイントツーポイント接続)
  • javax.xml.messaging.ProviderConnectionアーカイブ2013-04-13 at archive.today —メッセージングプロバイダへの接続

SOAP接続

SOAPConnectionは、リモートの相手に直接メッセージを送信するためのポイントツーポイント接続です。[ 5 ]ポイントツーポイント接続を表すSOAPConnectionオブジェクトは、作成と使用が簡単です。SOAPConnectionオブジェクトはサーブレットコンテナ(Tomcatなど)やJ2EEサーバーで実行する必要がないため、使用に際して特別な設定は必要ありません。これは、クライアントがサービスプロバイダを介さずに接続できる唯一の方法です。[ 6 ]

プロバイダー接続

ProviderConnectionオブジェクトは、メッセージングプロバイダーへの接続を表します。(次のセクションでメッセージングプロバイダーについて詳しく説明します。)ProviderConnectionオブジェクトを介してメッセージを送信すると、メッセージはメッセージングプロバイダーに送られます。メッセージングプロバイダーは、メッセージのルーティング指示に従ってメッセージを転送し、最終受信者のメッセージングプロバイダーに到達したら、最終受信者にメッセージを転送します。[ 7 ]

メッセージングプロバイダー

メッセージングプロバイダーは、メッセージを追跡し、正しい宛先にルーティングします。これは、メッセージの送信とルーティングを処理するサービスです。[ 8 ]

メッセージングプロバイダーを使用する場合

JAXMクライアントは、メッセージングプロバイダを使用する場合と使用しない場合があります。一般的に、Webサービスのコンシューマとしてのみ機能する場合は、メッセージングプロバイダは必要ありません。メッセージングプロバイダを使用しない場合の制限事項には、次のようなものがあります。

クライアントはリクエストレスポンスメッセージのみ送信可能 クライアントはクライアントロールでのみ動作可能

メッセージング プロバイダーを使用しない場合の利点は次のとおりです。

  • アプリケーションはJ2SEプラットフォームを使用して作成できます
  • アプリケーションはサーブレットコンテナまたはJ2EEコンテナにデプロイする必要はありません。
  • 設定は不要[ 9 ]

参考文献

  1. ^ 「XML メッセージング用の Java API」
  2. ^ 「XML メッセージング用の Java API」
  3. ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ2013年2月5日閲覧。
  4. ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ2013年2月5日閲覧。
  5. ^ 「SOAPConnection (Java EE 5 SDK)」
  6. ^ 「JAXMの概要」
  7. ^ 「JAXMの概要」
  8. ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ2013年2月5日閲覧。
  9. ^ 「JAXMの概要」

参照