WESB V7.5.1 MTOM 利用ガイド Web ソリューション開発日本 IBM システムズ エンジニアリング 2009 IBM Corporation
目次 本資料の目的 MTOM の仕様 MTOM 使用のメリット MTOM サポートの前提環境 MTOM 使用のための設定と制限 設定方法 制限事項 参考資料 2 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
本資料の目的 2011 年 11 月にリリースされた WebSphere ESB V7.5.1 では 新たに MTOM( Message Transmission Optimization Mechanism ) によるデータの添付をサポートしました 本資料では WESB でのメディエーション開発の基礎知識を有するユーザーを対象に V7.5.1 において MTOM を利用する際に必要となる設定や制限について解説します 3 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
MTOM の仕様 MTOM (Message Transmission Optimization Mechanism) とは SOAP メッセージにバイナリーデータの添付を行うテクノロジー XOP (XML-binary Optimized Packaging) を利用したバイナリーデータの送受信を可能とする XMLInfoset に対応 デフォルトで HTTP Chunking を採用.NET との互換性がある 2005 年 1 月 26 日に W3C 勧告として公開 WS-I Basic Profile 1.2 に組み込まれる SOAP1.1/SOAP1.2 いずれのバインディングも規定 <XOP:Include/> タグでバイナリデータへの ID を指定 --MIMEBoundaryurn_uuid_656B55F8C637213FB01187240805196 content-type: application/xop+xml; charset=utf-8; type="text/xml" content-transfer-encoding: binary content-id: <0.urn:uuid:656B55F8C637213FB01187240805197@apache.org> <?xml version="1.0" encoding="utf-8"?><soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:body><ns2:se ndimage xmlns:ns2="http://www.example.org/mtomjaxbservice/"> <inputimage> <xop:include href="cid:urn:uuid:656b55f8c637213fb01187240805195@apache.org" xmlns:xop="http://www.w3.org/2004/08/xop/include"> </xop:include> </inputimage></ns2:sendimage></soapenv:body></soapenv:envelope> --MIMEBoundaryurn_uuid_656B55F8C637213FB01187240805196 content-type: application/octet-stream content-transfer-encoding: binary content-id: <urn:uuid:656b55f8c637213fb01187240805195@apache.org> リ JFIF --MIMEBoundaryurn_uuid_656B55F8C637213FB01187240805196 4 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
MTOM 使用のメリット データ量の節約 バイナリー データを添付ファイルとして XML 外にもつことができる XML 内の文字列としてもつ場合に比べて 伝送時のデータ量を節約できる WS-Security の利用 他のデータ添付の仕様である SwA (SOAP with Attachments) DIME (Direct Internet Message Encapsulation) と比べて MTOM では XMLInfoset が利用できるため WS-Security が利用できる リクエスター プロバイダー バイナリー データ SOAPMessage WS-Security XMLInfoset MTOM SwA DIME 5 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
MTOM サポートの前提環境 IBM WebSphere Application Server - ND 7.0.0.19 7.0.0.19-WS-WAS-IFPM47956 IBM WebSphere Application Server V7 Feature Pack for Service Component Architecture (SCA) 1.0.1.11 1.0.1.11-WS-WASSCA-IFPM45525 1.0.1.11-WS-WASSCA-IFPM51337 1.0.1.11-WS-WASSCA-IFPM50523 1.0.1.11-WS-WASSCA-IFPM51337 IBM WebSphere Application Server V7 Feature Pack for XML 1.0.0.9 1.0.0.9-WS-WASXML-IFPM51341 1.0.0.9-WS-WASXML-IFPM53939 IBM WebSphere Enterprise Service Bus 7.5.1.0 7.5.1.0-WS-BPMADVWESB-IFIC79856 ( 開発環境 ) IBM Integration Designer 7.5.1 MTOM 対応のエクスポート インポートの設定に必要 (IID が 7.5.0 の場合 MTOM 有効化には設定ファイルを手動で編集しなくてはならない ) 灰字 :WESB V7.5.1 導入時に必須 緑字 :XSLT プリミティブ不使用であれば不要 WESB V7.5.1 導入時に必須の ifix は以下から入手可能 IBM - Required interim fixes for business process management products http://www-01.ibm.com/support/docview.wss?uid=swg24031378 6 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
MTOM 使用のための設定と制限 メディエーション モジュール BO 構文解析モードがイーガー解析では使えない (= レイジー解析のみ ) インポート / エクスポート JAX-WS バインディングであること MTOM のチェックボックスを ON に設定 エクスポート インポート内で他の Attachment タイプとの混在は不可 JAX-WS ハンドラーの使用不可 メディエーション フロー コンポーネント (MFC) サービス ゲートウェイ メディエーションでのデータ ハンドラー プリミティブ使用不可 XSLT プリミティブの使用制限 WSDL アタッチメント データのタイプは xs:base64binary であること 詳細は次ページ以降で解説する 7 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
BO 構文解析モードの設定 : レイジー解析 レイジー解析モードでのみ利用可能 V7.5 では これまでのイーガーに代わり レイジーがデフォルト V7.0.x 以前のモジュールをマイグレーションした場合 デフォルトがイーガーとなっているため変更が必要 設定 プロジェクトのプロパティ プロジェクト名を右クリックして プロパティ を選択 表示された プロパティー 画面にて ビジネス インテグレーション > ビジネス オブジェクト構文解析モードと選択 8 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
トランスポート プロトコルの設定 :JAX: JAX-WS 設定 トランスポート プロトコルは以下から選択する SOAP1.2/HTTP SOAP1.1/HTTP JAX-RPC SOAP1.1/JMS バインディングでは利用不可 9 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
MTOM 有効化の設定 : インポート エクスポート エクスポート インポートごとに MTOM 機能を ON/OFF できる MTOM ON 設定のエクスポートでは 応答メッセージは常に MTOM 形式になる MTOM をサポートしないクライアントがいる場合は MTOM OFF 設定のエクスポートを別途用意する 必要がある 設定 エクスポート インポートのプロパティ MTOM のチェックボックスを ON にする ( デフォルト :OFF) しきい値 デフォルト :0 全てのメッセージを MTOM attachment にするデータ サイズを設定 設定以上のサイズのデータを MTOM attachment にする 10 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
JAX-WS ハンドラーの使用制限 JAX-WS ハンドラーの使用はサポートされない Web サービスで指定されている JAX-WS ハンドラーは取り除いておく必要がある 11 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
データ ハンドラー プリミティブの使用制限 サービス ゲートウェイ メディエーション内で データ ハンドラー プリミティブの使用がサポートされない 同プリミティブを使用する場合 サービス ゲートウェイではないメディエーションを用いる 12 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
XSLT プリミティブの使用制限 標準のインストール後の状態では XSLT プリミティブは使用不可 以下のどちらかにより変換パターンを実装できる BO マップ プリミティブで作成する XSLT プリミティブを使用する場合 以下の Fix を適用する 1.0.0.9-WS-WASXML-IFPM53939 7.5.1.0-WS-BPMADVWESB-IFIC79856 13 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
アタッチメントのデータ型の設定 : base64binary 既存のアプリケーションを移行する場合の注意事項 MTOM の仕様により アタッチメントのデータ タイプは base64binary となる WSDL では 添付データに base64binary を定義する 14 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation
参考資料 W3C SOAP Message Transmission Optimization Mechanism http://www.w3.org/tr/soap12-mtom/ Information Center Enabling MTOM support in JAX-WS bindings http://publib.boulder.ibm.com/infocenter/esbsoa/wesbv7r5m1/topic/com.ibm.wbpm. wid.integ.doc/webservice/topics/tenablemtom.html MTOM attachments: top-level message parts http://publib.boulder.ibm.com/infocenter/esbsoa/wesbv7r5m1/topic/com.ibm.websph ere.wesb.overview.doc/topics/cmtomattachments.html Developer Works MTOM による大容量添付ファイルの送受信 http://www.ibm.com/developerworks/jp/websphere/library/was/was7_mtom/ 15 Technical Flash - WESB MTOM 利用ガイド 2011 IBM Corporation