8 MTOMエンコード・メッセージ添付ファイルの使用に関する概要

MTOMを使用してバイナリ・コンテンツを渡すと、Webサービスのパフォーマンスが向上します。OWSMを使用すると、MTOMポリシーをWebサービスにアタッチできます。

この章の内容は次のとおりです。

8.1 メッセージ転送最適化メカニズムの概要

メッセージ送信最適化メカニズム(MTOM)を使用すると、クライアントとWebサービスとの間で、JPEG形式の画像などのバイナリ・コンテンツを送信でき、ネット経由の送信サイズを小さくすることができます。

受渡しを可能にするために、バイナリ・コンテンツは通常、xsd:base64Binary文字列としてXMLドキュメントに挿入されます。この形式でバイナリ・コンテンツを送信すると、伝送中の送信メッセージのサイズが大幅に増え、処理に要する空間と時間の点でコストが高くなります。

MTOMを使用すると、バイナリ・コンテンツをMIME添付ファイルとして送信できるため、ワイヤ書式の送信サイズを小さくできます。バイナリ・コンテンツは意味的にXMLドキュメントの一部です。メッセージ上のWS-Security署名などの操作を適用できる点で、SWA(添付ファイル付きのSOAPメッセージ)よりも優れています。詳細は次の仕様を参照してください。

MTOMを使用してバイナリ・コンテンツを添付ファイルとして渡すと、Webサービス・スタックのパフォーマンスが向上します。MTOMエンコード・メッセージにバイナリ・コンテンツが含まれていない場合、パフォーマンスは影響を受けません。

MTOMは、SOAP 1.2メッセージ用の最適化された送信メカニズムに、XMLスキーマ型xs:base64Binaryの要素を含むエンベロープを提供します。MTOMは、次の仕様で説明されているデータ処理メカニズムを利用します。

  • XOP (XML-binary Optimized Packaging): コンテンツの型がxs:base64BinaryのXML Infosetをより効率的にシリアライズするためのメカニズムを提供します。XOP仕様は、Webサイトhttp://www.w3.org/TR/xop10/で入手可能です。

  • DMCBDX (Describing Media Content of Binary Data in XML): コンテンツ型の情報をXMLインスタンスおよびスキーマのバイナリ・データに提供します。この情報を使用して、バイナリ・データの処理を最適化できます。DMCBDX仕様は、Webサイトhttp://www.w3.org/TR/2005/NOTE-xml-media-types-20050504/で入手できます。

  • RRSHB (Resource Representation SOAP Header Block): SOAPメッセージを使用して、JPEGイメージなどのWebリソース表現をSOAPヘッダー・ブロックで送信できます。MTOMおよびXOPと組み合せると、RRSHB SOAPヘッダー・ブロックに含まれるWebリソースは、SOAPヘッダー内のxs:base64Binary文字列ではなく未処理のバイナリMIME添付ファイルとして送信できます。RRSHB仕様は、Webサイトhttp://www.w3.org/TR/2005/REC-soap12-rep-20050125/で入手できます。

これらの仕様は、OSUCR (SOAP Optimized Serialization Use Cases and Requirements)で説明されている要件を満たしています(http://www.w3.org/TR/2004/WD-soap12-os-ucr-20040608/を参照)。

8.2 事前定義済のMTOMアタッチメント・ポリシーについて

MTOM添付のポリシーも、OWSMの事前定義済ポリシーの一部です。

「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」で説明されているように、OWSMには、Oracle Fusion Middlewareをインストールすると自動的に使用可能になる一連の事前定義済のポリシーおよびアサーション・テンプレートが用意されています。表8-1にリストされているMTOMアタッチメント・ポリシーは、この事前定義済セットで使用できます。

表8-1 事前定義済のMTOMアタッチメント・ポリシー

信頼性のあるメッセージング・ポリシー 説明

oracle/wsmtom_policy

MTOM形式でないインバウンド・メッセージを拒否し、アウトバウンド・メッセージがMTOM形式であることを確認します。

事前定義済のMTOMアタッチメント・ポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』MTOMアタッチメント・ポリシーに関する説明を参照してください。

8.3 MTOMポリシーのアタッチについて

MTOMポリシーは、設計時にOracle JDeveloperを使用して、あるいは実行時にOracle Enterprise Managerを使用して、Oracle Infrastructure Webサービスにアタッチできます。

詳細は、「Oracle Infrastructure Webサービスへのポリシーのアタッチ方法の理解」を参照してください。

8.4 MTOMポリシーの構成について

構成ステップは必要ありません。