ビジネス プロセス管理ソリューションのバージョン管理
ビジネス プロセス管理ソリューションは、必要に応じてステージを置換できるように設計されています。 スキーマのバージョンを簡単に管理する機能も備えています。
ビジネス プロセスをステージに分割する方法については、「ビジネス プロセス 管理ソリューションの一部の設計原則」を参照してください。
Note
ソリューションの要素は、メッセージ構造に大きく依存します。 メッセージ構造を変更するには、オーケストレーションを大幅に変更する必要があります。
展開されたソリューションでのアセンブリの更新に関する一般的な指示と、更新プログラムを処理するスクリプトを記述するためのガイドラインについては、「 BizTalk アプリケーションの更新」を参照してください。
ステージの追加、置換、または削除
注文処理ステージ オーケストレーションには、ビジネス プロセスを実装するコードと、ソリューションで動作できるようにインフラストラクチャを提供するコードという 2 種類のコードが含まれています。 どちらのステージ オーケストレーション ( CableOrder1 と CableOrder2) でも、ビジネス プロセス コードは "Business Processing" というラベルの付いたグループ図形内にあります。
新しいステージを作成する最も簡単な方法は、ステージの 1 つをコピーし、"ビジネス処理" グループのコードをコードに置き換え、インフラストラクチャ コードをそのまま残すことです。
Note
CableOrder2 オーケストレーションには、2 つの "ビジネス処理" グループがあり、2 つ目は [更新履歴の送信] 図形の周囲にあります。 送信図形は、効率的な送信スコープの一部です。 (詳細については、「 OrderBroker オーケストレーションでの処理」の「入れ子になったスコープを使用したパフォーマンスの向上」を参照してください)。グループ図形はスコープ図形の一部と重なることができないため、2 番目のグループには、ビジネス プロセス コードの一部であることを示すラベルが付けられます。
新しいオーケストレーションのフィルタ式に連番を設定する必要があります。 OrderManager は、ステージ番号が 1 で始まり、次のステージ (1、2、3..) ごとに 1 ずつ増加することを前提としています。 3 番目のステージをフィルタリングするには、フィルタ式を次のように設定する必要があります。
(Microsoft.Samples.BizTalk.SouthridgeVidoe.Schemas.Stage == 3)
ソリューションは、BAM API を使用して、注文処理ステージなどソリューション内のイベントを追跡します。 最初のステージで BAM アクティビティが開始され、最終ステージで終了します。 例外が発生した場合、ソリューション内のハンドラは BAM 関連アクティビティを終了させます。 BAM は不連続の操作を効果的にまとめて、1 つの連続したビューとして監視できるようにします。
構成の変更
変更によりステージ数が増減する場合は、エンタープライズ シングル サインオン (SSO) シークレット ストアに格納された構成情報を変更する必要があります。
アプリケーションをデプロイしていない場合は、CreateSouthridgeVideoApplication.cmd スクリプト ファイルで TotalStages の構成設定を変更できます。 展開時にスクリプトが実行されると、値が変更されます。
アプリケーションが展開済みである場合、SDK\Common\SsoApplicationConfig フォルダのコマンド ライン ユーティリティ BTSScnSSOApplicationConfig を実行することによって値を変更できます。 ステージの合計数を 3 に設定するには、次のコマンド ラインを使用します。
BTSScnSSOApplicationConfig -set SouthRidgeVideo.CableOrder ConfigProperties TotalStages 3
ソリューションは構成値をキャッシュするため、更新間隔が経過して新しい値が有効になるまで待つ必要があります。
スキーマのバージョン管理
BizTalk は、スキーマを含むアセンブリの最新バージョンからスキーマを取得します。 つまり、スキーマの新しいバージョンを作成すると、スキーマのすべての旧バージョンが置き換えられるということです。 これは、短期間のトランザクションの場合に有効です。 ただし、ビジネス プロセス管理ソリューションのトランザクションは有効期間が長く、注文が完了するまでに最大 1 年かかる場合があります。
スキーマの複数のバージョンが使用される可能性を考慮して、ソリューションの各スキーマは名前空間にバージョン番号を含んでいます。 たとえば、注文スキーマの名前空間は次のようになっています。
http://Microsoft.Samples.BizTalk.SouthridgeVideo.Schemas.Order.v1
名前空間がスキーマを識別し、バージョン番号を含めることで名前空間がスキーマに対して一意になっているので、新しいスキーマを旧バージョンと区別できます。 したがって、古いスキーマを置き換えずに新しいスキーマを使用できます。