Comments
Description
Transcript
メッセージ ・ セット
メッセージ・セット 目次 メッセージセットに関する主な変更点 SOAPドメインの追加 DataObjectドメインの追加 XMLNSCドメインの拡張 メッセージ・タイプの追加 複数ドメインの関連付け ランタイム・モデルの生成とデプロイ アダプター接続ウィザードの提供 SAPサポートの拡張 妥当性検査 データタイプ識別 曖昧パース XMLパーサの選択基準 MRMドメインの拡張 自動トランケート機能 TDS拡張 CSVメッセージ・サポート 2 メッセージセットに関する主な変更点 モデル・ドリブン型ドメインの追加、拡張 SOAPドメイン(新規) WSDL、XMLスキーマによるSOAPメッセージのパース/組立 DataObjectドメイン(新規) XMLスキーマによるEISシステムのビジネス・オブジェクトのパース/組立 XMLNSCドメイン(拡張) XMLスキーマによるパース/組立が可能になった MRMドメイン(拡張) メッセージセット(作成時)にドメイン(メッセージタイプ)を指定 複数ドメインの指定が可能 ランタイム・モデルの生成とデプロイ デプロイ時にモデル・ドリブン型ドメインのメッセージ定義からランタイム・モデルを生成 メッセージ・ディクショナリー、XMLスキーマ、WSDL BARファイルにこれらモデルが格納されて実行環境にデプロイ モデル・ドリブン型ドメインでは、事前にメッセージ定義を作成し、デプロイにて実行環境にメッセージのモデル(ランタイ ム・モデル)を配置。ブローカーはそのモデルを基にメッセージのパース/組立を実施。V6.0までは、MRMドメインおよび IDOCドメインがモデル・ドリブン型。 3 SOAPドメインの追加 SOAPメッセージを扱うための新規ドメイン SOAP 1.1、1.2に対応 MIME 1.0(SOAP with Attachments)、MTOM 1.0(*)をサポート WSDL(XMLスキーマ)を基にパース/組立、妥当性検査を実施 WSDLおよびXMLスキーマはデプロイ時に実行環境に配置される(後述) SOAPノードで使用 他ノードでは使用不可 WS-Addressing、WS-Securityに対応 詳細は、メッセージ・フローのセッションを参照 SOAPメッセージのツリー構造 Root Properties Context TransportHeaders Header Body SOAP Attachment *:MTOM(Message Transmission Optimization Mechanism)・・・SOAPメッセージにおけるバイナリ・ データの扱いを定めた仕様 4 DataObjectドメインの追加 EISシステムのビジネス・オブジェクトを扱うための新規ドメイン SAP、PeopleSoft、Siebel、Oracle eCommerce(*)、JD Edwards(*)に対応 各種EISノードで使用 *:CSD1で提供予定 EISノードではデフォルトでDataObjectドメインが設定されており、変更は不可 メッセージ定義は、アダプター接続ウィザードを使用し、自動的に生成可能(後述) ウィザードが直接EISシステムに接続し、ビジネス・オブジェクト情報からメッセージ定義を生成 XMLスキーマを基にビジネス・オブジェクトをメッセージ・ツリーに展開 XMLスキーマはデプロイ時にメッセージ定義を基に自動生成され、実行環境にデプロイされる DataObjectのツリー構造 Root Properties TransportHeaders 5 DataObject 6 XMLNSCドメインの拡張 高速パーサーの採用 以前の「Xerces」に代わって、より高速なパーサー「XLXP」を採用 XMLNSCドメインでのみ使用 XML、XMLNS、MRM XMLでは「Xerces」を使用 モデル・ドリブン型としても稼動 XMLスキーマを基にしたパース/組立が可能 7 XMLNSCドメインの拡張 XMLスキーマに基く妥当性検査 XMLスキーマを実行環境に配置することで、XMLスキーマに基く妥当性検査が可能となった XMLスキーマ v1.0 準拠の妥当性検査を実施 V6.0のMRMによる妥当性検査は、XMLスキーマに非準拠 V6.0妥当性検査よりパフォーマンスも向上 ノードの「妥当性検査」プロパティを有効(「内容と値」、「内容」)にすることで実施 必ず「メッセージ・セット」プロパティに該当メッセージ・セットを指定しておく必要がある 「妥当性検査」プロパティの設定 メッセージ・セットの指定も必須 8 XMLNSCドメインの拡張 補足 XMLスキーマ(v1.0)基準からの例外事項 10E-43より小さい浮動小数点数値は0として扱う minOccurs > 1024 かつ maxOccurs > 1024 のグループもしくは複合タイプのメンバーは 反復回数無制限のminOccurs > 0 かつ maxOccurs > 0として扱う 9 XMLNSCドメインの拡張 XMLスキーマによるデータタイプの識別 パース時にメッセージ・ツリーを正しいデータタイプで作成可能 V6.0では、CHARACTER以外のエレメントもCHARACTERとして扱い、ツリーに展開 V6.1では、XMLスキーマを基に各エレメントを正しいタイプで作成 –XMLスキーマのタイプにもっとも近いデータタイプにマッピング(補足参照) XMLスキーマによる妥当性検査を実施している時のみ可能 「XMLスキーマ・データタイプを使用したツリーのビルド」プロパティをチェック –前述の「妥当性検査」プロパティを有効にしたときのみチェック可能となる デフォルト設定では互換性のためV6.0の動作のまま 「XMLスキーマ・データタイプを使用したツリーのビルド」プロパティの設定 10 XMLNSCドメインの拡張 補足 XMLスキーマ・タイプとWMBデータタイプとの対応表 XMLスキーマ・タイプ データタイプ XMLスキーマ・タイプ データタイプ XMLスキーマ・タイプ データタイプ anyURI CHARACTER ID CHARACTER short INTEGER base64Binary BLOB IDREF CHARACTER string CHARACTER Boolean BOOLEAN IDREFS List of CHARACTER Time DATETIME Byte INTEGER int INTEGER Token CHARACTER Data DATE Integer DECIMAL unsignedByte INTEGER dataTime TIMESTAMP language CHARACTER unsignedInt INTEGER Decimal DECIMAL Long INTEGER unsignedLong DECIMAL Double FLOAT Name CHARACTER unsignedShort INTEGER duration INTERVAL NCName CHARACTER ENTITIES List of CHARACTER negativeInteger DECIMAL ENTITY STRING NMTOKEN CHARACTER Float FLOAT NMTOKENS List of CHARACTER gDay DATE nonNegativeInteger DECIMAL gMonth DATE nonPositiveInteger DECIMAL gMonthDay DATE normalizedString CHARACTER gYear DATE NOTATION CHARACTER gYearMonth DATE positiveInteger DECIMAL hexBinary BLOB Qname CHARACTER 11 XMLNSCドメインの拡張 曖昧パース 特定のエレメントをパースせずにツリーに展開する フロー内で使用しないエレメントをパースさせないことでパースにかかる負荷を抑えることができる 「不透明なエレメント」プロパティに対象のエレメントを指定(Xpath) 「妥当性検査」が「なし」のときのみ「不透明なエレメント」は指定可能 指定されたエレメントはビット・ストリームのまま文字列としてツリーに追加 –出力時もそのまま出力のビット・ストリームに追加 –(必要に応じて)コード変換は実施される 以下のようなエレメントは指定しない 対象エレメントの子エレメントにアクセスする場合 対象エレメントや子エレメントを修飾するネームスペースを変更し、 かつ、出力ビットストリームに該当エレメントをコピーする場合 対象エレメントもしくはその子エレメントがDTDの内部エンティティへの参照を保持し、 かつ、出力ビットストリームに該当エレメントをコピーする場合 対象エレメントがDTDに定義されたデフォルト値の子属性を持ち、 かつ、出力ビットストリームに該当エレメントをコピーする場合 XMLNSパーサーではV6.0からESQL内でのパース時に曖昧パースが可能 ただし、1エレメントのみ指定可能 CREATEステートメントのPARSE節にて、FORMATに「XMLNS_OPAQUE」を、 TYPEに対象エレメントを指定 12 XMLNSCドメインの拡張 曖昧パース 設定手順 ダブルクリック エレメントを選択 13 XMLNSCドメインの拡張 曖昧パース 設定手順 該当エレメントを ドラッグ&ドロップ 14 XMLNSCドメインの拡張 XMLパーサーの選択基準 XMLNSC パース/組立、妥当性検査において、他XMLパーサーに比べ高パフォーマンス XMLスキーマ V1.0準拠の妥当性検査 正しいデータ・タイプの認識 Base64バイナリー・データは自動的にデコード XMLNS XMLデータ・モデルに一致したメッセージ・ツリーを作成 XPathによるメッセージ・ツリーへのアクセス in-line DTDsを保持(XMLNSC、MRM XMLは破棄) 妥当性検査は不可 MRM XML メッセージ・ディクショナリーに基づいた妥当性検査(XMLスキーマには非準拠) 正しいデータ・タイプの認識 MRM CWF/TDSからXMLへの形式のみの変換が容易 出力時にXML宣言やDOCTYPE宣言等を自動生成可能 Base64バイナリー・データは自動的にデコード XML 非推奨 15 16 MRMドメインの拡張 自動トランケート機能 出力時に固定長データの超過分を自動的に削除させることが可能 メッセージ・セットのプロパティで指定 CWFの場合、「固定長ストリングで切り捨て」 TDSの場合、「出力で切り捨て」 CWFのプロパティ TDSのプロパティ V6.0では固定長データのサイズが超過した場合、例外発生 例外を回避するにはコーディング(ESQL)でデータ長を調整する必要がある –ただし、動的にメッセージ定義からデータ長を取得できないためデータ長をハード・コーディングしなければならない 17 MRMドメインの拡張 TDSの拡張 反復回数を先行エレメントで指定可能になった エレメントの反復回数を前方に出現するINTEGERエレメントで指定可能 –パック10進数、外部10進数もサポート(CWFと同等) エレメントの「反復参照」プロパティで指定 該当エレメントより前方に出現するINTEGERエレメントを選択可能 CWFでは、以前から指定可能 18 MRMドメインの拡張 TDSの拡張 引用符をエスケープ機能に使用できる 「引用符」プロパティに文字を指定 –「エスケープ文字」とどちらか一方のみ指定可能 引用符の間にある区切り文字はデータとして扱う ツリーに展開されるとき、引用符は省かれる 出力時、「予約文字」に指定した文字を含むデータは引用符で括られる 引用符とする文字を指定 メッセージ・ツリー カンマ区切りのデータ 32 32,175,”Joe Bloggs, Jr”,123 175 Joe Bloggs, Jr 引用符「“」で囲まれているカンマは 区切り文字として扱われない 19 123 MRMドメインの拡張 TDSの拡張 16進コードをマークアップ(※)に指定可能 16進コードは、<0xNN>で表現 –NN:00~FF –コード変換の対象外 「区切り文字」、「タグとデータの区切り文字」、「グループ標識」、「グループ・ターミネータ」、 「反復エレメント区切り文字」で指定可 –「エスケープ文字」、「引用符」、「予約文字」、「Decimal分離文字」には不可 データ・パターンにも16進コードを指定可 ¥xNNで表現(NN:00~FF) コード変換の対象外 タグには、16進コード<0xNN>とUnicode文字<U+NNNN>を指定可能 V6.0ではテキストのみ指定可能 ※マークアップとは、メッセージ内のデータではない文字。例えば、区切り文字、タグ・データ区切り文字、 グループ標識、グループ・ターミネータなど 20 MRMドメインの拡張 TDSの拡張 選択可能な物理タイプがCWFと同等に拡張 終了ストリングのNULL、長さエンコーディング・ストリング1、長さエンコーディング・ストリング2、 パック10進数、外部10進数、整数、浮動、秒、ミリ秒 が追加 TDSプロパティもCWFプロパティとほぼ同等に 物理タイプの追加に合わせて、必要なプロパティが追加 ただし、バイト位置合わせはサポートしないため、以下のプロパティは存在しない –バイト位置合わせ、先行スキップ・カウント、後続スキップ・カウント TDSで選択可能な物理タイプ 物理タイプ String Integer Decimal Float Binary Boolean DataTime テキスト 長さエンコード・ストリング1 長さエンコード・ストリング2 終了ストリングのNULL テキスト 整数 パック10進数 外部10進数 テキスト 整数 パック10進数 外部10進数 テキスト 浮動 整数 パック10進数 外部10進数 バイナリー テキスト バイナリー テキスト 長さエンコード・ストリング1 長さエンコード・ストリング2 終了ストリングのNULL パック10進数 バイナリー 秒 ミリ秒 21 MRMドメインの拡張 TDSの拡張 CWFとの違い C/COBOLインポーターがTDSの物理フォーマット・プロパティに設定できない –論理プロパティーとCWF物理フォーマット・プロパティには設定可 ※COBOL、Cのメッセージ定義はCWFを推奨 22 MRMドメインの拡張 CSVメッセージ・サポート CSV用メッセージセット/メッセージ定義ファイルの提供 メッセージセット作成時に、「テキスト・データ標準」で 「CSV – コンマ区切り値」を指定 標準的なCSV形式のTDSプロパティが 設定されたメッセージセットとメッセージ定義ファイル が生成される デフォルトで設定される主なプロパティ メッセージセット –「区切り文字」=「,(カンマ)」 –「引用符」=「”」 –「予約文字」=「,<CR><LF>”」 デフォルト設定のメッセージセット とメッセージ定義が作成される 複合タイプ –「データとエレメントの分離」=「全エレメントを区切る」 –「区切り文字」=「,(カンマ)」 エレメント –「反復エレメント区切り文字」=「,(カンマ)」 23 MRMドメインの拡張 CSVメッセージ・サポート CSVメッセージ定義の提供 ※前述のCSV用メッセージセット/メッセージ定義の提供とは違って、 既存メッセージセットにCSV用メッセージ定義を追加する場合に利用 メッセージ定義ファイル作成時 「新規」 ⇒「メッセージ定義ファイルの作成元」 ⇒「IBM提供メッセージ」 ⇒「CSV」 を選択 24 メッセージ・タイプの追加 メッセージセット作成時に指定するメッセージ・タイプが以下のように追加、変更 ドメインの追加に伴い、対応するメッセージ・タイプが追加 「XML文書」のデフォルト・ドメインがMRMからXMLNSCに変更 XMLメッセージを扱う場合は、XMLNSCドメインの使用を推奨 複数のタイプ(ドメイン)を指定することも可能 V6.0のときは、MRMドメインのメッセージ・タイプのみ指定 メッセージ・タイプ 対応ドメイン 備考 WebサービスSOAP(W) SOAP V6.1から追加、ドメインも新規 WebSphere Adapters 用データ(A) DataObject V6.1から追加、ドメインも新規 Webサービス以外のMIME文書(M) MIME V6.1から追加、ドメインは既存 XML文書(X)(一般) XMLNSC 既存、ただしV6.0のときはMRMドメイン バイナリ・データ(I)(CまたはCOBOL構造体など) MRM 既存 Text Data(for example, CSV,SWIFT or HL7) MRM 既存 25 メッセージ・タイプの追加 メッセージセット作成ウィザードにて、メッセージ・タイプを選択 複数のメッセージタイプを選択することも可能 メッセージ・タイプの選択 複数選択も可 26 複数ドメインの関連付け メッセージセットに複数のドメインを関連付けることが可能 異なるドメインを使用する複合メッセージを1つのメッセージ・セットに定義できる (例) SOAPメッセージ –メッセージ全体をSOAPドメインでパースし、body部をXMLNSCドメインでパースさせる場合 MIMEメッセージ –メッセージ全体をMIMEドメインでパースし、組み込みメッセージを他のドメインでパースさせる場合 メッセージセット作成時に複数のメッセージ・タイプ(ドメイン)を指定(前述) もしくは、メッセージ・セットの「サポートされるメッセージ・ドメイン」プロパティで指定 指定する数や組み合わせに制約はない ただし、関連のないドメインは異なるメッセージ・セットに指定すべき 27 ランタイム・モデルの生成とデプロイ XMLスキーマ、WSDLがBARファイルに格納され、実行環境にデプロイされる XMLスキーマ XMLNSC、DataObject、SOAPドメインで使用 メッセージ定義ファイルから生成された.xsdファイルが.xsdzipファイルに圧縮され、BARファイルに格納 WSDL SOAPドメインで使用 .wsdlファイルが.xsdzipファイルに格納 V6.0ではMRM、IDOCドメインのときのみメッセージ・ディクショナリーが実行環境にデプロイ モデル・ドリブン型ドメイン ランタイム・モデル MRM、IDOC メッセージ・ディクショナリー XMLNSC、DataObject XMLスキーマ SOAP XMLスキーマ、WSDL 28 アダプター接続ウィザードの提供 EISシステムのビジネス・オブジェクトに対応したメッセージセットを生成 ウィザードが直接EISシステムに接続し、ビジネス・オブジェクト情報を取得してリソースを生成 接続のための情報やファイルは事前に用意しておく必要がある メッセージ・セットだけでなく、アダプター接続に必要なファイルも生成 利用するEISシステムのアダプターを選択 コネクターのインポート ウィザードを起動 コネクターの設定 以降、各EISシステムのウィザードに従って必要な情報を入力 29 SAPサポートの拡張 ALE IDoc、File IDocの両方をMRMドメインでサポート V6.0ではALE IDocのみをIDOCドメインでサポート MRM TDSの拡張によりFile IDocも定義可能になった ⇒MRMドメインを利用 ⇒V6.0で使用していたIDOCドメインは非推奨 IBM提供メッセージとしてALE/File IDocのメッセージ定義を提供 メッセージ定義ファイル作成ウィザードで指定 CインポーターもIDoc用に拡張 SAPシステムからエクスポートされたCヘッダ・ファイルを 直接インポート可能 V6.0ではインポート前にサポートパックIA0Fの ユーティリティ(IDocHeaderTweak)を使って 事前処理が必要であった V6.1では、インポーターがその処理を実施 IBM提供メッセージ 30