スキーマを使用してサイド バイ サイドのバージョン管理を実行できます。 これを行うには、アセンブリに新しいバージョンのスキーマを追加し、スキーマのバージョンをアップグレードしますが、既存のスキーマ (およびそのバージョン) は変更しません。
スキーマ バージョンをインクリメントする場合は、それを使用するすべてのパイプライン インスタンスとパイプライン コンポーネントのスキーマへの参照を更新する必要があります。 また、スキーマを参照するマップと、スキーマに依存するオーケストレーションを更新する (または新しいマップを作成する) 必要があります。
スキーマをデプロイ解除すると、以前のバージョンのスキーマ (使用可能な場合) がアクティブになります。
パイプラインでのスキーマ解決
BizTalk グループ内の既存のスキーマと同じメッセージ型の新しいスキーマを含むアセンブリをアプリケーションに追加すると、パイプラインでスキーマ解決が行われるときに、最新のバージョン番号を持つスキーマが使用されます。 1 つのメッセージの種類が複数の .NET 型を参照している場合、このあいまいさが原因でパイプラインの実行エラーが発生する可能性があります。 これは、スキーマ参照でメッセージの種類、ターゲット名前空間、およびインスタンスのルート名が使用されるためです。 この種類のエラーは、新しいスキーマと同じメッセージの種類のスキーマを使用する任意のアプリケーションのパイプラインで発生する可能性があります。 スキーマ解決の詳細については、BizTalk Server ヘルプ のパイプライン コンポーネント (https://go.microsoft.com/fwlink/?LinkID=154207) のスキーマ解決を参照してください。
XML 逆アセンブラーのスキーマ解決動作では、新しいバージョンのスキーマを以前のバージョンと並べて追加した後、追加の変更が必要になる場合があります。 場合によっては、パイプライン デザイナーのパイプライン 逆アセンブラー プロパティ内の参照を特定のバージョンのスキーマにハードコーディングすることが必要になる場合があります。 これにより、動的解決動作を回避できます。XML 逆アセンブラーは、実行時にメッセージ XML コンテンツから動的に検出されたメッセージの種類を使用して、読み込むスキーマを決定します。
オーケストレーションでのスキーマの更新
オーケストレーションで複数の送受信図形に関連付けられているスキーマを変更する場合は、各送受信図形に関連付けられているメッセージの [メッセージの種類] プロパティを [スキーマ] ではなく[複数部構成のメッセージの種類]に設定することで、変更を大幅に簡単に行うことができます。 その後、各図形に関連付けられているメッセージ パーツの Type プロパティを同じスキーマに設定できます。 これにより、後で各図形のメッセージの種類を変更するのではなく、各メッセージ パーツの Type プロパティを変更することでスキーマを変更できます。 このプロセスで簡単に変更を行う方法の詳細については、「 8 Tips and Tricks for Better BizTalk Programming 」ホワイト ペーパー (https://go.microsoft.com/fwlink/?LinkId=101594) を参照してください。
バージョニングスキーマ
BizTalk Server は、それを含むアセンブリの最新バージョンからスキーマを取得します。 つまり、スキーマの新しいバージョンを作成すると、新しいバージョンがスキーマの以前のすべてのバージョンに完全に置き換えられます。 これは、トランザクションの有効期間が短い場合に有効です。 ただし、ビジネス プロセス管理ソリューションのトランザクションは有効期間が長く、注文が完了するまでに最大 1 年かかる場合があります。
使用中のスキーマの複数のバージョンを使用できるように、ソリューション内の各スキーマには、その名前空間にバージョン番号が含まれています。 BizTalk パイプラインは、ターゲット名前空間とスキーマで定義されているルート ノード名に基づいて、メッセージのメッセージの種類を決定します。 たとえば、Order スキーマの名前空間は次のようになります。
http://Microsoft.Samples.BizTalk.SouthridgeVideo.Schemas.Order.v1
名前空間はスキーマを識別し、バージョン番号を含めると名前空間がスキーマに一意になるため、新しいスキーマは以前のバージョンとは異なります。 そのため、古いスキーマを代用せずに新しいスキーマを使用できます。
スキーマのバージョンを変更すると、ソリューションの多くの部分に影響する可能性があるため、事前に計画する必要があります。 スキーマ バージョンの変更の影響の詳細については、BizTalk Server ヘルプ のパイプライン コンポーネント (https://go.microsoft.com/fwlink/?LinkID=154207) のスキーマ解決を参照してください。
オーケストレーション内のスキーマのバージョンを変更する場合は、マルチパート メッセージの種類を使用します。 これにより、スキーマのバージョン管理時の柔軟性が向上します。 マルチパート メッセージの種類を使用する利点の詳細については、MSDN マガジン記事「 8 Tips and Tricks for Better BizTalk Programming (https://go.microsoft.com/fwlink/?LinkId=101594)」のヒント #1「Always Use Multi-Part Message Types」を参照してください。