8 MTOMエンコード・メッセージ添付ファイルの使用に関する概要
この章の内容は次のとおりです。
8.1 メッセージ転送最適化メカニズムの概要
メッセージ送信最適化メカニズム(MTOM)を使用すると、クライアントとWebサービスとの間で、JPEG形式の画像などのバイナリ・コンテンツを送信でき、ネット経由の送信サイズを小さくすることができます。
受渡しを可能にするために、バイナリ・コンテンツは通常、xsd:base64Binary
文字列としてXMLドキュメントに挿入されます。この形式でバイナリ・コンテンツを送信すると、伝送中の送信メッセージのサイズが大幅に増え、処理に要する空間と時間の点でコストが高くなります。
MTOMを使用すると、バイナリ・コンテンツをMIME添付ファイルとして送信できるため、ワイヤ書式の送信サイズを小さくできます。バイナリ・コンテンツは意味的にXMLドキュメントの一部です。メッセージ上のWS-Security署名などの操作を適用できる点で、SWA(添付ファイル付きのSOAPメッセージ)よりも優れています。詳細は次の仕様を参照してください。
-
SOAP 1.2:
http://www.w3.org/TR/2005/REC-soap12-mtom-20050125
-
SOAP 1.1:
http://www.w3.org/Submission/2006/SUBM-soap11mtom10-20060405
MTOMを使用してバイナリ・コンテンツを添付ファイルとして渡すと、Webサービス・スタックのパフォーマンスが向上します。MTOMエンコード・メッセージにバイナリ・コンテンツが含まれていない場合、パフォーマンスは影響を受けません。
MTOMは、SOAP 1.2メッセージ用の最適化された送信メカニズムに、XMLスキーマ型xs:base64
Binaryの要素を含むエンベロープを提供します。MTOMは、次の仕様で説明されているデータ処理メカニズムを利用します。
-
XOP (XML-binary Optimized Packaging): コンテンツの型が
xs:base64
Binaryの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サービスへのポリシーのアタッチ方法の理解」を参照してください。