さまざまな種類の BizTalk スキーマ
BizTalk Server は、次の 4 種類のスキーマをサポートしています。
XML スキーマ。 XML スキーマは XML インスタンス メッセージのクラス構造を定義します。 このタイプのスキーマでは、XSD (XML Schema Definition) 言語を使って、XML インスタンス メッセージの構造が定義されます。XSD 本来の目的に沿っているため、このスキーマでは、単純な方法で XSD が使用されます。
フラット ファイル スキーマ。 フラット ファイル スキーマは、フラット ファイル形式 (区切り文字/位置指定、あるいは、その組み合わせ) を使用したインスタンス メッセージのクラス構造を定義します。 XSD のネイティブ セマンティック機能では、フラット ファイル インスタンス メッセージの構造 (フラット ファイル内のさまざまなレコードやフィールドに使用される可能性のあるさまざまな種類の区切り記号など) を定義するための要件がすべて満たされないため、BizTalk Server XSD の注釈機能を使用して XSD スキーマ内にこの追加情報を格納します。 BizTalk Server には、必要な補足情報をすべて格納することのできる注釈タグが豊富に定義されています。
エンベロープ スキーマ。 エンベロープ スキーマは、特殊な XML スキーマです。 XML ビジネス ドキュメントを単一の XML インスタンス メッセージにラップする XML エンベロープの構造を定義するために使用されます。 XML スキーマをエンベロープ スキーマとして定義する場合は、エンベロープ スキーマに複数のルート レコードが定義されているかどうかなどの要因に応じて、いくつかの追加のプロパティ設定が必要です。
プロパティ スキーマ。 プロパティ スキーマは、BizTalk Server がプロパティの昇格機能として備えている 2 つのメカニズムのいずれかと組み合わせて使用されます。 プロパティの昇格とは、インスタンス メッセージの内部に格納されている特定の値を、メッセージ コンテキストにコピーするプロセスのことです。 各種の BizTalk Server コンポーネントは、メッセージ コンテキストを通じて、これらの値に容易にアクセスできるようになります。 これらのコンポーネントが、メッセージ コンテキスト内の値にアクセスすることで、メッセージのルーティングなどの処理が実行されます。 昇格されたプロパティ値は、インスタンス メッセージを宛先に送る直前に、逆の方向にコピーすることもできます。つまり、プロパティ値をアクセスしやすいメッセージ コンテキストから、インスタンス メッセージの内部に戻すことができます。 プロパティ スキーマは、昇格させたプロパティを、インスタンス メッセージからメッセージ コンテキストへ、あるいは、メッセージ コンテキストからインスタンス メッセージへとコピーするプロセスを実行する、簡易版の BizTalk スキーマといえます。
以降では、BizTalk Server の 4 種類のスキーマに関する補足情報について説明します。