Java API for XML Messaging (JAXM) は、分散ソフトウェアアプリケーションがXML (およびSOAP )を使用して通信することを可能にします。JAXM は非同期メッセージングと同期メッセージングの両方をサポートします。
概要
Java API for XML Messaging (JAXM) は、開発者がJavaプラットフォーム上でXMLメッセージングを利用できるようにします。開発者はJAXM APIを使用してXMLメッセージを作成し、インターネット経由で送信することができます。[ 1 ]

また、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 ]
参考文献
- ^ 「XML メッセージング用の Java API」。
- ^ 「XML メッセージング用の Java API」。
- ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ。2013年2月5日閲覧。
- ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ。2013年2月5日閲覧。
- ^ 「SOAPConnection (Java EE 5 SDK)」。
- ^ 「JAXMの概要」。
- ^ 「JAXMの概要」。
- ^ 「The Java XML Pack」 。 2017年5月10日時点のオリジナルよりアーカイブ。2013年2月5日閲覧。
- ^ 「JAXMの概要」。
参照
- JSR 67: XML メッセージング用の Java(TM) API
- Java API for XML メッセージング (JAXM) 仕様 1.1
- SOAP with Attachments API for Java (SAAJ) 仕様 1.3
- javax.xml.messaging 2016年3月4日Wayback Machineにアーカイブ- このパッケージはJAXM 1.1仕様で規定されています
- javax.xml.soap - このパッケージはSAAJ 1.3仕様で指定されています
- JAXMの概要 2017年5月10日アーカイブWayback Machine
- JAXM の Hello World の例