...

メッセージ ・ セット

by user

on
Category: Documents
39

views

Report

Comments

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
Fly UP