OperationsSamples (BizTalk Server サンプル)
OperationsSamples サンプルは、Operations オブジェクト モデルを使用して、さまざまな操作を実行する方法を具体的に示します。
このサンプルの処理
このサンプルでは、次の方法を示します。
追跡プロファイルを使用して、オーケストレーションにアクティビティのコメントを付ける。
BAM 追跡データベースを使用してアクティビティ ID を検索し、その ID を使用して関連するオーケストレーション インスタンスを検索する方法。
MessageFlow クラスおよびその他の Operations オブジェクト モデル クラスと API を使用して 、メッセージ フロー を検索して操作する方法。
Instance クラスから派生したクラスを使用してポート、メッセージ、およびその他のインスタンスにアクセスする方法。
サンプルには、上の操作をサポートする多くの有益なヘルパー クラスとメソッドが含まれています。 これらと他のコードの特長については、次のセクションで説明します。
このサンプルの目的とその理由
このサンプルは、Operations オブジェクト モデルの主要クラスおよびメソッドの機能を紹介し、ユーザーに公開されている BAM 追跡データベースでクエリを実行する方法を示すことを目的としています。
Operations オブジェクト モデルには、BizTalk Server 内でメッセージや他のインスタンスを操作できるクラスが含まれています。
BAM アクティビティ ID の使用
このサンプルでは、BAM との対話方法と、ユーザーに公開されている追跡データベースのビューを使用して、ビジネス データを使ってメッセージ ボックスのライブ メッセージを見つける方法を示します。 サンプルでは、注文書番号に対応するオーケストレーション ID を取得して、この作業を行います。 このタスクを成功させるには、次のことを行う必要があります。
ビジネス データ (注文書番号) を使用して、アクティビティ ID を検索します。 この手順では、ビジネス データを内部 ID にマップして、追加情報の検索に使用できるようにします。
アクティビティ ID に関連する BAM 参照を取得します。
種類が "BizTalkService" の参照を検索し、オーケストレーションを参照します。 見つかったら、そのインスタンス ID を返します。
この機能は、 BAMWebService.GetOrchestrationID 静的メソッドと、BamManagementService.cs ソース ファイル内のクラスとメソッドを含む関連するヘルパー メソッドによって提供されます。
インスタンスの中断、終了、および再開
サンプル プログラムには、操作とインスタンス ID を受け取り、インスタンスに対して指定された操作を実行する Samples.OperateOnInstance メソッドが含まれています。 有効な操作は InstanceOperation 列挙によって定義され、Suspend、Terminate、Resume が含まれます。 これらの操作は、BizTalkOperations クラス (SuspendInstance、TerminateInstance、ResumeInstance) のメソッドに直接マップされます。
メソッドは ArgumentException と SqlException の両方の例外を処理します。 Operations オブジェクト モデルのクラスおよびメソッドの操作時に、SqlException を含む例外が発生する可能性があるので注意してください。
Note
Operations メソッドの多くは、データベースにアクセスする必要があります。 これらのメソッドによって例外がスローされる可能性があることを予測し、適切に処理する必要があります。
すべてのライブ メッセージの取得
次のコードに示すように、Operations オブジェクト モデルでは、取得可能なすべてのライブ メッセージを簡単に繰り返すことができます。
BizTalkOperations _operations = new BizTalkOperations()
IEnumerable messages = _operations.GetMessages();
foreach (BizTalkMessage msg in messages)
…
OperationsSamples プログラムは、この手順をさらに一歩進め、メッセージ部分の数や種類と共に、メッセージ ID とメッセージの種類を含む、各メッセージに関する情報にアクセスする方法を示します。 このコードを変更して、BizTalk Server で、取得可能なライブ メッセージの多くまたはすべてで繰り返す必要があるシナリオに使用できます。
Note
数百または数千のメッセージが存在する場合があります。 リスト全体をスキャンすると、パフォーマンスが低下することがあります。
このサンプルの場所
このサンプルは、SDK がある次の場所にあります。
<サンプル パス>\管理\OperationsOM\OperationsSamples\
次の表は、このサンプルのファイルとその目的を示しています。
ファイル | 説明 |
---|---|
BamManagementService.cs | BAM Web サービスの Web プロキシ クラスです。 |
Cleanup.bat | サンプル オーケストレーションを削除し、HelloWorld サンプルを元の状態に戻します。 |
HelloOrchestration.btt | BizTalk イベント ソースを BAM ターゲット アクティビティにマップするときに使用する追跡プロファイルです。 |
HelloOrchestration.xls | BAM 定義スタイルシート。 |
OperationsSamples.cs | Operations オブジェクト モデルのさまざまな側面を示すコードを含む C# ソース ファイルです。 |
OperationsSamples.csproj、OperationsSamples.sln、AssemblyInfo.cs | このサンプルのプロジェクト、ソリューション、およびアセンブリ情報です。 |
Setup.bat | HelloWorld オーケストレーション サンプルを変更して、このサンプルをビルドおよび初期化するのに使用します。 サンプル オーケストレーションのインストール、BAM アクティビティ定義および追跡プロファイル エディター ファイルの展開、ポートの構成、受信場所へのサンプル ファイルのドロップを実行します。 |
このサンプルの使用方法
このサンプルを使用して、Operations オブジェクト モデルで使用できる機能を試してください。 既存のルーチンを変更して、メッセージを異なる方法で検索および操作したり、BizTalk Server 管理コンソールのグループ ハブの一部を複製する新しいコードを追加します。
次のタスクを行うこともできます。
グループ ハブの最もよく使用されるサブセットをカスタム アプリケーションにレプリケートするアプリケーションを作成します。
ポートを作成し、新しい取引先にテスト メッセージを送信するカスタム プロビジョニング アプリケーションを作成する。
サンプル プログラムを、1 件の注文書または一連の注文書に関する情報を画面、XML ファイル、またはテキスト レポートに出力するコマンド ライン ユーティリティに変更する。
サンプル サポート ファイルのインストール
このセクションでは、サンプルをインストールして実行するために必要な手順を説明します。
Note
このサンプルをインストールして実行する前に、BAM がインストールされ、機能していることを確認してください。 BAM がインストールされていないと、このサンプルは動作しません。
このサンプルのサポート ファイルをコンパイルしてインストールする
コマンド ウィンドウで、次のフォルダーに移動します。
<Samples Path>\Admin\OperationsOM\OperationSamples
Setup.bat を実行します。処理内容は次のとおりです。
送信および受信ディレクトリの作成
送信および受信ポートの作成と起動
HelloWorld オーケストレーションをコンパイルして、\Orchestrations\HelloWorld フォルダーに
<Samples Path>
展開します。HelloWorld オーケストレーション用に公開キー トークンを変更
BAM アクティビティ定義および追跡プロファイル エディター ファイルの展開
出力ディレクトリの名前の変更
Note
インストールを中止するには、最初の "press any key to continue" プロンプトで Ctrl キーを押しながら C キーを押します。 スクリプトが停止し、HelloWorld サンプルは元の状態のままです。 2 番目および最後のプロンプトで Ctrl キーを押しながら C キーを押しても、インストールは終了しません。 この場合は、Cleanup.bat を実行して、OperationsOM サンプルをアンインストールし、HelloWorld サンプルを復元してください。
このサンプルの実行
次の手順で、OperationsOM サンプルを実行します。
サンプルをコンパイルして実行する
[スタート] をクリックし、[すべてのプログラム] を選択し、[Microsoft BizTalk Server] を選択してから、[BizTalk Server管理] を選択します。
BizTalk Server管理コンソールで、[BizTalk Server管理] を展開し、[BizTalk グループ]、[プラットフォームの設定] の順に展開し、[ホスト インスタンス] を展開します。
BizTalkServerApplication を右クリックし、[再起動] をクリックします。
Note
製品を構成してからホスト インスタンスを再起動していない場合は、BAM に正しい作業データベースを設定するために、BizTalkServerApplication ホスト インスタンスの再起動が必要です。
Windows エクスプローラーから、次のフォルダーに移動します。
<Samples Path>\Admin\OperationsOM\OperationSamples
OperationsOM.sln プロジェクト ファイルをダブルクリックして Visual Studio に読み込みます。
F5 キーを押して、サンプルを実行します。
-- または --
[ビルド] メニューで、 [ソリューションのリビルド] をクリックします。 ビルドが完了したら、Windows エクスプローラーを使用して に
<Samples Path>\Admin\OperationsOM\OperationSamples\bin\Debug,
移動し、OperationsSamples.exeダブルクリックします。
このサンプルで使用されるクラスまたはメソッド
- Microsoft.BizTalk.Operations.BizTalkOperations
- Microsoft.BizTalk.Operations.MessageFlow
- Microsoft.BizTalk.Operations.SendPortInstance
- Microsoft.BizTalk.Operations.RoutingFailureInstance
- Microsoft.BizTalk.Operations.OrchestrationInstance
- Microsoft.BizTalk.Operations.MSMQtInstance
- Microsoft.BizTalk.Operations.TrackedServiceInstance