マイクロソフト ESB...

101
マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 での ESB 実装 ~ 発行 : 2008 8 摘要 このドキュメントでは、米国マイクロソフト コーポレーションが提供している「Microsoft ESB Guidance 」を、その検証結果に基づいてご説明しています。内容に関して英語版(原文) と相違がある 場合、原文の内容が優先されます。

Transcript of マイクロソフト ESB...

Page 1: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 での ESB実装 ~

発行 : 2008 年 8 月

摘要

このドキュメントでは、米国マイクロソフト コーポレーションが提供している「Microsoft ESB

Guidance 」を、その検証結果に基づいてご説明しています。内容に関して英語版(原文)と相違がある

場合、原文の内容が優先されます。

Page 2: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

<目次>

1. イントロダクション .............................................................................................................................. 1

1.1. エンタープライズ サービス バス(ESB)とは?.............................................................................. 2

1.2. Microsoft ESB ガイダンスの概要 .................................................................................................. 2

1.3. Microsoft ESB ガイダンスの内容 .................................................................................................. 4

1.3.1. ESB Web サービス ................................................................................................................ 5

1.3.2. ESB 管理ポータル ................................................................................................................. 6

1.3.3. ESB パイプライン相互運用コンポーネント .......................................................................... 7

1.3.4. 例外管理フレームワーク ........................................................................................................ 7

1.3.5. ESB リゾルバおよびアダプタプロバイダフレームワーク ...................................................... 8

1.3.6. ESB Itinerary 処理 .................................................................................................................. 9

1.3.7. ESB サンプルアプリケーション ...........................................................................................10

2. Microsoft ESB ガイダンスを開始するにあたって ..............................................................................12

2.1. Microsoft ESB ガイダンスのアーキテクチャ ...............................................................................12

2.1.1. ESB の動作 ...........................................................................................................................13

2.1.2. デザインパターン .................................................................................................................14

2.2. メッセージフローの理解 ..............................................................................................................14

2.2.1. メッセージのライフサイクル ................................................................................................14

2.2.2. メッセージの Itinerary ...........................................................................................................15

2.2.3. 処理命令の詳細 .....................................................................................................................15

3. インストール .......................................................................................................................................17

3.1. 前提条件 ......................................................................................................................................17

3.1.1. OS、アプリケーション .........................................................................................................17

3.1.2. BizTalk Server 2006 R2 ........................................................................................................17

3.1.3. Microsoft UDDI サービス ......................................................................................................18

3.1.4. IBM MQ Series Support ........................................................................................................18

3.1.5. セキュリティ設定 .................................................................................................................19

3.1.5.1. Kerberos認証 ................................................................................................................19

3.1.6. BizTalk セキュリティグループ .............................................................................................19

Page 3: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.1.7. BizTalk Web サービスのセキュリティ設定 ...........................................................................20

3.1.8. 追加アプリケーションとツール(オプション) ....................................................................20

3.1.9. 旧バージョン ESB ガイダンスのアンインストール ..............................................................20

3.1.10. インストール環境における制限事項 .....................................................................................21

3.2. サービスとコンポーネントのインストール ..................................................................................22

3.2.1. Microsoft ESB ガイダンスソースファイルの解凍 .................................................................22

3.2.2. Microsoft ESB ガイダンスのインストール............................................................................23

3.2.2.1. ソリューションプロジェクトからのインストール .....................................................................23

3.2.2.2. ESBガイダンスコア用 PreProcessingCORE スクリプトの設定 ..........................................30

3.2.2.3. ESB コアによってインストールされるアセンブおよびアーティファクト ....................................31

3.2.3. 構成ファイルの修正 ..............................................................................................................34

3.2.3.1. BizTalk用構成ファイル(BTSNTSvc.exe.config) ..............................................................34

3.2.3.2. .NETFrameworkマシン構成ファイル(machine.config) .....................................................36

3.2.4. 例外管理フレームワークのインストール ..............................................................................38

3.2.4.1. ソリューションプロジェクトからのインストール .....................................................................38

3.2.4.2. 例外管理フレームワーク用 PreProcessingCORE スクリプトの設定 ...................................42

3.2.4.3. 例外管理フレームワークによってインストールされるアセンブリおよびアーティファクト ............43

3.3. 例外管理 InfoPath フォームテンプレートの共有化 .......................................................................45

3.4. Web サービスの SSL 接続設定 .....................................................................................................45

3.5. Microsoft BizTalk ESB ガイダンスアプリケーションの開始 .........................................................45

3.6. VisualStudio2005 ツールボックスへのパイプラインコンポーネント追加 .....................................46

4. サンプルアプリケーション ..................................................................................................................48

4.1. インストール ...............................................................................................................................48

4.1.1. ビジネスルールエンジンポリシー、ボキャブラリの展開 ......................................................48

4.1.2. 動的解決サンプルのインストール .........................................................................................49

4.1.3. 動的解決サンプル用 PreProcessingCORE スクリプトの設定 ................................................52

4.1.4. 動的解決サンプルでインストールされるアセンブリ、アーティファクト ..............................52

4.1.5. リゾルバサービスサンプルのインストール ...........................................................................54

4.1.6. Itinerary オンランプサンプルのインストール ........................................................................54

4.1.7. Itinerary オンランプサンプルでインストールされるアセンブリ、アーティファクト .............55

4.1.8. 例外管理サンプルのインストール .........................................................................................56

Page 4: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.1.9. 例外管理サンプル用 PreProcessingCORE スクリプトの設定 ................................................58

4.1.10. 例外管理サンプルでインストールされるアセンブリ、アーティファクト ..............................58

4.2. サンプルアプリケーションの実行 ................................................................................................60

4.2.1. リゾルバサービスサンプルの実行 .........................................................................................60

4.2.2. リゾルバサービスサンプル実行時の注意事項........................................................................61

4.2.3. リゾルバサービスサンプル動作仕様 .....................................................................................62

4.2.4. 動的解決サンプルの実行 .......................................................................................................64

4.2.4.1. 一方向のメッセージング ...................................................................................................66

4.2.4.2. 双方向のメッセージング ...................................................................................................67

4.2.5. 動的解決サンプル実行時の注意事項 .....................................................................................75

4.2.6. 動的解決サンプル動作仕様 ...................................................................................................75

4.2.7. Itinerary オンランプサンプルの実行 ......................................................................................78

4.2.7.1. サンプルシナリオ ............................................................................................................79

4.2.7.2. 事前定義 Itineraryユースケースを使用したサンプルの実行 ...............................................85

4.2.7.3. カスタム Itineraryユースケースを使用したサンプルの実行 .................................................87

4.2.8. Itinerary オンランプサンプル実行時の注意事項.....................................................................88

4.2.9. Itinerary オンランプサンプル動作仕様 ..................................................................................88

4.2.10. 例外管理サンプルの実行 .......................................................................................................93

4.2.10.1. “ESB処理への失敗メッセージルーティング“サンプル実行 ..................................................93

5. インストールおよび実行時の留意事項 .................................................................................................96

5.1. ResolverMgr.cs ファイルの文字コード変換エラー .......................................................................96

6. 参考文献 ..............................................................................................................................................97

6.1. Microsoft ESB Guidance (本書の原文、英語) ...............................................................................97

6.2. Microsoft BizTalk Server 2006 R2 製品情報 .................................................................................97

6.3. Microsoft SOA サイト(英語).........................................................................................................97

Page 5: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

1. イントロダクション

本ドキュメントは、Microsoft が考えるサービス指向アーキテクチャの中核となる、Microsoft Enterprise

Service Bus(ESB) ガイダンスのアーキテクチャとコンテンツについて説明します(下図参照)。新しいエンドツ

ーエンドのビジネスプロセスに対して柔軟で信頼性が高いサービスの再利用やサービスの迅速な適用を可

能とするために、企業で使用されるアプリケーションにおいてこのガイダンスをどのように使用するかをサン

プルとして示します。

本ドキュメントは、ESB Guidanceに付属しているヘルプファイルの内容を元に構成されています。

また、サンプルアプリケーションの動作検証は下記を対象としています。

・ リゾルバWebサービス

・ 動的解決Webサービス

・ Itinerary オンランプサービス

・ 例外管理フレームワーク

上記以外のWebサービス、JMS 接続および ESB管理ポータル等は概要の解説のみとなりますので、ご了

承ください。

Page 6: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

1.1. エンタープライズ サービス バス(ESB)とは?

Enterprise Service Bus(ESB)という言葉は、Service-Oriented Architecture(SOA)を実現するためのインフ

ラとして実装する場面で広く使われています。しかしながら、実際の SOA開発の場面では、ESBは広範囲の

Service-Oriented Infrastructure (SOI)を作り上げる多くの構成要素のうちのひとつでしかありません。ESB

という言葉は多くの異なる方向に意訳され、その定義は個々の ESB実装や統合プラットホームベンダーに依

存しており、また、特定の SOA構想の必須要件に依存しています。

マイクロソフトが収集した実際の SOI実装の成功事例に基づけば、Enterprise Service Bus(ESB)を従来の

Enterprise Application Integration (EAI)、Message-Oriented Middleware(MOM)、 Webサービス、 .NET

と Javaの 相互運用性、ホストシステム統合、サービスレジストリと有用なリポジトリを使用した相互運用性に

基づいたアーキテクチャパターンの集合として捉えることが可能です。

以下の図では、ESBアーキテクチャによって実現できる相互接続の例を示しています。

1.2. Microsoft ESB ガイダンスの概要

Microsoft ESB ガイダンスでは、疎結合のメッセージングアーキテクチャをサポートするために Microsoft

BizTalk Server 2006 R2を使用します。ほとんどの開発者はコード指向や手続き型、オブジェクト指向といっ

た開発パラダイムに慣れ親しんでいます。しかしながら、BizTalk ソリューションでの開発を始めるにあたって

は、BizTalk Serverのメッセージ指向の機能は見落とされがちです。

Page 7: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

BizTalk Server はサブスクリプションを作成したり、消費したりすることによって動作する強力なパブリッシュ/

サブスクライブのメカニズムを有しています。新しいメッセージが BizTalk Server のメッセージボックスデータ

ベースに到着すると、メッセージエージェントはサブスクライバを探し、サブスクリプションを持つ何らかのエン

ドポイントにメッセージを送信します。サブスクリプションは受信ポートにオーケストレーションをバインドしたり、

関連付けられたメッセージを待ち受けて受信したり、メッセージのプロパティ(型、受信した場所またはルーテ

ィング可能なプロパティ値等)にマッチするフィルタ条件が設定された送信ポートを作成するなど、いくつかの

方法で設定されます。

これは効果的でスケーラブルなアプローチです。開発者は順序を気にすることなく、一連の別個のサブプロ

セスを作成し、それらを実行するためのトリガとなるメッセージの型を定義することができます。メッセージの

出現によってアクティブ化されたプロセスによってそのメッセージは処理されます。また、該当のメッセージ自

体あるいは他のメッセージをメッセージボックスデータベースに配信し、1つ以上の他のサブプロセスがアクテ

ィブ化されることもあります。

マイクロソフトはWindows Server 2003、.NET Framework 3.0、BizTalk Server 2006 R2を含め、広範囲の

Service-Oriented Infrastructure(SOI)を構築するために必要とされる主要な構成要素を提供します。

Microsoft ESB ガイダンスは、BizTalk Server 2006 R2上に構築されていますが、それは BizTalk Server

2006 R2が以下に示す多くの共通 ESBサービスの基盤を提供しているからです。

メッセージルーティング

メッセージの検証

メッセージの変換

外部と接続するための拡張可能なアダプタフレームワーク

サービスオーケストレーション

ビジネスルールエンジン

ビジネスアクティビティモニタリング

WebサービスとWS-*統合(WCF アダプタ)

Microsoft ESB ガイダンスは、堅固で関連性を保ったサービス指向のアプリケーションを構築することに焦

点を当てた、さまざまな新しい機能を提供するために BizTalk Server 2006 R2の機能を拡張します。以下は、

ESBガイダンスが BizTalk Server 2006 R2を拡張するために提供するいくつかの中核となる機能です。

ポリシー駆動型の仲介

ESB ガイダンスはメッセージの発行時に軽量なサービスコンポジットをサポートする Itinerary ベース

のサービスを呼び出します。Itineraryのメカニズムは、サービスのエンドポイントとその仲介必要な要

件を動的に解決し、レジストリまたはルールエンジンを使ってメッセージをルーティングします。

この手法は開発者が VETO(Validate, Enrich, Transform, Operate) / VETRO(Validate, Enrich,

Transform, Route, Operate )のような疎結合パターンを実装できるようにします。

ESB ガイダンスはリゾルバおよびアダプタプロバイダフレームワークを使用してエンドポイントとマッ

Page 8: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

プの動的な解決をサポートします。これによって、動的なエンドポイントの解決と変換に必要な要件

がサポートされ、効率的にサービスからコンシューマが分離されます。

複数のシステムの接続

ESBガイダンスはメッセージの名前空間の正規化を実行できるようにします。

ESBガイダンスは JMS/WMQによる接続を提供します。

ESB ガイダンスは動的なサービスの集約、メッセージルーティング、メッセージ検証、メッセージ変換

を可能とするメッセージングパターンを提供します。

ESB ガイダンスは UDDI とWS-MetadataExchange を使用してサービスレジストリおよび、リポジト

リ統合を組み込みます。

管理と監視

ESBガイダンスは例外の仲介と障害管理を実装します。

ESBガイダンスはメッセージの修復と再送をサポートします。

ESBガイダンスは例外のアラートとサブスクリプションを実装します。

ESBガイダンスは BizTalkのエンドポイントとレジストリの統合、管理、発行を提供します。

ESBガイダンスは例外、警告、レジストレーションのレポートと分析をサポートします。

ESBガイダンスはサンプルの管理Webポータルを含みます。

SOA管理

ESBガイダンスは AmberPoint社や SOA Software社からの BizTalk Server 2006 R2組み込み管

理エージェントを含む、サードパーティの SOA管理ソリューションを統合します。

1.3. Microsoft ESB ガイダンスの内容

Microsoft ESB ガイダンスは、アーキテクチャ的なガイダンス、パターン&プラクティスおよび BizTalk Server

と.NET の一連のコンポーネントによって、マイクロソフトのプラットホームにおける小規模から大規模の

Enterprise Service Bus(ESB)ソリューションの開発を簡略化します。また、開発者が既存のメッセージングソ

リューションや統合ソリューションを拡張するための手助けとなる機能を提供します。

ESB ガイダンスには以下が含まれています。

ESB Webサービス

Microsoft ESB ガイダンスの主要な機能を提供します。

ESB管理ポータル

例外や障害のトラッキング、メッセージの再送、アラートや通知、UDDI 統合、レポートと分析、コンフィ

グレーションなどの機能を提供します。

ESB パイプライン相互運用コンポーネント

Page 9: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

BizTalkパイプラインにて使用されます。

例外管理フレームワーク

BizTalk のメッセージングサブシステムやオーケストレーションサブシステムの両方からの例外をキャプ

チャし、障害メッセージを生成します。

ESB リゾルバおよびアダプタプロバイダフレームワーク

エンドポイントと変換に必要な要件を動的に解決し、メッセージをルーティングするための追加可能およ

び構成可能なアーキテクチャを実装します。

Itinerary処理機構

このメカニズムは、複数のサービス呼び出しやルーティング/変換のリクエストをダイナミックに記述し、

登録し、実行するための手軽な能力を提供します。

ESBサンプルアプリケーション

Microsoft ESB ガイダンスの使用方法をサンプルとして示し、Microsoft ESB ガイダンスがどのように

SOAや ESBアプリケーションに利点を提供するかを示します。

1.3.1. ESB Web サービス

Microsoft ESB ガイダンスには以下のWebサービスが含まれています。

ItineraryオンランプWebサービス

これらのWeb サービスは外部のメッセージを受け取り、メッセージを処理するためにサービスに送信し

ます。ESB ItinerarySOAP ヘッダは実行すべきサービス(オーケストレーション)やマップ、ルーティング

すべきエンドポイントが記述されたメタデータおよび処理命令が含まれています。これらのサービスは

SOAPまたはWCF-WSHttp メソッドに対しての、一方向および要求-応答の両方の処理をサポートし

ます。Itinerary オンランプサービスは型指定されたメッセージではなく、あらゆるメッセージの型を受け

取ります。

リゾルバWebサービス

外部のアプリケーションが、ESB エンドポイントを調べるために Microsoft ESB ガイダンスのリゾルバ

フレームワークを呼び出せるようにします。サービスは SOAP やWCF-WSHttpを通じて公開されます。

利用可能な解決メカニズムには以下が含まれます。

ビジネスルールポリシー

UDDIレジストレーション

静的実行

WS-MetadataExchangeインタフェース

メッセージコンテンツ(XPath)

IResolveProviderインタフェースを実装したカスタム.NETコンポーネント

変換Webサービス

メッセージのコンテンツを変換する機能を提供し、ビジネスに必要な要件を満たします。受信メッセージ

に対して直接、または BizTalk メッセージボックスデータベースから取得したメッセージに対して、変換

は実行されます。このサービスは BizTalk のキャッシュライブラリを利用しますが、BizTalk メッセージボ

Page 10: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ックスデータベースに直接メッセージを発行する要求を回避することにより、非BizTalkアプリケーション

が BizTalk マップを実行することを許可します。サービスは SOAPやWCF-WSHttp を通じて公開され

ます。

例外ハンドリングWebサービス

外部ソースからの例外メッセージを受け取り、ESB 例外管理フレームワークに発行します。その後、障

害プロセッサパイプラインが正常化を行い、トラッキングをし、ESB 管理ポータルへ例外メッセージを発

行します。サービスは SOAPやWCF-WSHttpを通じて公開されます。

UDDI Webサービス

アプリケーションやユーザが、サービス名、ビジネスプロバイダ、またはビジネスカテゴリに基づいてエ

ンドポイントを調べられるようにします。また、アプリケーションやユーザが UDDI リポジトリに蓄積され

たビジネスプロバイダ、サービス、カテゴリを操作できるようにします。この機能は ESB管理ポータルお

よびサードパーティプロバイダに利用される主要なインフラストラクチャサービスです。サービスは

SOAPを通じて公開されます。

BizTalk オペレーション Webサービス

BizTalk ホスト、オーケストレーション、アプリケーションおよびステータスについての情報を公開します。

ユーザおよびサードパーティ製品はBizTalkグループ内のコンピュータの場所を気にすることなく、容易

にアプリケーションとホストの状況を問い合わせることができます。問い合わせにはメッセージステータ

スやメッセージフロー、ステータスの更新、現在のサービスインスタンス、メッセージの詳細を含めること

ができます。サービスは受信場所をアップデートすることもできます。この機能は ESB 管理ポータルお

よびサードパーティプロバイダに利用される主要なインフラストラクチャサービスです。サービスは

SOAPを通じて公開されます。

1.3.2. ESB 管理ポータル

Microsoft ESB ガイダンスには、システムの例外およびビジネス的な例外の両方を一貫してハンドリングす

る広範囲のWebベースの例外および障害メッセージ管理フレームワークが含まれています。これはポータル

アプリケーションが ESB アクティビティの中でどのように指標と可視性を提供できるのかをサンプルとして示

します。

ESB 管理ポータルは例外の仲介機能を監査とトラッキングメカニズムを通じて提供します。また、例外が発

生した時点で”in flight (処理中)”であったメッセージ(コンテキストプロパティを含む)をキャプチャします。これ

は、強力な例外リカバリと”修復と再送”パターンを可能とします。

管理者やユーザが容易に ESB アプリケーションを管理できるように、ポータルはカスタムの条件に基づいて、

警告を生成し、サブスクライバに通知することができる警告と通知のメカニズムの提供もします。

Page 11: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

アプリケーションのパフォーマンスを監視したり、障害の傾向を分析したりするために、ポータルは特定の期

間において構成可能で、BizTalk 内で実行されている特定のアプリケーションからのデータを含むさまざまな

チャートやレポートを生成して表示することができます。

最後に、ポータルは、UDDIに BizTalkエンドポイントを発行するための GUI を提供するために、自動的また

は管理者に制御された承認プロセスを通じてかのいずれかにより、UDDIサーバを統合します。

1.3.3. ESB パイプライン相互運用コンポーネント

Microsoft ESB ガイダンスは以下のサポートコンポーネントおよびサービスを提供します。

JMSパイプラインコンポーネント

IBM JMS over MQシリーズメッセージングシステムで使用される JMS MQRFH2標準に適合したメタ

データおよびメッセージコンテンツを認識し、検証し、公開します。Microsoft ESB ガイダンスのアプリ

ケーションがMQシリーズ上の JMSシステムとのメッセージの送受信をできるようにします。コンポーネ

ントは自動的にメッセージコンテンツにヘッダ情報を付加したり、メッセージコンテンツからヘッダ情報を

除去したりします。

名前空間パイプラインコンポーネント

メッセージコンテンツ内の名前空間を付与したり削除したりします。アプリケーションが矛盾した名前空

間を修復したり、メッセージボックスデータベースやアプリケーションのオーケストレーション内で名前空

間の衝突を避けるために、不足している名前空間を追加したりできるようにします。また、BizTalkがメッ

セージを、公開している外部システムを変更することなく POX(Plain Old XML)を処理できるようにしま

す。

1.3.4. 例外管理フレームワーク

ESB例外管理フレームワークは、BizTalk環境の中で起こりうる全ての例外を管理するために、統合されたメ

ッセージ指向の障害生成のメカニズムを提供します。ESB 例外管理フレームワークは BizTalk の失敗メッセ

ージのルーティングメカニズムに加えて、例外ハンドリングサービスを通じて発行された例外メッセージを受

け取ることができます。

フレームワークの API は、失敗メッセージの生成とパブリッシュ、オーケストレーションからの管理、

BizTalk2006 で導入された機能である失敗メッセージルーティングのリプリケートをサポートしています。加え

て、フレームワークは全ての例外を正常化、情報の付加、BAM トラッキングの適用、ESB 管理ポータルで表

示し、レポートを行うための例外管理データベースへの最終的なアウトプットの発行を行う機能を提供しま

す。

Microsoft ESB ガイダンスには ESB例外管理フレームワークをサポートする以下のパイプラインコンポーネ

ントが含まれています。

Page 12: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

例外プロセッサパイプラインコンポーネント

BizTalkの失敗メッセージルーティングメカニズムに加えて、Microsoft ESB ガイダンスが生成した障害

メッセージをサブスクライブし、ESB 管理ポータルまたは特定の場所に障害メッセージをルーティングし

ます。また、全ての失敗したメッセージと例外にメタデータを元に情報を付加し、共通のフォーマットに正

常化します。

BAM トラッキングパイプラインコンポーネント

BizTalkのBAMサブシステム内に割り込んで、例外情報を記録します。このコンポーネントは例外管理

フレームワーク内で例外プロセッサパイプラインコンポーネントによって排他的に使用されます。例外情

報のトラッキング機能のオプションとして BAM を使用してデモンストレーションするサンプルを提供しま

す。

1.3.5. ESB リゾルバおよびアダプタプロバイダフレームワーク

リゾルバおよびアダプタプロバイダフレームワークはサービスエンドポイントメタデータおよびこのエンドポイン

トからメッセージスキーマの変換を行うための BizTalkマップの動的な紐付けを解決するための、包括的でプ

ラグイン可能なアーキテクチャを提供します。拡張可能なコンポーネントを使用して開発者が必要要件に応じ

た振る舞いを変更できるようにし、代替の解決方法やルーティング方法をサポートするメカニズムを拡張しま

す。

リゾルバおよびアダプタプロバイダフレームワークは、

UDDI や BRE(Business Rule Engine) 、 XPATH などのさまざまな他のメカニズムに加えて、

WS-MetadataExchange のサポートを提供します。また、開発者にインタフェース(IResolveProvider および

IAdapterProvider)を提供して、カスタムのリゾルバおよびアダプタコンポーネントを作成できるようにします。

以下はリゾルバおよびアダプタプロバイダフレームワークの 3つの主要コンポーネントです。

リゾルバ

これらはスキーマや接続文字列、.NET アセンブリ内の IResolveProvider インタフェース実装を通じて

定義されます。これらは実行時にロードおよびキャッシュされ、さまざまな解決の種類や接続文字列を

サポートします。Microsoft ESB ガイダンスで提供するリゾルバは以下の解決メカニズムをサポートし

ます。

BRE

エンドポイントの情報やメタデータを解決するためにビジネスルールエンジンポリシーを実行す

る。

WSMEX

エンドポイントの情報をWS-MetadataExchangeが可能なサービスに問い合わせる。

UDDI

エンドポイントの情報やメタデータを UDDI2.0 または UDDI3.0 準拠のレジストリに問い合わせ

る。

Page 13: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

XPATH

XPATH式を使用してメッセージコンテンツ内のエンドポイントの情報を問い合わせる。

STATIC

接続文字列や SOAPヘッダ内に BizTalkエンドポイントの情報を指定する。

アダプタプロバイダ

.NETアセンブリ内の IAdapterProviderインタフェース実装を通じて定義されます。これらは BizTalkの

トランスポートの種類に準拠して登録され、リゾルバによって提供されるエンドポイントの情報を対応し

たBizTalkアダプタに設定します。Microsoft ESB ガイダンスで提供するアダプタプロバイダは以下のト

ランスポートの種類をサポートしています。

FTP

FILE

MQ シリーズ

WCF-WSHttp

WCF-BasicHttp

ディスパッチャーパイプラインコンポーネント

接続文字列や ESB ItinerarySOAP ヘッダから指示内容を解析し、リゾルバおよびアダプタプロバイダ

フレームワークを使用してエンドポイント解決機能や変換実行機能を提供します。コンポーネントは、接

続文字列や ESB ItinerarySOAPヘッダの指示内容に基づいて、動的に BizTalkのエンドポイントプロ

パティを設定し、BizTalkのマップによる変換を実行します。コンポーネントは Itineraryにまたがるプロセ

スやサービスの境界を管理、更新、永続化する責務を担います。オプションの逆アセンブルコンポーネ

ントは、ネイティブのBizTalkメッセージ解析を提供し、オーケストレーションサービスを必要とすることな

く、複数のエンドポイントへルーティングするMicrosoft ESB ガイダンスの機能を実装します。

1.3.6. ESB Itinerary 処理

Itinerary 処理サービスは、ItineraryWeb サービスやディスパッチャーパイプラインコンポーネントや Itinerary

処理とキャッシュパイプラインコンポーネントを通じて実装され、軽量で動的なサービス実行機能を提供しま

す。また、Itinerary オンランプ Web サービスを通じて送信されたメッセージの事前に定義された SOAP ヘッ

ダ内の公開メタデータを使用します。メタデータはオーケストレーションサービスを定義したり、変換要求や

BizTalkが実行すべきルーティング手続きを処理したりすることを可能とします。

Itineraryサービスは、ステート管理、正しいサービスへのメッセージの転送および手続きが完了した Itinerary

を先に進める責務を担います。Itinerary サービスは、コアの BizTalk サーバエンジンから処理命令を効率的

に分離します。

Itinerary サービスは、メッセージの SOAP ヘッダに定義され、Itinerary オンランプ Web サービスを通じて

BizTalk エンジンを通過したオーケストレーションや変換、ルーティング処理をサポートします。Itinerary サー

Page 14: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ビスにはルーティングや変換を処理し、適切なサービスにメッセージを配信する責務を担ういくつかの汎用プ

ロセスが含まれます。

Microsoft ESB ガイダンスは Itinerary処理をサポートする以下のパイプラインコンポーネントを提供します。

Itinerary処理とキャッシュパイプラインコンポーネント

これらは ItineraryオンランプWebサービスを通じて送信された全てのメッセージに対してメッセージ前

処理と検証を提供します。さらにキャッシングコンポーネントが要求と応答の動的送信ポートに対する”

スマート”なキャッシュ機能を提供することにより、Itineraryを管理します。

1.3.7. ESB サンプルアプリケーション

開発者は Microsoft ESB ガイダンスが提供する機能群を行使した一連の一般的な ESB のユースケース、

サンプルシナリオ、テストアプリケーションの動作を確認しながら、理解を深めることができます。

また、開発者は多くのMicrosoft ESB ガイダンスのサンプルコンポーネントを配置したり、スタンドアロンの構

成要素としてモジュール構成を使用してビルドすることもできます。これは ESB の開発者に、特定の SOI の

必要要件に適合するために標準の参考実装をカスタマイズ/拡張する柔軟性を提供します。

サンプルアプリケーションには以下が含まれます。

修復/再送カスタム例外ハンドラ

このサンプルでは、ユーザが失敗したメッセージ処理を確認し、メッセージを編集し、処理に再送できる

ようにするカスタムの例外ハンドラをデモンストレーションします。厳密に型指定された例外ハンドラとそ

うでない例外ハンドラの両方の例を含んでいます。

メッセージ永続化カスタム例外ハンドラ

このサンプルでは、失敗したメッセージをディスクファイルに蓄積し、InfoPath のテンプレートにレンダリ

ングするためにシリアル化するカスタム例外ハンドラをデモンストレーションします。

BizTalk失敗メッセージルーティングの ESB処理

このサンプルでは、BizTalk アプリケーションのどこかのステージで発生した例外をキャプチャするため

の ESBの機能をデモンストレーションします。

Itineraryオンランプ

このサンプルでは、Microsoft ESB ガイダンスの ItineraryオンランプWebサービスへのメッセージの

送信をデモンストレーションします。サンプルはさまざまなサービスにディスクライブされる 13 個の事前

に定義された Itineraryを一方向と双方向の両方のメッセージングパターンで配信します。

JMS MQRFH2コンポーネント

このサンプルでは、IBM MQシリーズのシステムとMicrosoft ESB ガイダンスアプリケーションの統合

をデモンストレーションします。このサンプルは、どのようにJMSメッセージを受信し、BizTalkでどうやっ

て JMS ヘッダにアクセス/編集するか、どのように MQ シリーズにメッセージを送り返すかをデモンスト

レーションします。

名前空間コンポーネント

Page 15: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

このサンプルでは、メッセージに対する名前空間の追加および削除をデモンストレーションします。この

サンプルは名前空間を削除したり、デザイン時にさまざまな入力パラメータを設定することによって受

信ドキュメントに対して動的に名前空間を付加したりするためのさまざまなテクニックをデモンストレーシ

ョンする 4つの異なるユースケースを実装します。

変換サービス

このサンプルでは、メッセージボックスデータベースにメッセージを永続化することなく、外部のアプリケ

ーションが BizTalkで配置されたマップを使用した変換をするために ESBにドキュメントを送信できるよ

うにします。このサンプルをインストールすると、サンプルが使用するマップが配置されます。

動的解決

このサンプルでは、さまざまな解決方法を使用して、送信先やマップを解決し、メッセージを対応するタ

ーゲットにルーティングします。このサンプルでは、一方向および双方向(要求-応答)の単純なメッセ

ージングシナリオにおいて、配信パイプラインを通じたリゾルバおよびアダプタプロバイダフレームワー

クの使用方法をデモンストレーションします。このサンプルはさまざまな解決/変換オプションをデモンス

トレーションする 17個のユースケースを実装します。

BizTalkオペレーション

このサンプルでは、BizTalk オペレーション Web サービスにアクセスして、BizTalk 環境や現在インスト

ールされているアプリケーションおよび、他の BizTalk の処理結果の情報を抽出します。また、BizTalk

オーケストレーションを通過したメッセージや、BizTalk メッセージボックスデータベースからのメッセージ

を検索します。

リゾルバサービス

このサンプルでは、BizTalk マップやエンドポイントをどのように解決するかをデモンストレーションする

ために、リゾルバ Web サービスのメソッドを実行します。アプリケーションにおいてどのようにリゾルバ

Webサービスを使用するかが示されます。

UDDIサービス

このサンプルでは、蓄積されているレジストレーション上の情報を抽出したり、新しいレジストレーション

を発行したりするために、UDDI Webサービスを通じて現在構成されている UDDIサーバにアクセスし

ます。サンプルでは、UDDI Web サービスで利用可能な多様なメソッドの全てをデモンストレーションし

ています。

Scatter-Gather (分解-集約)

このサンプルでは、複数のWebサービス要求やマップを動的に解決して実行したり、それら全てのレス

ポンスを集約したり、Itinerary で定義されたほかのエンドポイントにレスポンスを転送したりする要求を

サービスに送信するために、どのように ESB Itineraryを適用するかを説明します。

Page 16: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

2. Microsoft ESB ガイダンスを開始するにあたって

このセクションでは、ESBを実現するソリューションを構築するために使用できるMicrosoft Enterprise Service

Bus(ESB)のサービス、コンポーネントのデザイン、運用のコンセプトについて説明します。

2.1. Microsoft ESB ガイダンスのアーキテクチャ

Microsoft ESB ガイダンスは、疎結合のメッセージング環境をサポート/実装する一連の相互運用コンポーネ

ントで構成されています。一連の相互運用コンポーネントは、メッセージベースのエンタープライズアプリケー

ションを容易に構築できるようにしています。サービスやコンポーネントは必然的に以下の 6つのカテゴリに分

類されます。

Webサービス

内部のサービス(Itinerary 処理、例外管理、エンドポイントやマップの解決、BizTalk オペレーション、

UDDI相互運用、メッセージコンテンツの変換など)を公開します。

Itineraryサービス

変換やメッセージの配信を実行するエージェントが含まれます。Itinerary 処理に参加するカスタムサー

ビスを作成することができます。

Itineraryオンランプ

SOAPまたはWindows Communication Foundation (WCF)のどちらかを使用して、外部のメッセージ

を受信します。オンランプは、ItinerarySOAPヘッダを公開し、Itinerary処理を実行します。エンドポイン

トとメタデータの動的解決をするために Microsoft ESB ガイダンスのリゾルバおよびアダプタプロバイ

ダフレームワークが使用されます。

オンランプ

HTTP、JMS、WMQ、FTP、フラットファイル、XMLなどのさまざまなフォーマットおよびトランスポートの

種類で外部のメッセージを受信します。これらのトランスポートの種類は、エンドポイントとメタデータの

動的解決をするためにオプションとして Microsoft ESB ガイダンスの相互運用パイプラインコンポーネ

ントやリゾルバおよびアダプタプロバイダフレームワークを使用する、典型的な BizTalk受信場所です。

オフランプ

SOAP、WCF、JMS、WMQ、FTP、HTTP、フラットファイル、XML または他のカスタムフォーマットなど

のフォーマットおよびトランスポートの種類を使用したメッセージの配信のための送信ポートを実装しま

す。これらのトランスポートの種類は、エンドポイントとメタデータの動的解決をするために、オプションと

して Microsoft ESB ガイダンスの相互運用パイプラインコンポーネントやリゾルバおよびアダプタプロ

バイダフレームワークを使用する典型的な BizTalk送信ポートです。

例外管理フレームワーク

例外Web サービス、例外管理 API や例外に情報を付加し、処理して、ESB管理ポータルに受け渡す

コンポーネントが含まれます。

ESB管理ポータル

レジストリの提供機能、例外の仲介機能、警告通知機能、分析機能を提供します。

Page 17: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

これらのコンポーネントやサービスの多くは、オーケストレーション、変換、ビジネスルールエンジン、メッセー

ジボックスデータベースなどの BizTalk Server 2006 R2の機能に依存しています。下記の図はカテゴリの概

略、各々のカテゴリ内で典型的に使用されるコンポーネントやサービス、およびMicrosoft ESB ガイダンスに

よって使用されるコアの BizTalkシステムコンポーネントを示しています。

2.1.1. ESB の動作

Microsoft ESB ガイダンスは、受信メッセージを受け付け、変換や配信、または他のカスタム定義された処

理などを実行することによって、メッセージを操作します。必要な操作を特定するために、コアの処理コンポー

ネントは関連した命令を含むメッセージあるいは適用すべき処理と実行すべきタスクが定義されたメッセージ

コンテンツ内のメタデータを必要とします。

このアプローチは、サービス間の結合度を弱める働きをし、ESB が各々のメッセージに対する特定の処理を

事前に知る必要がないことを意味します。当然、実行時には、実行可能な処理が何であるか、各処理をどの

ように適用するかを知らなくてはなりません。メッセージ内の処理命令や利用可能な処理や処理間でのマッ

Page 18: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ピングを特定するための、多岐にわたるさまざまなオプションは、コードの変更やコンポーネントの再配置を

することなく、振る舞いを構成して調整するための柔軟なメカニズムを提供します。

2.1.2. デザインパターン

ESB が使用するアーキテクチャは、プロセスがメッセージボックスデータベースにメッセージを投入し、メッセ

ージ内の処理命令に基づいてサブスクライバが処理する場合に、効率的にステートマシンデザインパターン

を実装します。加えて、ESBはサービス指向の作法で実装され、コア機能を一連のコアWebサービスを通じ

て、外部のアプリケーションに公開します。

この BizTalk と ESB ベースのアプリケーションをデザインしている疎結合アプローチは、ハイスケーラブルな

ソリューションをもたらし、業界に受け入れられるベストプラクティスになります。

2.2. メッセージフローの理解

このセクションでは、Microsoft ESB ガイダンスのドキュメントで説明されている ESB環境において、メッセー

ジがどのように流れるかについて説明します。全体的なメッセージフローについて論じ、メッセージに対する処

理を決定する ESB ItinerarySOAPヘッダの詳細な説明を提供します。

2.2.1. メッセージのライフサイクル

ESB の外側で発生し、他のサービスに配信するために BizTalk を通過するメッセージの典型的なライフサイ

クルは以下の通りです。

1. ItineraryWebサービスオンランプがメッセージを受信します。

2. パイプラインコンポーネントがコンポーネントプロパティの値または ItinerarySOAPヘッダに含まれるメタ

データを使用して、メッセージのコンテキストプロパティを設定します。

3. ESBは BizTalk メッセージボックスデータベースにメッセージを配信します。

4. メッセージの ESB メタデータコンテキストプロパティに基づいて、サブスクライバはメッセージをピックアッ

プします。サブスクライバは以下のいずれかとなります。

仲介者(オーケストレーションなど)

ガイダンスで提供されるオフランプ

また、上記の代わりに以下のようなライフサイクルのパターンも可能です。

1. BizTalkオーケストレーション内でコンポーネントがメッセージを生成します。

2. コンポーネントはメッセージ内に ESB メタデータコンテキストプロパティを設定します。

3. ESBはメッセージボックスデータベースへ直接バインドされたポートを通じて、メッセージを配信します。

Page 19: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

2.2.2. メッセージの Itinerary

Microsoft ESB ガイダンスの主要機能のひとつは、エンタープライズレベルのメッセージングアプリケーショ

ンの開発を単純化し、BizTalk の機能を拡張し、大量の静的な送信ポートや他のエンドポイントのメンテナン

スのオーバーヘッドの管理を低減する Itineraryサービス(Itineraryオンランプ)の提供です。

ESB Itineraryサービスは関連した ItinerarySOAPヘッダを含むメッセージを受け付けます。このヘッダには、

メッセージに対して実行すべきサービスのリストとこれらの各サービスのエンドポイントを解決するのに必要

なメタデータが含まれています。例えば、ひとつのサービスがカスタムの”ルーティング”サービスであるとしま

す。それに関連した指示内容がサービスに対して、UDDI や WS-MetadataExchange、Business Rules

Engine (BRE)などから、メッセージがルーティングされるべきエンドポイントについての情報を検索するよう

に指示をするかもしれません。

実行すべきサービスのリスト(ルーティング、変換、カスタムメッセージング、またはオーケストレーションの全

体を含む)に加えて、関連付けられた解決命令がメッセージに対する Itineraryを定義します。Itineraryサービ

スを利用することにより、クライアントは管理上の入力やルーティングの詳細や送信ポートを事前に設定する

ことなく、実行すべきサービス(Itineraryの手順)、実行順序、解決方法を特定することができます。

Itinerary サービスは ESB の動的解決のメカニズムと直接変換を使用することによって、動的なルーティング

をサポートします。

Itineraryサービスはメッセージを受信すると、Itinerary手順を抽出、検証し、Itinerary情報とともにメッセージ

のコンテキストプロパティを付加します。その後、サービス、メッセージング、パイプライン、オーケストレーショ

ン、BizTalkアプリケーション内のコードはメッセージコンテキストに格納された Itineraryにアクセスし、現在の

ステップの詳細を取得し、Itinerary を次のステップに進めます。こうすることにより、Itinerary の中で定義され

た次のサービスにメッセージの処理をさせます。

2.2.3. 処理命令の詳細

Microsoft ESB ガイダンスは ItineraryWebサービスオンランプを通じて送信されたメッセージに以下の昇格

されたプロパティをセットします。System-Properties.xsdという名前のスキーマが ItineraryAPIによって適用

されるこれらのプロパティを定義しています。

ItineraryHeader

このプロパティには全ての Itinerary 情報と Itinerary ステップの順序を通じて実行されるべき Itinerary

サービスのリストが含まれます。ItineraryAPIがこのプロパティを内部で利用します。

ServiceName

このプロパティには、処理すべき現在の Itineraryの名前が含まれます。

ServiceState

このプロパティには、現在の Itinerary サービスの状況を含み、「Pending」、「Complete」、「Active」の

Page 20: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

いずれかとなります。全てのサービスはServiceStateが「Pending」である Itineraryステップをサブスク

ライブします。

ServiceType

このプロパティは、Itineraryステップの種類(Messagingまたは Orchestration)を定義します。

IsRequestResponse

このプロパティは、メッセージングの種類(一方向または要求-応答)を定義します。

Itineraryサービスは ServiceTypeプロパティの値によって、2つの異なる方法で Itineraryステップの実行を

実現します。

ServiceType プロパティが「Messaging」である場合、Microsoft ESB ガイダンスが提供する Itinerary

パイプラインコンポーネントは Itinerary のステップを実行します。開発者は、カスタムパイプラインと

ItineraryAPIを使用して処理を拡張することができます。

ServiceTypeプロパティが「Orchestration」である場合、Itineraryコンテキストプロパティのサブスクリプ

ションを通じてアクティブ化されたオーケストレーションが Itineraryのステップを実行します。

Itinerary サービスが Itinerary のステップを処理する際、サービスは、BizTalk のパブリッシュ-サブスクライブ

機能を使用して、後続の処理に新しい Itinerary コンテキストを付加して、Itinerary を先に進めることおよび、

メッセージを配信する責務を担います。Itineraryサービスは、メッセージ内の Itineraryの完全な制御を行い、

内部ロジックとメッセージコンテンツに基づいて適切なステップに進めることができます。

Itinerary処理メカニズムは、単一の Itineraryの中でメッセージング、オーケストレーションの両方の Itinerary

ステップの作成をサポートします。開発者は、カスタムの Itineraryサービスを定義したり、カスタムの Itinerary

ステップを構成したりすることも可能です。

Page 21: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3. インストール

3.1. 前提条件

3.1.1. OS、アプリケーション

ESB ガイダンスをインストールするマシンに事前にインストールしておく必要があるソフトウェアは以下のと

おりです。

製品名 備考

Microsoft Windows Server 2003 Service Pack 2

Microsoft .NET Framework 3.0

Hot fix KB923028 参考 URL:http://support.microsoft.com/kb/923028

インターネットインフォメーションサービス (IIS) 6.0 Web サービスおよび ESB 管理ポータルで使用

SQL Server 2005 Service Pack 2

(Database Service、Analysis Services、Integration

Services)

または

SQL Server Service Pack 3 以降

(Database Service、Data Transformation Service)

Visual Studio 2005 Service Pack 1 C# および

C++(JMS pipeline component で使用)

InfoPath 2003 または InfoPath 2007 ESB 例外管理フレームワークによる

例外情報の詳細表示で使用

Enterprise Library 3.1 ESB 管理ポータルを使用する場合のみ

3.1.2. BizTalk Server 2006 R2

ESB ガイダンスはBizTalk Server 2006 R2に統合されます。BizTalk Serverの最小要件および追加で必要

となる機能は以下のとおりです。

製品名、機能名 備考

Microsoft BizTalk Server 2006 R2

Business Activity Monitoring (BAM) BAM ツール構成時に

「BAM 集計用に AnalysysService を有効する」を

チェックして集計用 DB を作成すること。

BizTalk MQ Series Adapter Microsoft ESB Guidance JMS component または

MQSeries を使ったサンプルアプリケーションを

実行する場合のみ

Page 22: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

Hotfix KB944532(または KB943871) BizTalk Error Reporting の新しいプロパティ追加

に対応。

※2008/6 時点では、日本語版 BizTalkServer に対

応した Hotfix は未リリース

http://support.microsoft.com/kb/944532/ja

3.1.3. Microsoft UDDI サービス

UDDIシステムを使用する場合は、「Windowsコンポーネントの追加/削除」からMicrosoft UDDIサービス

をインストールする必要があります。

注:

.NETFramework 2.0 上で UDDI 管理サイトを動作させる場合は、下記ソースコードにおける

「TreeNode」クラスの参照を「UDDI.Web.TreeNode」クラスに変更します。

<任意のディレクトリ>¥UDDI¥webroot¥admin¥explore.aspx

<任意のディレクトリ>¥UDDI¥webroot¥edit¥explore.aspx

【修正例】

TreeNode nodeCoordinate = tree.Nodes.Add( ……

↓下記に修正

UDDI.Web.TreeNode nodeCoordinate = tree.Nodes.Add(……

注:

UDDIサービスを使用するサンプルアプリケーションは、非SSLで接続する設定となっています。サンプル

アプリケーションの設定を変更せずにUDDIサービスを使用する場合は、UDDIサービスのインストール時

に【SSL を必要としない】を選択してください。または、インストール後に UDDI のサービスコンソールを使

用して SSLを必要としない設定に変更してください。

3.1.4. IBM MQ Series Support

MQ Series メッセージング機能をサポートし、JMS を使用したサンプルアプリケーションを実行する場合は、

BizTalk Serverインストール前に下記製品をインストールする必要があります。

既に BizTalk Serverをインストール済の場合は、再度インストール作業を行い、MQ Seriesアダプターをイン

ストールします。

製品名、機能名 備考

IBM WebSphere MQ 5.3 with CSD12

または

WebSphere MQ 6.x Business Integration platform

IBM "RfhUtil" JMS テストユーティリティ 入手 URL:

Page 23: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

http://www-1.ibm.com/support/docview.wss

?rs=0&q1=RFHutil&uid=swg24000637&loc=

en_US&cs=utf-8&cc=us&lang=en

3.1.5. セキュリティ設定

3.1.5.1. Kerberos認証

ダブルホップの場合には、ESB ガイダンスに含まれるESBWebサービスや管理ポータルは、サーバ間通信

におけるセキュリティを確保するために、Kerberos認証をサポートする必要があります。

下記記事を参考に IISにおいて Kerberos認証を有効化します。

ネットワーク認証に Kerberos プロトコルと NTLM プロトコルの両方をサポートするように IIS を構成する

方法:

http://support.microsoft.com/kb/215383/ja

ドメインに属するマシンの場合は、下記の設定も行ってください。

・ドメイン コントローラ以外のコンピュータの IIS で Kerberos 認証を有効にする方法:

http://support.microsoft.com/kb/326089

・ドメイン コントローラで委任を有効にする方法:

http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a3

11033.mspx?mfr=true

・SQL ServerのKerberos認証への参加を可能にするために、SQL ServerサービスがLOCAL SYSTEM

または NETWORK SERVICEアカウントで実行されていることを確認します。

・SQL Server 2005 のインスタンスへのリモート接続を作成するときに、Kerberos 認証を使用しているこ

とを確認する方法:

http://support.microsoft.com/kb/909801

3.1.6. BizTalk セキュリティグループ

ESB ガイダンスのリゾルバWebサービス、UDDIサービスおよび管理ポータルは、セキュリティアクセスをコ

ントロールするためにBizTalk Application UsersグループとBizTalk Server Administratorsグループを使用

します。BizTalk Server Administratorsグループの認証されたユーザーのみが BizTalkの管理作業を行えま

す。

Page 24: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.1.7. BizTalk Web サービスのセキュリティ設定

BizTalkのオペレーションWebサービスは、BizTalk Message Box データベースや BizTalk Management

データベースに直接クエリを発行して登録/更新作業を行います。そのため、BTS_HOST_USERS データ

ベースロールに以下のテーブルのアクセス権利を SQLマネジメントスタジオで付与する必要があります。

・BizTalk Management データベース

テーブル名 権利

adm_hostInstance SELECT

adm_Server2HostMapping SELECT

・BizTalk MessageBox データベース

テーブル名 権利

ProcessHeartbeat SELECT

3.1.8. 追加アプリケーションとツール(オプション)

以下のアプリケーション、ツールのインストールはオプションですが、ESB ガイダンスを使用する上で有効な

ツールです。

製品名、機能名 備考

Excel2003 または Exce2007 BAM トラッキングスレッドシートの編集のみで使用

Windows Sysinternals DebugView 入手 URL:

http://www.microsoft.com/technet/sysinternals/Mis

cellaneous/DebugView.mspx

3.1.9. 旧バージョン ESB ガイダンスのアンインストール

下記の手順で旧バージョンの ESB ガイダンスをアンインストールします。

・BizTalkServer管理コンソールから下記アプリケーションを削除

Microsoft.Practices.ESB、GlobalBank.ESB

・下記コマンドを実行してイベントソースを削除

InstallUtil /u "Microsoft.Practices.ESB.EventSource.dll"

・グローバルアセンブリキャッシュからアセンブリをアンイントール

Microsoft.Practices.ESB.* 、GlobalBank.ESB.*

・Microsoft.Practices.ESB.*パイプラインコンポーネントを削除

%Program Files%¥Microsoft BizTalk Server 2006¥Pipeline Components

・IISの仮想ディレクトリを削除

ESB.*

・IISのアプリケーションプールを削除

Page 25: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ESB.*

・ESB ガイダンスコンポーネント、ビジネスルールエンジンを削除

ポリシー名

CanadaSubmitOrderMaps GetCanadaPurchaseEndPoint

ResolveEndPointScatterGather ResolveMapScatterGather

GetCanadaEndPoint ResolveEndPoint

ResolveMap DynamicRunTimeDocSpecs

ボキャブラリ名

DynamicRunTimeEndPoints DynamicRunTimeServiceActions

DynamicRunTimeMaptypes ESB.ContextInfo

ESB.EndPointInfo ESB.TransformInfo

ESB.TransportTypes

・UDDIビジネスプロバイダの削除

Microsoft.Practices.ESB、Microsoft.Biztalk.ESB.UDDI

注:

Microsoft UDDI サーバーを使用している場合は、UDDI サービスのホームページ(既定は

http://localhost/uddi/default.aspx)の「発行」リンクをクリックして表示されたページにおいて、インストー

ルされているプロバイダを削除してください。

・UDDIレジストリの削除(tModel)

microsoft-com:esb:runtimeresolution

注:

Microsoft UDDI サーバーを使用している場合は、UDDI サービスのホームページ(既定は

http://localhost/uddi/default.aspx)の「発行」リンクをクリックして表示されたページにおいて、インストー

ルされている tModelを削除してください。

3.1.10. インストール環境における制限事項

・ESBSource.zipを解凍して生成される Keyおよび Soureフォルダを下記フォルダに展開すること。

C:¥Projects¥Microsoft.Practices.ESB

※サンプルアプリケーションのバインド情報ファイルの設定は上記フォルダで設定されています

・適当なアクセス権限を持った既定の BizTalkセキュリティグループが存在すること。

・既定の BizTalkServerホストが存在すること。

Page 26: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.2. サービスとコンポーネントのインストール

3.2.1. Microsoft ESB ガイダンスソースファイルの解凍

Microsoft ESB ガイダンスは、BizTalk Server上で ESBを実行するために必要なコンポーネントやソース全

てを含んでいます。この配布パッケージは zip ファイルの為、サーバ上で解凍する必要があります。ESB

Guidance.msiは、Microsoft ESB ガイダンスの主なサブシステムのWindows Installer (*.msi)ファイルや、

厳密名署名されたバイナリと同様に、ソースコードの zip ファイルもインストールします。デフォルトでは、

C:¥Program Files¥Microsoft ESB Guidance 1.0 - November 2007 というフォルダにインストールされま

す。

Microsoft ESB ガイダンスソースファイルのインストール手順は以下の通りです。

① 「ESB Guidance.msi」ファイルをダブルクリックします。

② すべてデフォルト値まま、「Next」をクリックし、インストールを完了します。

③ デフォルトのインストールディレクトリに移動します。

④ zip解凍ツールで構造が際限できるかどうかを確認します。ESBGuidance.msiによってインストールされる

主なファイル及び、フォルダは以下の通りです。

・ Binフォルダ

・ ESBSource.zip

・ Readme.htm

・ GettingStarted.htm

・ KnownIssues.htm

・ Microsoft.Practices.ESB.CORE.msi

・ Microsoft.Practices.ESB.CORE_NOBINDING.msi

・ Microsoft.Practices.ESB.ExceptionHandling.msi

・ Microsoft.Practices.ESB.ExceptionHandling_NOBINDING.msi

・ Microsoft.Practices.ESB.JMS.msi

・ Microsoft.Practices.ESB.JMS_NOBINDING.msi

・ GlobalBank.ESB.Policies.msi

⑤ zip ファイルに含まれる長いパスやファイル名が原因のエラーを避けるために、ESBSource.zip ファイルを

ハードディスクの C:¥Tempのような短い名前のフォルダにコピーします。

⑥ Cドライブ直下に Projectsというフォルダを作成し、そのフォルダ内にMicrosoft.Practices.ESBというサブ

フォルダを作成します。

⑦ ESBSource.zipファイルを、C:¥Projects¥Microsoft.Practices.ESBフォルダに解凍します。これによって、

サンプルキー、ソースファイル、サンプルを含む Keys及び Source というフォルダが作成されます。

Page 27: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

注:

ESB Guidance.msi によってインストールされるリリースバージョンのコアアセンブリではなく、

VisualStudioのMicrosoft.Practices.ESB ソリューションプロジェクトをビルドしたコアアセンブリをイン

ストールする場合は、ビルドして生成された DLLを全て Bin フォルダにコピーするか、サンプルアプリケー

ションのソリューションプロジェクトにおける DLL参照先を変更してください。

またその場合は、各サンプルアプリケーションも VisualStudio のソリューションプロジェクトを使用しソー

スコードをビルドしてインストール方法で統一してください。これは、各サンプルアプリケーションがコアアセ

ンブリの公開キートークンを指定する形式で参照するためです。

リリースアセンブリのキートークン:31bf3856ad364e35

ビルドアセンブリのキートークン:c2c8b2b87f54180a

3.2.2. Microsoft ESB ガイダンスのインストール

3.2.2.1. ソリューションプロジェクトからのインストール

このセクションでは、Microsoft ESB ガイダンス のソースコードを提供するソリューションプロジェクトを使用

した Microsoft ESB ガイダンス コアアセンブリ、パイプラインコンポーネントのインストール手順を記載して

います。

注:

ESB ガイダンスのコアの一部分としてインストールされる例外管理フレームワークは、出力される失敗メ

ッセージを、EsbExceptionDbというSQL Server Exception Management Databaseの適切なフォーマッ

トに変換するために、ESB 配信パイプラインコンポーネントを使用します。したがって、以下の手順で示す

ように、Exception データベースを構築し、設定しなければなりません。例外管理フレームワークは、例外

情報をデータベースに挿入するために SQL Adapter を利用し、All.Exceptions というポートへ送信しま

す。

① インストールした Sourceフォルダから、Microsoft.Practices.ESB.slnを Visual Studio 2005で開きます。

② Visual Studio 2005のソリューションエクスプローラから、以下のプロジェクトのプロパティページ(コンテキ

ストメニューからプロパティを選択)を開き、左側のツリーの構成プロパティから「展開」を選択します。「グロ

ーバルアセンブリキャッシュにインストール」、「ホストインスタンスを再起動します」、「再展開」の各プロパ

ティにTrueを設定します。また、SQL Server及び、BizTalkMgmtDbデータベースにアクセスするための適

切なサーバ名、構成データベース名が指定されていることを確認します。(下図参照)

・ ¥Core¥Orchestrations¥ESB.Agents

・ ¥Core¥Pipelines¥ESB.Itinerary.Pipelines

・ ¥Core¥Schemas¥ESB.Itinerary.Schemas

・ ¥Core¥Schemas¥ESB.Resolver.Schemas

・ ¥Exception Handling¥Maps¥ESB.ExceptionHandling.Maps

Page 28: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

・ ¥Exception Handling¥Pipelines¥ESB.ExceptionHandling.Pipelines

・ ¥Exception Handling¥Schemas¥ESB.ExceptionHandling.Schemas.Faults

・ ¥Exception Handling¥Schemas¥ESB.ExceptionHandling.Schemas.Reporting

③ ソリューションを保存し、Visual Studio 2005を終了します。

④ SQL Server Management Studio(または同等の SQL Server management tool)を開き、exception

databaseをインストールする SQL Serverに接続します。

¥Source¥Exception Handling¥SQL¥ESB.ExceptionHandling.Database¥Create Scripts フォルダから、

EsbExceptionDb_CREATE.sqlを開き、「実行」ボタンをクリックしてEsbExceptionDbデータベースを作成し

ます。スクリプトでは、以下のセキュリティロールも作成されます。

・ ESBPortal

・ ESBPortalAdmin

⑤ SQL Server Management Studioにおいて、オブジェクトエクスプローラ>セキュリティ>ログインと展開し、

[domain]¥BizTalk Application Users グループを選択して、プロパティを開きます。「ユーザー マッピン

グ」タブにおいて、「このログインにマップされたユーザー」で「EsbExceptionDb」をチェックし、

「EsbExceptionDb のデータベースロールメンバシップ」で「ESBPortal」がチェックされていることを確認し

ます。この設定により、データベース内全てのストアドプロシージャを実行する権利をアカウントに与えます。

このステップを、[domain]¥BizTalk Server Administrators グループにも行います。「EsbExceptionDbの

データベース ロール メンバシップ」では「ESBPortalAdmin」がチェックされていることを確認します。

Page 29: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

⑥ Windows エクスプローラで、¥Source¥Core¥Install¥Scripts フォルダを開き、テキストエディタで

PreProcessingCORE.vbs を開きます。このスクリプトを実行する前に、必要に応じてこのファイルの先頭

で宣言される変数(ユーザー名やパスワードなど)を編集してください。これらの変数及び、デフォルト値は、

「ESB ガイダンスコア用 PreProcessingCORE スクリプトの設定」を参照してください。ファイルを編集後、

スクリプトをダブルクリックして実行してください。

このスクリプトでは、以下のタスクを実行します。

・ 「BizTalk Isolated Host Users」グループに新しいユーザアカウント「BTSISOSVC」を作成

・ 以下のローカル、ドメイングループに作成したユーザアカウントを追加

グループ名

[ローカルマシン名] ¥IIS_WPG

[ローカルマシン名] ¥STS_WPG

[ドメイン名] ¥BizTalk Isolated Host Users

Page 30: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

・ 新しいユーザアカウント、「BizTalk Application Users」グループに以下フォルダへのアクセス許可を設定

フォルダ名

¥Windows¥Temp

Key フォルダ、Source フォルダをインストールしたフォルダ

(既定では、C:¥Projects¥Microsoft.Practices.ESB)

※「BizTalk Application Users」グループの許可のみ設定

・ 以下の IISアプリケーション プールを作成

アプリケーションプール名

ESBAppPool

ESBWcfAppPool

ESBNetworkAppPool

注:

ESBAppPool 及び、ESBWcfAppPool のセキュリティアカウントは、作成したアカウントを使用します。

ESBNetworkAppPoolのセキュリティアカウントは、NETWORK SERVICEアカウントを使用します。

・ 以下の Web サービスフォルダのための仮想ディレクトリを作成し、作成したアプリケーションプール配下で

動作するように設定します

Web サービス名(アプリケーションプール名)

¥Services¥ESB.ExceptionHandlingServices (ESBAppPool)

¥Services¥ESB.ExceptionHandlingServices.WCF (ESBWcfAppPool)

¥Services¥ESB.ItineraryServices (ESBAppPool)

¥Services¥ESB.ItineraryServices.WCF (ESBWcfAppPool)

¥Services¥ESB.ItineraryServices.Response (ESBAppPool)

¥Services¥ESB.ItineraryServices.Response.WCF (ESBWcfAppPool)

¥Services¥ESB.ResolverServices (ESBNetworkAppPool)

¥Services¥ESB.ResolverServices.WCF (ESBNetworkAppPool)

¥Services¥ESB.TransformServices (ESBAppPool)

¥Services¥ESB.TransformServices.WCF (ESBWcfAppPool)

¥Services¥ESB.BizTalkOperationsService (ESBNetworkAppPool)

¥Services¥ESB.UDDIService (ESBNetworkAppPool)

注:

BizTalk Serverグループに ESB ガイダンスをインストールした場合、スクリプトがフォルダへのアクセス許

可を設定するときに、例外が発生する可能性があります。スクリプト完了後、BizTalk Isolated Host Users

ドメインに、手動でユーザアカウントを割り当て、許可の設定をする必要があります。

Page 31: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

また、ローカルマシンの BizTalk Serverグループに、ESB ガイダンスをインストールし、かつローカルマシ

ンがドメインの一部の場合、スクリプトがアクセス許可を設定する時に、例外が発生する可能性がありま

す。この場合、PreProcessingCORE.vbsの、strUserDomain=objNetwork.UserDomainを

strUserDomain=objNetwork.ComputerNameに編集し、スクリプトを再度実行してください。

⑦ Windowsエクスプローラで、¥Source¥Core¥Install¥Scriptsフォルダを開き、1.Install_Prerequisites.cmd

を実行して、3つのフォルダ(UDDI Publisher, Rules Deployment, Event Source)を含む Utilitiesフォル

ダ作成します。このインストールは、適切なフォルダに Rules Deployment ユーティリティをコピーし、必須

の UDDI エントリーや、イベントソース(Microsoft.Practices.ESB.EventSource.dll)をインストールします。

このスクリプトは、以下のタスクを実行します。

・ サンプルプロジェクトのためのローカル UDDIサーバに UDDIエントリーを作成します。

・ 「microsoft-com:esb:runtimeresolution」カテゴリースキーマには以下のキーが含まれています。

キー

TransportType

JaxRpcResponse

TransportLocation

EndPointConfig

MessageExchangePattern

Action

CacheTimeOut

TransformType

BizTalkApplication

TargetNamespace

PortName

・ 「Microsoft.Practices.ESB」ビジネスプロバイダに発行されるサービス

サービス名 キー

OrderFileService Category Key = TransportType ; Value = FILE

Category Key = TransportLocation ; Value =

C:¥Projects¥Microsoft.Practices.ESB¥Source¥Samples¥DynamicResolution¥

Test¥Filedrop¥OUt¥%MessageID%.xml

Category Key = MessageExchangePattern; Value = One-Way

Category Key = CacheTimeOut; Value = -1

OrderFileServiceWBin

dings

TransportType://FILE

TransportLocation://C:¥Projects¥Microsoft.Practices.ESB¥Source¥Samples¥D

ynamicResolution¥Test¥Filedrop¥OUt¥%MessageID%.xml

MessageExchangePattern://One-Way

CacheTimeOut://-1

Page 32: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

サービス名 キー

OrderMQSService Category Key = TransportType ; Value = MQS

Category Key = TransportLocation ; Value =

MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/%MessageID

%.xml

Category Key = MessageExchangePattern; Value = One-Way

Category Key = CacheTimeOut; Value = -1

OrderMQSServiceWBi

ndings

TransportType://MQS

TransportLocation://MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.

OUT/%MessageID%.xml

MessageExchangePattern://One-Way

CacheTimeOut://-1

OrderFTPService Category Key = TransportType ; Value = FTP

Category Key = TransportLocation ; Value =

FTP://localhost/out/%MessageID%.xml

Category Key = MessageExchangePattern; Value = One-Way

Category Key = CacheTimeOut; Value = -1

OrderFTPServiceWBin

dings

TransportType://FTP

TransportLocation://FTP://localhost/out/%MessageID%.xml

MessageExchangePattern://One-Way

CacheTimeOut://-1

PurchaseOrderSubmit

OrderService

Category Key = TransportType ; Value = WCF-BasicHttp

Category Key = TransportLocation ; Value =

http://localhost/ESB.CanadianServices/SubmitPOService.asmx

Category Key = TargetNamespace; Value =

http://globalbank.esb.dynamicresolution.com/canadianservices

Category Key = MessageExchangePattern; Value = Two-Way

Category Key = JaxRpcResponse; Value =false

Category Key = Action; Value = submitOrder

Category Key = CacheTimeOut; Value = -1

PurchaseOrderSubmit

OrderServiceWBinding

s

TransportType://WCF-BasicHttp

TransportLocation://http://localhost/ESB.CanadianServices/SubmitPOService.

asmx

TargetNamespace://

http://globalbank.esb.dynamicresolution.com/canadianservices

MessageExchangePattern://Two-Way

JaxRpcResponse://false

Page 33: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

サービス名 キー

Action://submitOrder

CacheTimeOut://-1

PurchaseOrderService Category Key = TransportLocation ; Value =

http://localhost/ESB.CanadianServices/SubmitPOService.asmx

Category Key = TargetNamespace; Value =

http://globalbank.esb.dynamicresolution.com/canadianservices

⑧ Windowsエクスプローラで、¥Source¥Core¥Install¥Scripts フォルダを開き、1.CORE_CreateBizTalkAp

plication.cmd コマンドファイルを実行して、コアアセンブリを配置し、BizTalk 内に新しいアプリケーションを

作成します。このスクリプトは、以下のタスクを実行します。

・ ソースフォルダから、Microsoft.Practices.ESB.slnをリビルドします。

・ GACUTIL ユーティリティを実行し、Microsoft ESB ガイダンスコアアセンブリをグローバルアセンブリキャ

ッシュに登録します。

・ Microsoft ESB ガイダンスパイプラインコンポーネントを規定の BizTalk パイプラインコンポーネントディレ

クトリ(%Program Files%¥Microsoft BizTalk Server 2006¥Pipeline Components)にコピーします。

・ 「Microsoft.Practices.ESB」BizTalk アプリケーションに Microsoft.Practices.ESB.sln を Source フォルダ

から配置します。

・ 「Microsoft.Practices.ESB」BizTalk アプリケーションに Microsoft.Practices.ESB.CORE_Bindings.xml

バインド情報ファイルをインポートします。

・ ビジネスルールエンジンボキャブラリーを配置します。

・ BAM監視モデルを配置します。

注:

コマンドファイルにおけるソースコードのビルドで、文字コード変換エラーが原因でコンパイルエラーが発生

する場合があります。詳細については、「5.1.ResolverMgr.cs ファイルの文字コード変換エラー」を参照し

てください。

⑨ BiztTalkServer 管理コンソールにおいて、「All.Exceptions」送信ポートにおける SQLAdapter の DB 接続

先を、EsbExceptionDbデータベースを作成したサーバーに変更します。

⑩ Microsoft ESB ガイダンス コアソリューションのインストールが成功した場合または、アプリケーションを

実行して問題が発生した場合は、「ESB コアによってインストールされたアセンブおよびアーティファクト」で

インストールされたアセンブリを確認してください。

Page 34: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.2.2.2. ESBガイダンスコア用 PreProcessingCORE スクリプトの設定

以下の表は、ESB ガイダンスコアアセンブリ、パイプラインコンポーネント及びヘルパークラスをインストール

する PreProcessingCORE.vbsスクリプトの設定内容とデフォルト値の一覧です。

設定値 説明

strUser="BTSISOSVC" スクリプトが作成する仮想ディレクトリに設定する

IISアプリケーションプール(既定は

「ESBAppPool」及び「ESBWcfAppPool」)のサービ

スアカウント。

このアカウントはマシンレベルまたはドメインレベル

において「BizTalk Isolated Host Users」グループ

のメンバである必要があります。

このユーザーが存在しない場合に、ユーザーを作

成し前述のグループのメンバに追加します。

strPwd="pass@word1" BizTalkサービスアカウントのパスワード。

strGroup="BizTalk Isolated Host Users" BizTalkアカウントグループ名。

strGroupIISWPG="IIS_WPG" IISサービスアカウントグループ名。

strGroupBTSAppUsers="BizTalk Application

Users"

BizTalkアプリケーションユーザーグループ名。

strBTSESBPath="C:¥Projects¥Microsoft.Practic

es.ESB"

ESB ガイダンスのソースコードのインストールディ

レクトリパス。

strAppPool="ESBAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。BizTalk が生成する SOAP ベース Web サ

ービスに使用されます。

strWcfAppPool="ESBWcfAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。BizTalk が生成する WCF ベース Web サー

ビスに使用されます。

strNetworkAppPool="ESBNetworkAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。Microsoft ESB ガイダンス Web サービス

及び、ESB マネージメントポータル(統合セキュ

リティまたは、Kerberos 認証に必要)に使用され

ます。

Page 35: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.2.2.3. ESBコアによってインストールされるアセンブおよびアーティファクト

以下の表は、ESB コアによってインストールされたアセンブリ及び、アーティファクトの一覧です。

場所 カテゴリー 名前

「Practices.ESB」

BizTalk アプリケーシ

ョン

オーケストレーシ

ョン

Microsoft.Practices.ESB.Agents.Delivery

Microsoft.Practices.ESB.Agents.Transform

送信ポート Microsoft.Practices.ESB.Agents_1.0.0.0_Microsoft.Practi

ces.ESB.Agents.Delivery_DeliveryPort_c2c8b2b87f5418

0a

ALL.Exceptions

受信ポート ExceptionHandling.SubmitFault

OnRamp.Itinerary

OnRamp.Itinerary.Response

受信場所 ExceptionHandling.SubmitFault.WCF

ExceptionHandling.SubmitFault.SOAP

OnRamp.Itinerary.WCF

OnRamp.Itinerary.SOAP

OnRamp.Itinerary.Response.WCF

OnRamp.Itinerary.Response.SOAP

スキーマ Microsoft.Practices.ESB.Schemas.Resolvers.UDDIResol

ution

Microsoft.Practices.ESB.Schemas.Resolvers.WSMEXRe

solution

Microsoft.Practices.ESB.Schemas.Resolvers.XPATHRes

olution

Microsoft.Practices.ESB.Schemas.Resolvers.BREResolu

tion

Microsoft.Practices.ESB.Schemas.Resolvers.ContextRe

solution

Microsoft.Practices.ESB.Schemas.Resolvers.STATICRe

solution

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Pr

operty.System_Properties

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Fa

ults.FaultMessage

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

porting.FaultMessage

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

porting.ExceptionSql

Page 36: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

Microsoft.Practices.ESB.Itinerary.Schemas.System_Prop

erties

Microsoft.Practices.ESB.Itinerary.Schemas.Itinerary

パイプライン Microsoft.Practices.ESB.ExceptionHandling.Pipelines.ES

BFaultProcessor

Microsoft.Practices.ESB.Itinerary.Pipelines.ItineraryRece

ive

Microsoft.Practices.ESB.Itinerary.Pipelines.ItineraryRece

ivePassthrough

Microsoft.Practices.ESB.Itinerary.Pipelines.ItineraryRece

iveXml

Microsoft.Practices.ESB.Itinerary.Pipelines.ItinerarySend

Microsoft.Practices.ESB.Itinerary.Pipelines.ItinerarySend

Passthrough

Microsoft.Practices.ESB.Itinerary.Pipelines.ItinerarySend

Receive

リソース Microsoft.Practices.ESB.Agents

Microsoft.Practices.ESB.Resolver.Schemas

Microsoft.Practices.ESB.ExceptionHandling.Pipelines

Microsoft.Practices.ESB.ExceptionHandling.Schemas.

Faults

Microsoft.Practices.ESB.ExceptionHandling.Schemas.

Reporting

Microsoft.Practices.ESB.ExceptionHandling.Maps

Microsoft.Practices.ESB.Itinerary.Pipelines

Microsoft.Practices.ESB.Itinerary.Schemas

マップ Microsoft.Practices.ESB.ExceptionHandling.Maps.Fault

Message_to_ExceptionSql

ポリシー (none)

ボキャブラリ ESB.ContextInfo

ESB.EndPointInfo.xml

ESB.TransformInfo.xml

ESB.TransportTypes.xml

グローバルアセンブリ

キャッシュ(GAC)

アセンブリ Microsoft.Practices.ESB.Agents

Microsoft.Practices.ESB.Transform

Microsoft.Practices.ESB.Resolver.Schemas

Microsoft.Practices.ESB.ExceptionHandling.Pipelines

Page 37: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Fa

ults

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

porting

Microsoft.Practices.ESB.ExceptionHandling.Maps

Microsoft.Practices.ESB.ExceptionHandling

Microsoft.Practices.ESB.BizTalkOperations

Microsoft.Practices.ESB.Cache

Microsoft.Practices.ESB.Exception.Management

Microsoft.Practices.ESB.GlobalPropertyContext

Microsoft.Practices.ESB.Itinerary

Microsoft.Practices.ESB.Itinerary.Pipelines

Microsoft.Practices.ESB.Itinerary.Schemas

Microsoft.Practices.ESB.Adapter

Microsoft.Practices.ESB.Resolver

Microsoft.Practices.ESB.Adapter.FILE

Microsoft.Practices.ESB.Adapter.FTP

Microsoft.Practices.ESB.Adapter.MQSeries

Microsoft.Practices.ESB.Adapter.WcfBasicHttp

Microsoft.Practices.ESB.Adapter.WcfWSHttp

Microsoft.Practices.ESB.Resolver.BRE

Microsoft.Practices.ESB.Resolver.STATIC

Microsoft.Practices.ESB.Resolver.UDDI

Microsoft.Practices.ESB.Resolver.WSMEX

Microsoft.Practices.ESB.Resolver.XPATH

Microsoft.Practices.ESB.UDDI

Microsoft.Practices.ESB.ServiceModel.Helpers

%Program

Files%¥Microsoft

BizTalk Server

2006¥Pipeline

Components

パイプラインコン

ポーネント

Microsoft.Practices.ESB.ExceptionHandling.PipelineCom

ponents.dll

Microsoft.Practices.ESB.Namespace.PipelineComponent

s.dll

Microsoft.Practices.ESB.Itinerary.PipelineComponents.dl

l

Microsoft.Practices.ESB.PipelineComponents.dll

既定の Web サイト 仮想ディレクトリ ESB.BizTalkOperationsService

Page 38: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

ESB.ExceptionHandlingServices

ESB.ExceptionHandlingServices.WCF

ESB.ItineraryServices

ESB.ItineraryServices.Response

ESB.ItineraryServices.Response.WCF

ESB.ItineraryServices.WCF

ESB.ResolverServices

ESB.ResolverServices.WCF

ESB.TransformServices

ESB.TransformServices.WCF

ESB.UDDIService

3.2.3. 構成ファイルの修正

ESB ガイダンスは、動的にエンドポイントおよび変換を解決するために、また外部のアダプタのプロパティを

設定するために、リゾルバおよびアダプタフレームワークを使用します。

Microsoft.Practices.ESB.Context.PipelineComponents.config ファイルは、リゾルバおよびアダプタフレー

ムワークの詳細設定を含んでおり、ESB ガイダンスのインストール後に2つの構成ファイルを修正する必要

があります。

3.2.3.1. BizTalk用構成ファイル(BTSNTSvc.exe.config)

BizTalk 用構成ファイル(%ProgramFiles%¥Microsoft BizTalk Server 2006¥BTSNTSvc.exe.config)は

Microsoft.Practices.ESB.PipelineComponents.config ファイルを参照する必要があります。

¥Source¥Core¥Configフォルダに、修正後の構成ファイルのサンプルが格納されています。

① 以下のセクションを BTSNTSvc.exe.config の<configuration>開始タグの直後に追加してください。

<configSections>

<section name="xlangs"

type="Microsoft.XLANGs.BizTalk.CrossProcess.XmlSerializationConfigurationSectionHandler,

Microsoft.XLANGs.BizTalk.CrossProcess" />

</configSections>

Page 39: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

② 以下のセクションを BTSNTSvc.exe.config の</configuration>終了タグの直前に追加してください。

構成ファイルのディレクトリを表す[PATH]部分は、ローカルの環境に合わせて修正してください。

ソースコードをビルドしてインストールした場合は

C:¥Projects¥Microsoft.Practices.ESB¥Source¥Core¥Config、

msi ファイルを使用してリリースバージョンをインストールした場合は

C:¥Program Files¥Generated by BizTalk¥Microsoft.Practices.ESB¥Configが既定となります。

③ ファイルを保存して閉じます。

④ BizTalkServer サービスを再起動してください。この設定により、「Microsoft.Practices.ESB」分離アプリケ

ーションドメインが作成され、Microsoft.Practices.ESB.PipelineComponents.config ファイルおよび

Microsoft.Practices.ESB.*アセンブリの参照が可能となります。

<xlangs>

<Configuration>

<AppDomains AssembliesPerDomain="10">

<DefaultSpec SecondsIdleBeforeShutdown="1200" SecondsEmptyBeforeShutdown="1800"/>

<AppDomainSpecs>

<AppDomainSpec Name="Microsoft.Practices.ESB">

<BaseSetup>

<ConfigurationFile>[path]¥Microsoft.Practices.ESB.PipelineComponents.config</Configuration

File>

</BaseSetup>

</AppDomainSpec>

</AppDomainSpecs>

<PatternAssignmentRules>

<PatternAssignmentRule

AssemblyNamePattern="Microsoft.Practices.ESB.*"

AppDomainName="Microsoft.Practices.ESB" />

</PatternAssignmentRules>

</AppDomains>

</Configuration>

</xlangs>

Page 40: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.2.3.2. .NETFrameworkマシン構成ファイル(machine.config)

.NETFrameworkマシン構成ファイル(%WinDir%¥Microsoft.NET¥Framework¥v2.0.50727¥CONFIG¥

machine.config)は、Microsoft.Practices.ESB.PipelineComponents.config ファイルのコンテンツを含む必

要があります。

¥Source¥Core¥Configフォルダに、修正後の構成ファイルのサンプルが格納されています。

① 以下のセクションをmachine.config の<configSections>開始タグの直後に追加してください。

<sectionGroup name="ESBProcessor">

<section name="Resolver"

type="System.Configuration.DictionarySectionHandler,

System,Version=2.0.0.0,Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

<section name="AdapterProvider"

type="System.Configuration.DictionarySectionHandler,

System,Version=2.0.0.0,Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

<section name="ItineraryCache"

type="System.Configuration.DictionarySectionHandler,

System,Version=2.0.0.0,Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

<section name="Cache"

type="System.Configuration.DictionarySectionHandler,

System,Version=2.0.0.0,Culture=neutral,

PublicKeyToken=b77a5c561934e089"/>

</sectionGroup>

Page 41: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

② 以下のセクションをmachine.config の</configuration>終了タグの直前に追加してください。

リリースバージョンの ESB ガイダンスコアアセンブリをインストールした場合は、下記設定における

PublicKeyTokenに”31bf3856ad364e35”を設定してください。

<ESBProcessor>

<Resolver>

<add key="UDDI"

value="Microsoft.Practices.ESB.Resolver.UDDI, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="WSMEX"

value="Microsoft.Practices.ESB.Resolver.WSMEX, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="XPATH"

value="Microsoft.Practices.ESB.Resolver.XPATH, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="STATIC"

value="Microsoft.Practices.ESB.Resolver.STATIC, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="BRE"

value="Microsoft.Practices.ESB.Resolver.BRE, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

</Resolver>

<AdapterProvider>

<add key="WCF-WSHttp"

value="Microsoft.Practices.ESB.Adapter.WcfWSHttp, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="WCF-BasicHttp"

value="Microsoft.Practices.ESB.Adapter.WcfBasicHttp, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="FTP"

value="Microsoft.Practices.ESB.Adapter.FTP, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="FILE"

value="Microsoft.Practices.ESB.Adapter.FILE, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

<add key="MQSeries"

value="Microsoft.Practices.ESB.Adapter.MQSeries, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=c2c8b2b87f54180a" />

</AdapterProvider>

<ItineraryCache>

<add key="timeout" value="120" />

</ItineraryCache>

<Cache>

<add key="UDDI" value="600" />

<add key="WSMEX" value="600" />

</Cache>

</ESBProcessor>

Page 42: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.2.4. 例外管理フレームワークのインストール

このセクションでは、ESB ガイダンスコアソリューションから独立している ESB 例外管理フレームワークのア

ーティファクトを「Microsoft.Practices.ESB」BizTalkアプリケーションにインストールします。

注:

既定では、ESB ガイダンスコアソリューションは例外管理フレームワークのインストール、設定も自動で行

います。ESB ガイダンスコアソリューションがインストール済の場合は、このセクションの手順は不要で

す。ESB ガイダンスコアソリューションとは独立して例外管理フレームワークをインストールする場合は、

このセクションを実行してください。

3.2.4.1. ソリューションプロジェクトからのインストール

例外管理フレームワークは、下記の ESB ガイダンスコアのプロジェクトに依存しています。

・ Microsoft.Practices.ESB.GlobalPropertyContext (¥Source¥Core¥Source¥ESB.GlobalPropertyContext)

・ Microsoft.Practices. ESB.Exception.Management ( ¥Source¥Core¥Source¥ESB.Exception.Management)

・ Microsoft.Practices.ESB.Adapter (¥Source¥Core¥Source¥ESB.Adapter)

・ Microsoft.Practices.ESB.Itinerary (¥Source¥Core¥Source¥ESB.Itinerary)

・ Microsoft.Practices.ESB.Itinerary.Schemas (¥Source¥Core¥Source¥ESB.Itinerary.Schemas)

・ Microsoft.Practices.ESB.PipelineComponents (¥Source¥Core¥Source¥ESB.PipelineComponents)

・ Microsoft.Practices.ESB.Resolver (¥Source¥Core¥Source¥ESB.Resolver)

・ Microsoft.Practices.ESB.Transform (¥Source¥Core¥Source¥ESB.Transform)

注:

例外管理フレームワークの「All.Exceptions」送信ポートは、「EsbExceptionDb」例外管理データベースへ

の INSERTクエリに適した形式に失敗メッセージを変換するために、ESB配信パイプラインコンポーネント

を使用します。よって、インストール時に次の手順に示すようなプロジェクトのビルド、BizTalk パイプライン

コンポーネントフォルダへのアセンブリのコピー、例外管理データベースの設定を行う必要があります。

① SQL Server Management Studio(または同等の SQL Server management tool)を開き、exception

databaseをインストールする SQL Serverに接続します。

¥Source¥Exception Handling¥SQL¥ESB.ExceptionHandling.Database¥Create Scriptsフォルダから、

EsbExceptionDb_CREATE.sql を開き、「実行」ボタンをクリックして EsbExceptionDbを作成します。スク

リプトでは、以下のセキュリティロールも作成されます。

・ ESBPortal

・ ESBPortalAdmin

② SQL Server Management Studioにおいて、オブジェクトエクスプローラ>セキュリティ>ログインと展開し、

Page 43: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

[domain]¥BizTalk Application Users グループを選択して、プロパティを開きます。「ユーザー マッピン

グ」タブにおいて、「このログインにマップされたユーザー」で「EsbExceptionDb」をチェックし、

「EsbExceptionDb のデータベースロールメンバシップ」で「ESBPortal」がチェックされていることを確認し

ます。この設定により、データベース内全てのストアドプロシージャを実行する権利をアカウントに与えます。

このステップを、[domain]¥BizTalk Server Administrators グループにも行います。「EsbExceptionDbの

データベースロールメンバシップ」では「ESBPortalAdmin」がチェックされていることを確認します。

③ Visual Studio 2005で¥Source¥Exception Handling¥ Microsoft.Practices.ESB.ExceptionHandling.sln

ファイルを開きます。

④ Visual Studio 2005のソリューションエクスプローラから、以下のプロジェクトのプロパティページ(コンテキ

ストメニュからプロパティを選択)を開き、左側のツリーの構成プロパティから「展開」を選択します。「グロー

バルアセンブリキャッシュにインストール」、「ホストインスタンスを再起動します」、「再展開」の各プロパティ

に Trueを設定します。また、SQL Server及び、BizTalkMgmtDbデータベースにアクセスするための適切

なサーバ名、構成データベース名が指定されていることを確認します。(下図参照)

・ ¥ Exception Handling¥Maps ¥ESB.ExceptionHandling.Maps

・ ¥ Exception Handling¥Pipelines ¥ESB.ExceptionHandling.Pipelines

・ ¥ Exception Handling¥Schemas ESB.ExceptionHandling.Schemas.Faults

Page 44: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

・ ¥Exception Handling¥Schemas ¥ESB.ExceptionHandling.Schemas.Reporting

⑤ ソリューションを保存し、Visual Studio 2005を終了します。

⑥ Windowsエクスプローラで、¥Source¥Exception Handling¥Install¥Scriptsフォルダを開き、テキストエデ

ィタで PreProcessingCORE.vbsを開きます。このスクリプトを実行する前に、必要に応じてこのファイルの

先頭で宣言される変数(ユーザー名やパスワードなど)を編集してください。これらの変数及び、デフォルト

値は、「例外管理フレームワーク用 PreProcessingCORE スクリプトの設定」を参照してください。ファイル

を編集後、スクリプトをダブルクリックして実行してください。

このスクリプトでは、以下のタスクを実行します。

・ 「BizTalk Isolated Host Users」グループに新しいユーザアカウント「BTSISOSVC」を作成。

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、ユーザーは作成済です。

・ 以下のローカル、ドメイングループに作成したユーザアカウントを追加

グループ名

[ローカルマシン名] ¥IIS_WPG

[ローカルマシン名] ¥STS_WPG

[ドメイン名] ¥BizTalk Isolated Host Users

Page 45: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

・ 新しいユーザアカウント、「BizTalk Application Users」グループに以下フォルダへのアクセス許可を設定

フォルダ名

¥Windows¥Temp

Key フォルダ、Source フォルダをインストールしたフォルダ

(既定では、C:¥Projects¥Microsoft.Practices.ESB)

※「BizTalk Application Users」グループの許可のみ設定

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

・ 以下の IISアプリケーション プールを作成

アプリケーションプール名

ESBAppPool

ESBWcfAppPool

ESBNetworkAppPool

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記は作成済です。

ESBAppPool 及び、ESBWcfAppPool のセキュリティアカウントは、作成したアカウントを使用します。

ESBNetworkAppPoolのセキュリティアカウントは、NETWORK SERVICEアカウントを使用します。

・ 以下の Web サービスフォルダのための仮想ディレクトリを作成し、作成したアプリケーションプール配下で

動作するように設定します

Web サービス名(アプリケーションプール名)

¥Services¥ESB.ExceptionHandlingServices (ESBAppPool)

¥Services¥ESB.ExceptionHandlingServices.WCF (ESBWcfAppPool)

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記は作成済です。

Page 46: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

BizTalk Serverグループに ESB ガイダンスをインストールした場合、スクリプトがフォルダへのアクセス許

可を設定するときに、例外が発生する可能性があります。スクリプト完了後、BizTalk Isolated Host Users

ドメインに、手動でユーザアカウントを割り当て、許可の設定をする必要があります。

また、ローカルマシンの BizTalk Serverグループに、ESB ガイダンスをインストールし、かつローカルマシ

ンのドメインの一部の場合、スクリプトがアクセス許可を設定する時に、例外が発生する可能性がありま

す。この場合、PreProcessingCORE.vbsの、strUserDomain=objNetwork.UserDomainを

strUserDomain=objNetwork.ComputerNameに編集し、スクリプトを再度実行してください。

⑦ Windowsエクスプローラで、Source¥Exception Handling¥Install¥Scriptsフォルダを開き、1.CreateBizT

alkApplication.cmdを実行して、ESB例外管理フレームワークアセンブリを配置し、「Microsoft.Practices.

ESB」BizTalkアプリケーションを作成します。このスクリプトは、以下のタスクを実行します。

・ ソースフォルダにある、Microsoft.Practices.ESB.ExceptionHandling.slnをリビルドします。

・ GACUTIL ユーティリティを実行し、ESB 例外管理フレームワークアセンブリをグローバルアセンブリキャッ

シュに登録します。

・ ESB例外管理フレームワークパイプラインコンポーネントを規定の BizTalkパイプラインコンポーネントディ

レクトリ(%Program Files%¥Microsoft BizTalk Server 2006¥Pipeline Components)にコピーします。

・ 「Microsoft.Practices.ESB」BizTalk アプリケーションに Microsoft.Practices.ESB.ExceptionHandling.sln

を Sourceフォルダから配置します。

・ 「Microsoft.Practices.ESB」BizTalkアプリケーションに

Microsoft.Practices.ESB.ExceptionHandling_Bindings.xmlバインド情報ファイルをインポートします。

・ ビジネスルールエンジンボキャブラリーを配置します。

・ BAM監視モデルを配置します。

⑧ BizTalkServer 管理コンソールにおいて、「All.Exceptions」送信ポートにおける SQLAdapter の DB 接続

先を、EsbExceptionDbデータベースを作成したサーバーに変更します。

⑨ ESB 例外管理フレームワークのインストールが成功したか確認する場合または、アプリケーションを実行

して問題が発生した場合は、「ESB 例外管理フレームワークによってインストールされたアセンブおよびア

ーティファクト」でインストールされたアセンブリを確認してください。

3.2.4.2. 例外管理フレームワーク用 PreProcessingCORE スクリプトの設定

以下の表は、ESB例外管理フレームワークアセンブリ用のPreProcessingCORE.vbsスクリプトの設定内容

とデフォルト値の一覧です。

設定値 説明

strUser="BTSISOSVC" スクリプトが作成する仮想ディレクトリに設定する

IISアプリケーションプール(既定は

「ESBAppPool」)のサービスアカウント。

このアカウントはマシンレベルまたはドメインレベル

において「BizTalk Isolated Host Users」グループ

Page 47: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

のメンバである必要があります。

このユーザーが存在しない場合に、ユーザーを作

成し前述のグループのメンバに追加します。

strPwd="pass@word1" BizTalkサービスアカウントのパスワード。

strGroup="BizTalk Isolated Host Users" BizTalkアカウントグループ名。

strGroupIISWPG="IIS_WPG" IISサービスアカウントグループ名。

strGroupBTSAppUsers="BizTalk Application

Users"

BizTalkアプリケーションユーザーグループ名。

strBTSESBPath="C:¥Projects¥Microsoft.Practic

es.ESB"

ESB ガイダンスのソースコードのインストールディ

レクトリパス。

strAppPool="ESBAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。BizTalk が生成する SOAP ベース Web サ

ービスに使用されます。

strWcfAppPool="ESBWcfAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。BizTalk が生成する WCF ベース Web サ

ービスに使用されます。

strNetworkAppPool="ESBNetworkAppPool" 仮想ディレクトリに設定する IISアプリケーション

プール。Microsoft ESB ガイダンス Web サービス

及び、ESB マネージメントポータル(統合セキュ

リティまたは、Kerberos 認証に必要)に使用され

ます。

3.2.4.3. 例外管理フレームワークによってインストールされるアセンブリおよびアーティファクト

以下の表は、例外管理フレームワークによってインストールされたアセンブリ及び、アーティファクトの一覧で

す。

場所 カテゴリー 名前

「Practices.ESB」

BizTalk アプリケーシ

ョン

オーケストレーシ

ョン

(none)

送信ポート ALL.Exceptions

受信ポート ExceptionHandling.SubmitFault

受信場所 ExceptionHandling.SubmitFault.WCF

ExceptionHandling.SubmitFault.SOAP

スキーマ Microsoft.Practices.ESB.ExceptionHandling.Schemas.Pr

operty.System_Properties

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Fa

ults.FaultMessage

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

porting.FaultMessage

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

Page 48: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

porting.ExceptionSql

Microsoft.Practices.ESB.Itinerary.Schemas.System_Prop

erties

Microsoft.Practices.ESB.Itinerary.Schemas.Itinerary

パイプライン Microsoft.Practices.ESB.ExceptionHandling.Pipelines.ES

BFaultProcessor

リソース Microsoft.Practices.ESB.ExceptionHandling.Pipelines

Microsoft.Practices.ESB.ExceptionHandling.Schemas.

Faults

Microsoft.Practices.ESB.ExceptionHandling.Schemas.

Reporting

Microsoft.Practices.ESB.ExceptionHandling.Maps

Microsoft.Practices.ESB.Itinerary.Schemas

ポリシー (none)

マップ Microsoft.Practices.ESB.ExceptionHandling.Maps.Fault

Message_to_ExceptionSql

グローバルアセンブリ

キャッシュ(GAC)

アセンブリ Microsoft.Practices.ESB.ExceptionHandling.Pipelines

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Fa

ults

Microsoft.Practices.ESB.ExceptionHandling.Schemas.Re

porting

Microsoft.Practices.ESB.ExceptionHandling

Microsoft.Practices.ESB.ExceptionHandling.Maps

Microsoft.Practices.ESB.Itinerary.Schemas

Microsoft.Practices.ESB.Transform

Microsoft.Practices.ESB.Exception.Management

Microsoft.Practices.ESB.GlobalPropertyContext

Microsoft.Practices.ESB.Itinerary

Microsoft.Practices.ESB.Adapter

Microsoft.Practices.ESB.Resolver

%Program

Files%¥Microsoft

BizTalk Server

2006¥Pipeline

Components

パイプラインコン

ポーネント

Microsoft.Practices.ESB.ExceptionHandling.PipelineCom

ponents.dll

Microsoft.Practices.ESB.PipelineComponents.dll

既定の Web サイト 仮想ディレクトリ ESB.ExceptionHandlingServices

ESB.ExceptionHandlingServices.WCF

Page 49: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.3. 例外管理 InfoPath フォームテンプレートの共有化

ESBSource.zipを解凍して生成される下記フォルダを共有化し、アクセス許可の権限を付与します。

対象フォルダ 共有名 アクセス許可 備考

¥Source

¥Exception

Handling¥Source

¥ESB.ExceptionHandling.

InfoPath.Reporting

¥Publish

Publish Everyone:

「読み取り」を「許可」

ESB例外管理フレームワークによ

て生成される例外情報を InfoPath

にレンダリングするための

InfoPathテンプレート格納フォル

¥Source¥Samples

¥Exception

Handling¥Source

¥ESB.ExceptionHandling.

InfoPath.Resubmit

¥Publish

PublishResubmit Everyone:

「読み取り」を「許可」

"Repair and Resubmit "ユースケ

ースのサンプルアプリケーション

で使用される InfoPath テンプレー

ト格納フォルダ

3.4. Web サービスの SSL 接続設定

ESB ガイダンスの既定のインストール手順では、ESB ガイダンスの Web サービスはクライアント接続およ

びバックエンドシステムとの通信において SSL接続を要求しません。

クライアント-サーバ間の通信を保護する必要がある場合には、SSL接続を設定します。

また、IPSec のようなネットワーク-レベルセキュリティプロトコルの使用を考慮し、ファイルレベルの ACL また

はサービス-レベル許可(データベースセキュリティ等)を流用しなければなりません。

詳細情報については下記を参照してください。

ASP.NET を使用して作成した XML Web サービスのセキュリティ:

http://msdn.microsoft.com/ja-jp/library/w67h0dw7.aspx

HTTP Security and ASP.NET Web Services:

http://msdn.microsoft.com/en-us/library/ms996415.aspx

Step-by-Step Guide to Internet Protocol Security (IPSec):

http://technet.microsoft.com/ja-jp/library/bb742429(en-us).aspx

IPSec:

http://technet.microsoft.com/en-us/network/bb531150.aspx

3.5. Microsoft BizTalk ESB ガイダンスアプリケーションの開始

BizTalkServer 管理コンソールを開き、「Microsoft.Practices.ESB」アプリケーションを開始します。

Page 50: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

3.6. VisualStudio2005 ツールボックスへのパイプラインコンポーネント追加

Microsoft ESB ガイダンスには複数のパイプラインコンポーネントが含まれています。

これらを使用してパイプラインを開発する際は、VisualStudio2005 のツールボックスに追加する必要があり

ます。

① VisualStudioを開き、空の BIzTalkServerプロジェクトを作成します。

② ソリューションエクスプローラにおいて、作成したプロジェクトを右クリック>追加>新しい項目 を選択し、

「受信パイプライン」を選択します。

③ VisualStudio のツールボックスを開き、BizTalk パイプラインコンポーネント>右クリック>アイテムの選択

を選択します。

④ 「BizTalk パイプラインコンポーネント」タブで”ESB”で始まるコンポーネントをチェックし、「OK」をクリックしま

す。

Page 51: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB
Page 52: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4. サンプルアプリケーション

4.1. インストール

4.1.1. ビジネスルールエンジンポリシー、ボキャブラリの展開

リリースバージョンのコアコンポーネントアセンブリおよびサンプルアプリケーションをインストールする場合は、

サンプルをインストールする前に、msiファイルを使用してサンプル用のビジネスルールエンジンポリシーとボ

キャブラリを展開する必要があります。

注:

ソースコードをビルドしてコアコンポーネントおよびサンプルアプリケーションをインストールする場合は、当

手順は実行不要です。(各サンプルをインストールする際に展開されます)

① スタートメニューからコマンドプロンプトを開きます。

② 下記コマンドを実行します。

BTSTask.exe ImportApp -Package:"<path>¥GlobalBank.ESB.Policies.msi"

/ApplicationName:GlobalBank.ESB

・<path>は実環境に合わせて変更します

・既定のフォルダ:C:¥Program Files¥Microsoft ESB Guidance 1.0 - November 2007

上記コマンドを実行すると、「GlobalBank.ESB」BizTalkアプリケーションが作成され、下記のビジネスルール

エンジンポリシーおよびボキャブラリが展開されます。

「ビジネスルール作成ツール」を使用して確認できます。

対象 共有名 バージョン

ボキャブラリ DynamicRunTimeDocSpecs 1.0

DynamicRunTimeEndPoints 1.3

DynamicRunTimeMapTypes 1.0

DynamicRunTimeServiceActions 1.0

ポリシー CanadaSubmitOrderMaps 1.10

GetCanadaEndPoint 1.3

GetCanadaPurchaseEndPoint 1.4

ResolveEndPoint 1.0

ResolveMap 1.0

ResolveMapScatterGather 1.2

ResolveEndpointScatterGather 1.0

Page 53: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.1.2. 動的解決サンプルのインストール

① FTPを使用したサンプルシナリオを実行する場合は下記の FTPサイトを作成します。

仮想ディレクトリ名: Out

パス: ¥Source¥Samples¥DynamicResolution¥Test¥FTP¥Out

権限: 読み込み、書き込み

「BizTalk Application Users」グループが上記フォルダにアクセス権限があることを確認してください。

② VisualStudioで下記ソリューションファイルを開きます。

¥Source¥Samples¥DynamicResolution¥ GlobalBank.ESB.Samples.DynamicResolution.sln

③ Visual Studio 2005のソリューション エクスプローラから、各 BizTalkプロジェクトのプロパティページ(コン

テキストメニュからプロパティを選択)を開き、左側のツリーの構成プロパティから「展開」を選択します。「グ

ローバルアセンブリキャッシュにインストール」、「ホストインスタンスを再起動します」、「再展開」の各プロパ

ティに Trueを設定し、SQL Server及び、BizTalkMgmtDbデータベースにアクセスするための適切なサー

バ名、構成データベース名が指定されていることを確認します。(下図参照)

④ ソリューションを保存し、Visual Studio 2005を終了します。

⑤ Windowsエクスプローラで、¥Source¥Samples¥DynamicResolution¥Install¥Scripts フォルダを開き、テ

キストエディタで、PreProcessingCORE.vbs を開きます。このスクリプトを実行する前に、必要に応じてこ

のファイルの先頭で宣言される変数(ユーザー名やパスワードなど)を編集してください。これらの変数及び、

デフォルト値は、「動的解決サンプル用 PreProcessingCOREスクリプトの設定」を参照してください。

ファイルを編集後、スクリプトを実行してください。このスクリプトは、以下のタスクを実行します。

・ BizTalk Isolated Host Users グループに新しいユーザアカウント「BTSISOSVC」を作成

Page 54: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、ユーザーは作成済です。

・ 以下のローカル、ドメイングループにユーザアカウントを追加

グループ名

[ローカルマシン名] ¥IIS_WPG

[ローカルマシン名] ¥STS_WPG

[ドメイン名] ¥BizTalk Isolated Host Users

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

・ 新しいユーザアカウント及び、BizTalk Application Users グループに以下のフォルダへのアクセス許可を

設定

フォルダ名

¥Windows¥Temp

Key フォルダ、Source フォルダをインストールしたフォルダ

(既定では、C:¥Projects¥Microsoft.Practices.ESB)

※「BizTalk Application Users」グループの許可のみ設定

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

BizTalkServer グループに ESB ガイダンスをインストールした場合は、フォルダへのアクセス許可を付与

する場合にエラーが発生します。その場合は、手動で許可を付与し、BizTalkIsoratedHostUsersグループ

に作成したユーザーアカウントを追加してください。

・ 以下の IISアプリケーション プールを作成

アプリケーションプール名

ESBAppPool

ESBWcfAppPool

ESBNetworkAppPool

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記は作成済です。

Page 55: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ESBAppPool及び、ESBWcfAppPoolは、新しく作成した「BTSISOSVC」ユーザを使用します

・ 以下のWebサービスフォルダと対応した IIS仮想ディレクトリを作成

仮想ディレクトリ

¥Services¥ESB.CanadianServices

¥Services¥ESB.NorthAmericanServices

⑥ Windowsエクスプローラで下記フォルダを開きます。

¥Source¥Samples¥DynamicResolution¥Install¥Scripts

⑦ Microsoft ESB ガイダンスのソースコードをローカル環境でビルドした場合は、下記コマンドファイルをダブ

ルクリックして実行します。

1.CreateBizTalkApplication.cmd

ソースコードをビルドしていない場合は、下記コマンドファイルをダブルクリックして実行します。

1.CreateBizTalkApplication_FromRelease.cmd

コマンドファイルでは以下のタスクを実行します。

・ GlobalBank.ESB.Samples.DynamicResolution ソリューションのリビルドおよび「GlobalBank.ESB」

BizTalkアプリケーションへの配置

・ GlobalBank.ESB.DynamicResolution_Bindings.xmlバインド情報のインポート

・ 下記のビジネスルールエンジンポリシーおよびボキャブラリの展開

(※1.CreateBizTalkApplication.cmdを実行した場合)

対象 共有名 バージョン

ボキャブラリ DynamicRunTimeDocSpecs 1.0

DynamicRunTimeEndPoints 1.3

DynamicRunTimeMapTypes 1.0

DynamicRunTimeServiceActions 1.0

ポリシー CanadaSubmitOrderMaps 1.10

GetCanadaEndPoint 1.3

GetCanadaPurchaseEndPoint 1.4

⑧ サンプルのインストールが成功した場合、またはサンプル実行時にエラーが発生した場合は、「動的解決

サンプルでインストールされるアセンブリ、アーティファクト」を参考に、アセンブリ等が正しく展開されている

ことを確認してください。

Page 56: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.1.3. 動的解決サンプル用 PreProcessingCORE スクリプトの設定

動的解決サンプル用に PreProcessingCORE.vbsファイルに設定された既定値は下記のとおりです。

設定値 説明

strUser="BTSISOSVC" 仮想ディレクトリに設定する IIS アプリケーションプ

ール(既定は ESBAppPool)のサービスアカウン

ト。

このアカウントはマシンレベルまたはドメインレベル

において「BizTalk Isolated Host Users」グループ

のメンバである必要があります。

このユーザーが存在しない場合に、ユーザーを作

成し前述のグループのメンバに追加します。

strPwd="pass@word1" BizTalkサービスアカウントのパスワード。

strGroup="BizTalk Isolated Host Users" BizTalkアカウントグループ名。

strGroupIISWPG="IIS_WPG" IISサービスアカウントグループ名。

strGroupBTSAppUsers=

"BizTalk Application Users"

BizTalkアプリケーションユーザーグループ名。

strBTSESBPath="C:¥Projects¥Microsoft.Practic

es.ESB"

ESB ガイダンスのソースコードのインストールディ

レクトリパス。

strAppPool=" ESBAppPool" 仮想ディレクトリに設定するアプリケーションプール

名。

4.1.4. 動的解決サンプルでインストールされるアセンブリ、アーティファクト

場所 カテゴリー 名前

「GlobalBank.ESB」

BizTalkアプリケーショ

オーケストレーショ

(none)

送信ポート DynamicResolutionSolicitResp

DynamicResolutionOneWay

受信ポート DynamicResolutionReqResp

DynamicResolution

受信場所 DynamicResolutionReqResp_SOAP

DynamicResolution_FILE

スキーマ GlobalBank.ESB.DynamicResolution.Schemas.CNPur

chaseOrderResponse

GlobalBank.ESB.DynamicResolution.Schemas.NAOrd

erDoc

GlobalBank.ESB.DynamicResolution.Schemas.NAOrd

Page 57: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

erResponse

GlobalBank.ESB.DynamicResolution.Schemas.CNOrd

erDoc

GlobalBank.ESB.DynamicResolution.Schemas.CNOrd

erResponse

GlobalBank.ESB.DynamicResolution.Schemas.CNPur

chaseOrderDoc

パイプライン GlobalBank.ESB.DynamicResolution.Pipelines.ESBRe

ceiveSendXML

GlobalBank.ESB.DynamicResolution.Pipelines.ESBRe

ceiveXML

GlobalBank.ESB.DynamicResolution.Pipelines.ESBSe

ndPassThrough

リソース GlobalBank.ESB.DynamicResolution.Pipelines

GlobalBank.ESB.DynamicResolution.Schemas

GlobalBank.ESB.DynamicResolution.Transforms

ポリシー CanadaSubmitOrderMaps.xml

GetCanadaEndPoint.xml

GetCanadaPurchaseEndPoint.xml

ボキャブラリ DynamicRunTimeDocSpecs.xml

DynamicRunTimeEndPoints.xml

DynamicRunTimeMapTypes.xml

DynamicRunTimeServiceActions.xml

マップ GlobalBank.ESB.DynamicResolution.Transforms.Sub

mitPurchaseOrderResponseCN_To_SubmitOrderResp

onseNA

GlobalBank.ESB.DynamicResolution.Transforms.Sub

mitOrderRequestNA_To_SubmitOrderRequestCN

GlobalBank.ESB.DynamicResolution.Transforms.Sub

mitOrderRequestNA_To_SubmitOrderRequestCN

GlobalBank.ESB.DynamicResolution.Transforms.Sub

mitOrderResponseCN_To_SubmitOrderResponseNA

グローバルアセンブリ

キャッシュ(GAC)

アセンブリ GlobalBank.ESB.DynamicResolution.Pipelines

GlobalBank.ESB.DynamicResolution.Schemas

GlobalBank.ESB.DynamicResolution.Transforms

%Program Files% パイプラインコン (none)

Page 58: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

¥Microsoft BizTalk

Server 2006¥Pipeline

Components

ポーネント

4.1.5. リゾルバサービスサンプルのインストール

① Windowsエクスプローラで下記フォルダを開きます。

¥Source¥Samples¥ResolverService¥Install¥Scipts

② Microsoft ESB ガイダンスのソースコードをローカル環境でビルドした場合は、下記コマンドファイルをダブ

ルクリックして実行します。

1.CreateBizTalkApplication.cmd

ソースコードをビルドしていない場合は、下記コマンドファイルをダブルクリックして実行します。

1.CreateBizTalkApplication_FromRelease.cmd

コマンドファイルでは以下のタスクを実行します。

・ ESB.ResolverServiceおよびテストクライアントプロジェクト(サンプルアプリケーション含む)のコンパイル

・ 「GlobalBank.ESB」アプリケーションに、エンドポイント解決およびマップ解決ポリシーを展開

上記コマンドを実行すると、「GlobalBank.ESB」BizTalk アプリケーションに下記のビジネスルールエンジン

ポリシーが展開されます。

対象 共有名 バージョン

ポリシー ResolveEndPoint 1.0

ResolveMap 1.0

4.1.6. Itinerary オンランプサンプルのインストール

Itinerary オンランプサンプルは、ESB ガイダンスコア、動的解決サンプル、リゾルバサービスサンプルに依

存しています。ESB ガイダンスコア、動的解決サンプル、リゾルバサービスサンプルをインストールし、本サ

ンプルが使用する Web サービスやビジネスルールエンジンが正しくインストールされていることを確認してく

ださい。

バインド情報ファイルからのインストール

① 動的解決サンプルおよびリゾルバサービスサンプルがインストールされていることを確認してください。

② Windowsエクスプローラで下記フォルダを開きます。

¥Source¥Samples¥Itinerary¥Install¥Scripts

③ Microsoft ESB ガイダンスのソースコードをビルドしてインストールした場合は、

「1.CreateBizTalkApplication.cmd」コマンドファイルをダブルクリックして実行します。

Page 59: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ソースコードをビルドしていない場合は、「1.CreateBizTalkApplication_FromRelease.cmd」コマンドファイ

ルをダブルクリックして実行します。

コマンドファイルでは以下のタスクを実行します。

・ サンプルアプリケーションを含む ESB.Itinerary.Testプロジェクトのコンパイル

¥Source¥Samples¥Itinerary¥Source¥ESB.Itinerary.Test¥bin¥Debug¥ ESB.Itinerary.Test.exe

・ GlobalBank.ESB.Samples.Itinerary.slnのリビルドおよび BizTalkServerへの配置

(「GlobalBank.ESB」BizTalkアプリケーションにオーケストレーションを配置、動的送信ポートを作成)

・ ¥Source¥Samples¥Itinerary¥Install¥Bindingフォルダにあるバインド情報ファイルのインポート

“1.CreateBizTalkApplication.cmd”コマンドファイルを実行した場合:

GlobalBank.ESB.Itinerary_Bindings.xml

“1.CreateBizTalkApplication_FromRelease.cmd”コマンドファイルを実行した場合:

GlobalBank.ESB.Itinerary_Bindings_FromRelease.xml.

注:

上記コマンドファイルにおけるソリューションのコンパイルで、公開キートークンの不一致による

「Microsoft.Practices.ESB.Itinerary」アセンブリ等の参照エラーが発生することがあります。

その場合は、VisualStudio から参照先を正しい公開キートークンのアセンブリの場所に変更するか、Bin

フォルダ(既定は C:¥Program Files¥Microsoft ESB Guidance 1.0 - November 2007¥Bin)に対象のア

センブリをコピーしてください。

注:

マイクロソフト ESB ガイダンスのコアコンポーネントを、ソースコードをビルドしてインストールした場合は、

下記Webサービスの web.configに設定されている該当アセンブリのキートークンを修正してください。

・ESB.ItineraryServices.WCF (Microsoft.Practices.ESB.ServiceModel.Helpersアセンブリ)

・ESB.ItineraryServices.Response.WCF (Microsoft.Practices.ESB.ServiceModel.Helpersアセンブリ)

31bf3856ad364e35 修正 → c2c8b2b87f54180a

④ サンプルのインストールが成功した場合、またはサンプル実行時にエラーが発生した場合は、「Itineraryオ

ンランプサンプルでインストールされるアセンブリ、アーティファクト」を参考に、アセンブリ等が正しく展開さ

れていることを確認します。

4.1.7. Itinerary オンランプサンプルでインストールされるアセンブリ、アーティファクト

場所 カテゴリー 名前

「GlobalBank.ESB」

BizTalkアプリケーショ

オーケストレーショ

GlobalBank.ESB.Itinerary.Processes.ProcessAndRes

pond

Page 60: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

ン 送信ポート DynamicResolutionSolicitResp

DynamicResolutionOneWay

4.1.8. 例外管理サンプルのインストール

① VisualStudioで下記ソリューションファイルを開きます。

¥Source¥Samples¥Exception Handling¥GlobalBank.ESB.Samples.ExceptionHandling.sln

② Visual Studio 2005のソリューション エクスプローラから、各 BizTalkプロジェクトのプロパティページ(コン

テキストメニュからプロパティを選択)を開き、左側のツリーの構成プロパティから「展開」を選択します。「グ

ローバルアセンブリキャッシュにインストール」、「ホストインスタンスを再起動します」、「再展開」の各プロ

パティに Trueを設定し、SQL Server 及び BizTalkMgmtDb データベースにアクセスするための適切なサ

ーバ名、構成データベース名が指定されていることを確認します。

③ ソリューションを保存し、Visual Studio 2005を終了します。

④ Windowsエクスプローラで、¥Source¥Samples¥Exception Handling¥Install¥Scriptsフォルダを開き、テ

キストエディタで、PreProcessingCORE.vbs を開きます。このスクリプトを実行する前に、必要に応じてこ

のファイルの先頭で宣言される変数(ユーザー名やパスワードなど)を編集してください。これらの変数及び、

デフォルト値は、「例外管理サンプル用 PreProcessingCOREスクリプトの設定」を参照してください。

ファイルを編集後、スクリプトを実行してください。このスクリプトは、以下のタスクを実行します。

・ BizTalk Isolated Host Users グループに新しいユーザアカウント「BTSISOSVC」を作成

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、ユーザーは作成済です。

・ 以下のローカル、ドメイングループにユーザアカウントを追加

グループ名

[ローカルマシン名] ¥IIS_WPG

[ローカルマシン名] ¥STS_WPG

[ドメイン名] ¥BizTalk Isolated Host Users

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

・ 新しいユーザアカウント及び、BizTalk Application Users グループに以下のフォルダへのアクセス許可を

設定

フォルダ名

¥Windows¥Temp

Key フォルダ、Source フォルダをインストールしたフォルダ

(既定では、C:¥Projects¥Microsoft.Practices.ESB)

Page 61: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

フォルダ名

※「BizTalk Application Users」グループの許可のみ設定

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記内容は設定済です。

BizTalkServer グループに ESB ガイダンスをインストールした場合は、フォルダへのアクセス許可を付与

する場合にエラーが発生します。その場合は、手動で許可を付与し、BizTalkIsoratedHostUsersグループ

に作成したユーザーアカウントを追加してください。

・ 以下の IISアプリケーション プールを作成

アプリケーションプール名

ESBHttpAppPool

注:

ESBガイダンスコア用 PreProcessingCORE.vbsを既に実行している場合は、上記は作成済です。

新しく作成した「BTSISOSVC」ユーザを使用します。

・ 以下の IIS仮想ディレクトリを作成

仮想ディレクトリ

HwsMessages

¥Services¥ESB.NorthAmericanServices

⑤ Windows エクスプローラで、¥Source¥Samples¥Exception Handling¥Install¥Scripts フォルダを開き、

1.CreateBizTalkApplication.cmd コマンドファイルをダブルクリックして実行してください。

コマンドファイルでは以下のタスクを実行します。

・ GlobalBank.ESB.Samples.ExceptionHandling.sln ソリューションのリビルドおよび「GlobalBank.ESB」

BizTalkアプリケーションへの配置

・ GlobalBank.ESB.ExceptionHandling_Bindings.xmlバインド情報のインポート

⑥ サンプルのインストールが成功した場合、またはサンプル実行時にエラーが発生した場合は、「例外管理

サンプルでインストールされるアセンブリ、アーティファクト」を参考に、アセンブリ等が正しく展開されている

ことを確認してください。

Page 62: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.1.9. 例外管理サンプル用 PreProcessingCORE スクリプトの設定

例外管理サンプル用に PreProcessingCORE.vbsファイルに設定された既定値は下記のとおりです。

設定値 説明

strUser="BTSISOSVC" BizTalk HTTP ISAPI 仮想ディレクトリに設定する

IISアプリケーションプール(既定は

「ESBHttpAppPool」のサービスアカウント。

このアカウントはマシンレベルまたはドメインレベル

において「BizTalk Isolated Host Users」グループ

のメンバである必要があります。

このユーザーが存在しない場合に、ユーザーを作

成し前述のグループのメンバに追加します。

strPwd="pass@word1" BizTalkサービスアカウントのパスワード。

strGroup="BizTalk Isolated Host Users" BizTalkアカウントグループ名。

strGroupIISWPG="IIS_WPG" IISサービスアカウントグループ名。

strGroupBTSAppUsers=

"BizTalk Application Users"

BizTalkアプリケーションユーザーグループ名。

strBTSESBPath="C:¥Projects¥Microsoft.Practic

es.ESB"

ESB ガイダンスのソースコードのインストールディ

レクトリパス。

strAppPool="ESBHttpAppPool" BizTalk HTTP ISAPI仮想ディレクトリに設定するア

プリケーションプール名。

strHWSMESSAGE="HwsMessages" 新規に作成する IIS仮想ディレクトリ名。

strPathToHWSServices="%PROGRAMFILES%

¥Microsoft BizTalk Server 2006¥HttpReceive"

BizTalk ISAPI フィルタのフルパス。

4.1.10. 例外管理サンプルでインストールされるアセンブリ、アーティファクト

場所 カテゴリー 名前

「GlobalBank.ESB」

BizTalkアプリケーショ

オーケストレーショ

GlobalBank.ESB.ExceptionHandling.Processes.EAIPr

ocess

GlobalBank.ESB.ExceptionHandling.Handlers.EAIGen

ericHandler

GlobalBank.ESB.ExceptionHandling.Handlers.EAIPro

cessHandler

送信ポート EAIProcessHandler.RepairSubmit

EAIGenericHandler.PostTmpMsg

EAIProcess.PostApproval

EAIProcessHandler.PostDecline

ALL.Exceptions_FILE

Page 63: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

場所 カテゴリー 名前

(GlobalFaultProcessorパイプライン使用)

受信ポート EAIProcess.RequestPort

受信場所 EAIProcess.RequestPort_FILE

EAIProcess.ReSubmit_HTTP

スキーマ GlobalBank.ESB.ExceptionHandling.Schemas.System

_Properties

GlobalBank.ESB.ExceptionHandling.Schemas.Reques

t

GlobalBank.ESB.ExceptionHandling.Schemas.Reques

tDenied

パイプライン GlobalBank.ESB.ExceptionHandling.Pipelines.GlobalF

aultProcessor

リソース GlobalBank.ESB.ExceptionHandling.Handlers

GlobalBank.ESB.ExceptionHandling.Processes

GlobalBank.ESB.ExceptionHandling.Schemas

GlobalBank.ESB.ExceptionHandling.Pipelines

ポリシー (none)

マップ GlobalBank.ESB.ExceptionHandling.Schemas.MapTo

ReqDenied

グローバルアセンブリ

キャッシュ(GAC)

アセンブリ GlobalBank.ESB.ExceptionHandling.Handlers

GlobalBank.ESB.ExceptionHandling.Processes

GlobalBank.ESB.ExceptionHandling.Schemas

GlobalBank.ESB.ExceptionHandling.Pipelines

%Program Files%

¥Microsoft BizTalk

Server 2006¥Pipeline

Components

パイプラインコン

ポーネント

(none)

Page 64: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.2. サンプルアプリケーションの実行

4.2.1. リゾルバサービスサンプルの実行

リゾルバサービスサンプルは、リゾルバ Web サービスを実行するためにコマンドラインアプリケーションを使

用し、実行結果をファイルに出力します。テストクライアントアプリケーションのコードファイルを確認すること

により、リゾルバWebサービスの使用方法について理解を深めることができます。

リゾルバ サービスは、マイクロソフト ESB ガイダンスのコアコンポーネントに依存しています。

本サンプルが正しく動作するために、ESB ガイダンスのコアコンポーネントを正しい場所にコピーおよびイン

ストールしてください。

本サンプルには以下のシナリオが含まれています。

・ BREを使用した変換(BizTalkマップ)の解決

・ BREを使用したエンドポイント URIの解決

・ 静的リゾルバを使用したエンドポイント URIの解決

・ XPATHを使用したエンドポイント URIの解決

・ UDDIサービス(サービスキーで問い合わせ)を使用したエンドポイント URIの解決

・ UDDIサービス(サービス名で問い合わせ)を使用したエンドポイント URIの解決

ASMX リゾルバWebサービスによる実行

① BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

② Windowsエクスプローラで下記コマンドファイルをダブルクリックして実行します。

¥Source¥Samples¥ResolverService¥ 1.RunTestClient_ASMX.cmd

③ ¥Source¥Samples¥ResolverService¥Output フォルダに結果ファイルが出力されますので、各シナリオと

対応した解決の結果ファイルが出力されていることを確認します。

・ STATICWithFile.txt

・ STATICWithFTPEndPointConfig.txt

・ UddiWithServiceKey.txt

・ UddiWithServiceName.txt

・ XPATHWithFILE.txt

・ XPATHWithHttp.txt

・ BRETransformType.txt

・ BRETransportLocation.txt

・ XPATHWithTransPortType.txt

結果ファイルの内容については、「動作仕様」を参照してください。

Page 65: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

WCF リゾルバWebサービスによる実行

① BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

② Windowsエクスプローラで下記フォルダを開き、下記コマンドファイルをダブルクリックして実行します。

¥Source¥Samples¥ResolverService¥ 2.RunTestClient_WCF.cmd

③ ¥Source¥Samples¥ResolverService¥Output フォルダに結果ファイルが出力されますので、各シナリオと

対応した解決の結果ファイルが出力されていることを確認します。

・ STATICWithFile.txt

・ STATICWithFTPEndPointConfig.txt

・ UddiWithServiceKey.txt

・ UddiWithServiceName.txt

・ XPATHWithFILE.txt

・ XPATHWithHttp.txt

・ BRETransformType.txt

・ BRETransportLocation.txt

・ XPATHWithTransPortType.txt

結果ファイルの内容については、「動作仕様」を参照してください。

4.2.2. リゾルバサービスサンプル実行時の注意事項

UDDI サービスにサービスキーで問い合わせをするには、リゾルバへの要求メッセージに設定されているサ

ービスキーと、実際 UDDIサービスに登録されているサービスキーを合わせる必要があります。

■UDDIサービスの問い合わせサービスキー

・¥Source¥Samples¥ResolverService¥Config¥ResolverList.xml

【修正箇所】

<Resolver>

<name>UddiWithServiceKey</name>

<Content>![CDATA[UDDI:\\serverUrl=http://localhost/uddi;

serviceKey=314cea4a-6e42-435d-b4e7-8a61a69c17d6]]</Content>

<body></body>

</Resolver>

Page 66: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.2.3. リゾルバサービスサンプル動作仕様

リゾルバサービスサンプルは、各リゾルバサービスのインスタンスを生成して、指定されたメッセージを処理し

ます。

リゾルバサービスのサンプルクライアントアプリケーションは、第一パラメータで複数のリゾルバ要求を含む

ResolverList.xml ファイルのパスを受け取り、これらの要求を リゾルバWebサービスに送ります。

下記は、XPATHを使用したエンドポイントの解決を行う際のリクエストメッセージの例です。

<Content>の要素にリゾルバ構成接続文字列を設定します。

<Body>要素にメッセージ本体を設定します。

次に、フレームワークは要求を処理するために ESB.Resolver.XPath という ResolveProvider クラスのイン

スタンスを生成します。

<Resolver>

<name>XPATHWithFILE</name>

<Content>![CDATA[XPATH:\\TransportLocation=/*[local-name()='OrderDoc'

and namespace-uri()='http://globalbank.esb.dynamicresolution.com/

northamericanservices/']/*[local-name()='ID' and namespace-

uri()='http://globalbank.esb.dynamicresolution.com/

northamericanservices/'];TargetNamespace=;

MessageExchangePattern=;EndpointConfig=;JaxRpcResponse=;TransportType=;

Action=;TransformType=]]

</Content>

<body>

![CDATA[

<ns0:OrderDoc

xmlns:ns0="http://globalbank.esb.dynamicresolution.com/northamericanservices/">

<ns0:customerName>Microsoft</ns0:customerName>

<ns0:ID>FILE://C:\Projects\Microsoft.Practices.ESB\Source\Samples

\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml</ns0:ID>

<ns0:requestType>10</ns0:requestType>

</ns0:OrderDoc>

]]

</body>

</Resolver>

Page 67: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

クライアントアプリケーションはリゾルバWebサービスからの応答メッセージを

¥Source¥Samples¥ResolutiuonService¥Output フォルダにファイルとして出力します。

以下に解決結果の内容を示します:

Resolver.Action =

Resolver.ActionField =

Resolver.DocumentSpecName =

Resolver.DocumentSpecStrongName =

Resolver.EndpointConfig =

Resolver.EpmRRCorrelationToken =

Resolver.FixJaxRpc = False

Resolver.InboundTransportLocation =

Resolver.InboundTransportType =

Resolver.InterchangeId =

Resolver.IsRequestResponse =

Resolver.MessageExchangePattern =

Resolver.MessageType =

Resolver.MethodName =

Resolver.OutboundTransportCLSID =

Resolver.ReceiveLocationName =

Resolver.ReceivePortName =

Resolver.Success = False

Resolver.TargetNamespace =

Resolver.TransformType = Resolver.TransportLocation =

FILE://C:\Projects\Microsoft.Practices.ESB\Source\Samples

\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml

Resolver.TransportNamespace =

Resolver.TransportType = FILE

Resolver.WindowUserField =

Page 68: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.2.4. 動的解決サンプルの実行

注:

本サンプルを実行する前に、リゾルバサービスサンプルをインストールする必要があります。また、本サン

プルは「Microsoft.Practices.ESB」BizTalk アプリケーションにインストールされたアーティファクトを使用

するため、BizTalkServer 管理コンソールにおいて、「GrobalBank.ESB」BizTalk アプリケーションから

「Microsoft.Practices.ESB」BizTalkアプリケーションへの参照を追加してください。

動的解決サンプルは、ESB 配信パイプラインコンポーネントおよび ESB 配信逆アセンブルパイプラインコン

ポーネントの典型的な使用方法を示します。また、動的なエンドポイント解決、ルーティングプロパティのセッ

ト、マップ解決およびオーケストレーションを使用しないメッセージレベルでのマップ実行を行うためのコンポ

ーネントの使用方法も示します。一方向と双方向(要求-応答)のメッセージングパターンが含まれています。

サンプルアプリケーションは、2つの受信場所および2つの動的送信ポートを含んでおり、17個の異なるユー

スケースを実行することが可能です。どのユースケースも、リゾルバおよびアダプタプロバイダフレームワー

クにおけるリゾルバとアダプタプロバイダが、様々な疎結合メッセージングソリューション基盤を提供できるこ

とを示します。

一方向のメッセージング

XPATH リゾルバを除く全ての一方向メッセージングシナリオは、「DynamicResolution_FILE」受信場所に

¥Source¥Samples¥DynamicResolution¥Test¥Data フォルダにある NAOrderDoc.xml ファイルをコピーし

Page 69: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ます。7個のサンプルが含まれており、実行前にそれぞれのサンプルと対応したバインド情報ファイルをイン

ポートする必要があります。

双方向のメッセージング

全ての双方向メッセージングシナリオは、BizTalkに要求メッセージを発行するために

「ESB.NorthAmericanServices」サンプルWebサービス

( http://localhost/ESB.NorthAmericanServices/CustomerOrder.asmx )を使用します。 InfoPath また

は.NETWebServiceStudio等のツールを使用してこのWebサービスを実行することができます。

どのサンプルも、「ESB.CanadianServices」サンプルWebサービス

(http://localhost/ESB.CanadianServices/SubmitPOService.asmx)にメッセージをサブミットするためにエ

ンドポイントの動的解決を行います。解決結果に応じて、submitOrder アクションまたは submitPurchase ア

クションのどちらかを実行します。

双方向メッセージングシナリオの受信場所は「DynamicResolutionReqResp_SOAP」です。10個のサンプ

ルが含まれており、実行前にそれぞれのサンプルと対応したバインド情報ファイルをインポートする必要があ

ります。

バインド情報ファイル

バインド情報ファイルは¥Source¥Samples¥DynamicResolution¥Samplesフォルダに格納されています。

このフォルダには Source と Release というサブフォルダが含まれています。Microsoft ESB ガイダンスをソ

ースコードからビルドしてインストールした場合は Sourceフォルダのバインド情報ファイルを使用してください。

ソースコードをビルドせず、リリースバージョンのMicrosoft ESB ガイダンスコンポーネントを使用している場

合は、Releaseフォルダのバインド情報ファイルを使用してください。

「GlobalBank.ESB」BizTalkアプリケーションにバインド情報をインポートするたびに、サンプルアプリケーショ

ンに含まれる受信場所の設定がリセットされ、関連した動的送信ポートはフィルタに受信ポート名を設定しま

す。よって、1つのバインド情報ファイルをインポートし、対応したメッセージを一方向メッセージシナリオの受

信場所に投入するだけでテストを行うことができます。InfoPath または.NETWebServiceStudio 等のツール

を使用して「NorthAmerican」Webサービスを呼び出す方法でもテストが行えます。

動的解決サンプルは、下記の ESB ガイダンスのコアアセンブリを使用します。

・ ESB配信パイプラインコンポーネントを含むMicrosoft.Practices.ESB.PipelineComponents.dll

・ パイプラインから呼び出されたリゾルバマネージャを実行するMicrosoft.Practices.ESB.Resolver.dll

・ Business Rules Engine リゾルバを実行する Microsoft.Practices.ESB.Resolver.BRE.dll

・ STATIC リゾルバを実行するMicrosoft.Practices.ESB.Resolver.STATIC.dll

・ UDDI リゾルバを実行するMicrosoft.Practices.ESB.Resolver.UDDI.dll

・ WS-MetaDataExchange リゾルバを実行するMicrosoft.Practices.ESB.Resolver.WSMEX.dll

・ XPATH リゾルバを実行するMicrosoft.Practices.ESB.Resolver.XPATH.dll

Page 70: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

・ リゾルバスキーマを含むMicrosoft.Practices.ESB.Resolver.Schemas.dll

・ アダプタマネージャを実行するMicrosoft.Practices.ESB.Adapter.dll

・ FTP アダプタプロバイダを実行するMicrosoft.Practices.ESB.Adapter.FTP.dll

・ FILEアダプタプロバイダを実行するMicrosoft.Practices.ESB.Adapter.FILE.dll

・ MQSeriesアダプタプロバイダを実行するMicrosoft.Practices.ESB.Adapter.MQSeries.dll

・ WCF-BasicHttpアダプタプロバイダを実行するMicrosoft.Practices.ESB.Adapter.WcfBasicHttp.dll

・ WCF-WSHttpアダプタプロバイダを実行するMicrosoft.Practices.ESB.Adapter.WcfWSHttp.dll

また、動的解決サンプルはリゾルバやアダプタにも依存しています。構成ファイルが正しく構成されているか

を「構成ファイルの修正」を参考に確認してください。

4.2.4.1. 一方向のメッセージング

① サンプルを実行する前に、「DynamicResolution_FILE」受信場所の URL(ディレクトリ)が正しいこと、およ

び「DynamicResolutionOneWay」動的送信ポートが存在することを確認します。

② BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

③ 一方向メッセージングのサンプルは7パターンあり、個別のバインド情報ファイルが定義されています。実

行するサンプルを決定し、BizTalk 管理コンソールを使用して所定のバインド情報ファイルを

「GlobalBank.ESB」BizTalkアプリケーションに展開します。

注:

全てのバインド情報ファイルは¥Source¥Samples¥DynamicResolution¥Samples フォルダにある

Source と Release というサブフォルダに格納されています。Microsoft ESB ガイダンスをソースコードか

らビルドしてインストールした場合は Source フォルダのバインド情報ファイルを使用してください。ソースコ

ードをビルドせず、リリースバージョンのMicrosoft ESB ガイダンスコンポーネントを使用している場合は、

Releaseフォルダのバインド情報ファイルを使用してください。

④ 受信場所フォルダ(¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥In)に下記テストデータをコ

ピーします。

XPATH example: NAOrderDoc_XPATH_FILE.xml、NAOrderDoc_XPATH_FTP.xml、

NAOrderDoc_XPATH_MQS.xml. のうちの1ファイル

その他 example: NAOrderDoc.xml

⑤ 実行したサンプルに応じて結果フォルダを確認します。

サンプル名 結果フォルダ

The File Inbound to FTP Outbound FTP仮想フォルダ “Out”

The File Inbound to FILE Outbound \DynamicResolution\Test\Filedrop\Out

The File Inbound to MQS Outbound TEST.OUTキュー

Page 71: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

The File Inbound to FILE Outbound

using the XPATH Resolver

メッセージ内に XPATH式で定義された場所

4.2.4.2. 双方向のメッセージング

① サンプルを実行する前に、「DynamicResolutionReqResp_SOAP」受信場所に Web サービスの正しい

URL(http://サーバ名/ESB.NorthAmericanServices/CustomerOrder.asmx)が設定されていること、また

「DynamicResolutionSolicitResp」動的送信ポートが存在することを確認します。

注:

動的解決サンプルは、メッセージの送信および「Canadian」Webサービス

(http://localhost/ESB.CanadianServices/SubmitPOService.asmx)からの応答メッセージの受信に動

的解決を使用します。これが、本サンプル用の静的送信ポートが定義されていない理由です。

動的解決コンポーネントは、解決結果および DynamicResolutionSolicitResp 受信場所に定義されてい

る ESBReceiveXml パイプラインから呼び出されるアダプタプロバイダフレームワークを使用してアウトバ

ウンド URL を取得します。いくつかの双方向メッセージングサンプルでは、ESBMapSend パイプラインが

マップの解決およびマップ実行を行います。

② BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

③ 実行するサンプルを選びます。

全ての双方向 メ ッ セ ー ジ ン グ シ ナ リ オは 、 BizTalk に メ ッ セ ー ジ を 発行す る た めに 、

「DynamicResolutionReqResp_SOAP」受信場所として設定されている「ESB.NorthAmericanServices」

Web サービスを使用します。サンプルは10パターンあり、個別のバインド情報ファイルが定義されていま

す。

BRE リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_BRE_Bindings.xml

マップおよび変換の解決に BRE リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_BRE_Routing_AND_

Transform_Bindings.xml

STATIC リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_STATIC_Bindings.xml

UDDI リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_UDDI_MSFTREGISTRY_Bindings.xml

Page 72: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

UDDIサービス経由で UDDI リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_UDDI_MSFTREGISTRY_SERVICEKEY_

Bindings.xml

※バインド情報ファイルに設定された UDDIサービスキーを実在する UDDIサービスのサービスキーに修

正する必要があります。

SOA Software UDDI サーバーに対する UDDI リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_UDDI_SOAREGISTRY_Bindings.xml

※SOA Software社の UDDI サーバーをインストールする必要があります。

SOA Software UDDI サーバーに対する WS-MetaDataExchange リゾルバを使用した SOAP Inbound to

SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_WSMEX_Bindings.xml

※SOA Software社の UDDI サーバーをインストールする必要があります。

XPATH リゾルバを使用した SOAP Inbound to SOAP Outbound

submitOrder アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_XPATH_Bindings.xml

※エンドポイント情報がメッセージ内に設定されています。

ID=http://localhost/ESB.CanadianServices/SubmitPOService.asmx

customerName=http://globalbank.esb.dynamicresolution.com/canadianservices/

マップおよび変換の解決に BRE リゾルバを使用した SOAP Inbound to SOAP Outbound

submitPurchase アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitPurchaseOrder_BRE_Routing_AND_Transform

_Bindings.xml

※BRE リゾルバがアクションを submitOrder から submitPurchaseに変更します

STATIC リゾルバを使用した SOAP Inbound to SOAP Outbound

submitPurchase アクション

GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitPurchaseOrder_STATIC_Bindings.xml

※BRE リゾルバがアクションを submitOrder から submitPurchaseに変更します

④ 実行するサンプルと対応したバインド情報ファイルを BizTalk 管理コンソールを使用して

「GlobalBank.ESB」BizTalkアプリケーションにインポートします。

注:

全てのバインド情報ファイルは¥Source¥Samples¥DynamicResolution¥Samples フォルダにある

Page 73: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

Source と Release というサブフォルダに格納されています。Microsoft ESB ガイダンスをソースコードか

らビルドしてインストールした場合は Source フォルダのバインド情報ファイルを使用してください。ソースコ

ードをビルドせずに、リリースバージョンの Microsoft ESB ガイダンスコンポーネントを使用している場合

は、Releaseフォルダのバインド情報ファイルを使用してください。

⑤ InfoPathまたは.NET Web Service Studio等のツールからパラメータを要求されている全てのパラメータを

設定して「NorthAmerican」Web サービスを呼び出します。InfoPath を使用して呼び出す方法は下記手順

⑥~⑬を参照してください。

⑥ スタートボタンからOffice InfoPathのプログラムを開き、「フォームテンプレートのデザイン」で「Webサービ

ス」を選択し、「OK」ボタンをクリックします。

Page 74: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

⑦ 「データの受信」を選択し、「次へ」ボタンをクリックします。

⑧ 「NorthAmerican」WebサービスのWSDLを問い合わせる URLを指定します。

http://localhost/ESB.NorthAmericanServices/CustomerOrder.asmx?WSDL

Page 75: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

⑨ “submitOrder”処理を選択し、「次へ」ボタンをクリックします。

⑩ 任意のデータ接続名を設定し、「完了」ボタンをクリックします。

Page 76: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB
Page 77: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

⑪ ツールバーの「ツール」>「フォームのオプション」を開き、「セキュリティと信頼」ペインで「自動的にセキュリ

ティレベルを設定する」のチェックを外し、「完全信頼」を選択して「OK」ボタンをクリックします。

⑫ 「データソース」を展開して、各クエリフィールド、データフィールドをフォームにドラッグします。

ドラッグ

Page 78: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

クエリフィールド:

フィールド名 種類

customerName テキストボックス

ID テキストボックス

requestType テキストボックス

データフィールド:

フィールド名 種類

ID テキストボックス

Success チェックボックス

⑬ 「プレビュー」においてクエリフィールドを入力し、「クエリの実行」ボタンをクリックすると下記のような結果が

が表示されます。データフィールドに表示された応答メッセージを確認します。

⑭ submitOrderアクションを指定した場合は、応答メッセージの ID フィールドの値に"Submit Order"という文

字列が設定されています。submitPurchase アクションを指定した場合は、"Submit Purchase"という文字

列が設定されています。

Page 79: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

4.2.5. 動的解決サンプル実行時の注意事項

下記のバインド情報ファイルの内容を実行環境に合わせて修正します。

■FTPサイトのユーザーID/パスワード

・GlobalBank.ESB.DynamicResolution_SubmitOrder_To_FILE_To_FTP_STATIC__

ENDPOINTCONFIG_Bindings.xml

■UDDIサービスの問い合わせサービスキー

・GlobalBank.ESB.DynamicResolution_SubmitOrder_To_FILE_To_FILE_UDDI_

SERVICEKEY_Bindings.xml

・GlobalBank.ESB.DynamicResolution_SubmitOrder_To_SubmitOrder_UDDI_MSFTREGISTRY_

SERVICEKEY_Bindings.xml

※「PurchaseOrderSubmitOrderService」サービスのサービスキーを指定します

4.2.6. 動的解決サンプル動作仕様

このサンプルでは、受信パイプラインにおいて ESB 配信逆アセンブルパイプラインコンポーネントを使用して

います。

一方向のシナリオでは、STATIC リゾルバ、BRE リゾルバまたは XPATH リゾルバを使用してエンドポイント

の動的解決を行い、ファイルから、ファイル、FTPまたはMQSeriresへのプロトコルを仲介します。

双方向のシナリオでは、STATICリゾルバ、BREリゾルバ、UDDIリゾルバ、WSMEXリゾルバまたはXPATH

リゾルバを使用してエンドポイントの動的解決を行い、SOAP から、SOAP またはWCF-BasicHttp へのプロ

トコルを仲介します。さらに、メッセージコンテキストやBodyメッセージの内容から解決を行うBREリゾルバを

使用して動的解決および BizTalkマップを実行します。

全てのシナリオは解決結果として「ESB.CanadianServices」Webサービスにメッセージをサブミットします。

さらに、解決結果に応じて submitOrderまたは submitPurchaseアクションを実行します。また、ESB配信逆

アセンブルパイプラインコンポーネントは動的に BizTalkマップを実行します。

Page 80: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

「DynamicResolutionReqResp_SOAP」受信場所での設定内容:

Page 81: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ESBReceiveXML パイプラインにおける ESB 配信逆アセンブルパイプラインコンポーネントのプロパティ設

定内容:

Enabled:パイプラインのアクティブ/非アクティブを設定する。Falseの場合は処理せずにパススルーする。

EndPoint:リゾルバを読み込むための接続文字列およびエンドポイント情報を設定する。

MapName:リゾルバを読み込み、BizTalkマップを実行するための接続文字列を設定する。

BizTalkマップの完全修飾名である場合もあります。

Validate:Trueを設定した場合、ESB配信逆アセンブルコンポーネントは、ESB変換サービスにマップで指定

されたスキーマの検証を行うように指示します。

Page 82: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ESBSendPassthrough送信パイプラインにおけるESB配信パイプラインコンポーネントのプロパティ設定内

容:

Enabled:パイプラインのアクティブ/非アクティブを設定する。Falseの場合は処理せずにパススルーする。

EndPoint:リゾルバを読み込むための接続文字列およびエンドポイント情報を設定する。

MapName:リゾルバを読み込み、BizTalkマップを実行するための接続文字列を設定する。

BizTalkマップの完全修飾名である場合もあります。

Validate:Trueを設定した場合、ESB配信コンポーネントは、ESB変換サービスにマップで指定されたスキー

マの検証を行うように指示します。

4.2.7. Itinerary オンランプサンプルの実行

このサンプルは、ESB Itinerary プロパティの定義方法および次のような一方向、双方向のメッセージングサ

ンプルを示します。

・ メッセージングを使用する Itineraryの実行

・ オーケストレーションを使用する Itineraryの実行

・ メッセージングおよびオーケストレーションを組み合わせた Itineraryの実行

Itinerary Webサービスを呼び出し、応答メッセージを表示するためのテストクライアントとしてWindowsフォ

Page 83: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ームを使用します。テストクライアントソリューションを開いて実行し、ソースコードを解析することで、SOA や

ESBのシステムにおいて ItineraryWebサービスをどのように使用するか理解を深めることができます。

本サンプルは、Itineraryサービスの特徴を示すためにWindows フォームテストクライアントアプリケーション

(Itinerary Test Client)を使用します。また、事前に定義された 13の Itineraryが含まれています。

注:

本サンプルを実行する前に、動的解決サンプルとリゾルバサービスサンプルをインストールする必要があ

ります。また、本サンプルは「Microsoft.Practices.ESB」BizTalk アプリケーションにインストールされたア

ーティファクトを使用するため、BizTalk 管理コンソールにおいて、「GrobalBank.ESB」BizTalk アプリケー

ションから「Microsoft.Practices.ESB」BizTalkアプリケーションへの参照を追加してください。

4.2.7.1. サンプルシナリオ

以下に示す Itineraryファイルは¥Source¥Samples¥Itinerary¥Itinerariesフォルダに格納されています。

各ファイル名は、そのシナリオがサブスクライブする対象のサービス名を表しています。

ファイル名 説明

Disassembler_OneW

ay-MessageTransfor

m-MessageRouting-

MessgeSendPort.xml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的送信ポートを通じて変換されたメッセージを複数送信先へ送信する

Page 84: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

---

サービスに関連したリゾルバの数が送信先の数を決定します。全ての変換およ

びルーティングは、ESB配信パイプラインコンポーネントによってサポートされる

任意のルーティングメッセージングサービスを使用してBizTalkメッセージングの

階層で発生します。

この Itineraryを実行すると以下のメッセージが生成されます。

2メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

1メッセージ:FTP フォルダ(FTP://localhost/out/)

1メッセージ:MQSeriesキュー

(MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/)

※MQSeries アダプタがインストールされていない場合はイベントログにエ

ラーが出力され、ファイルは生成されません

Disassembler_OneW

ay-MessageTransfor

m-MessgeSendPort.x

ml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的送信ポートを通じて変換されたメッセージを複数送信先へ送信する

---

サービスに関連したリゾルバの数が送信先の数を決定します。全ての変換およ

びルーティングは、BizTalkメッセージングの階層で発生します。Itineraryで定義

されサービスに関連したリゾルバが送信先を決定します。

この Itineraryを実行すると以下のメッセージが生成されます。

2メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

1メッセージ:FTP フォルダ(FTP://localhost/out/)

1メッセージ:MQSeriesキュー

(MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/)

※MQSeries アダプタがインストールされていない場合はイベントログにエ

ラーが出力され、ファイルは生成されません

OneWay-MessageTr

ansform-MessageRo

uting-MessgeSendPo

rt.xml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的送信ポートを通じて変換されたメッセージを1つの送信先へ送信する

---

Page 85: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

全ての変換およびルーティングは、ESB 配信パイプラインコンポーネントによっ

てサポートされる任意のルーティングメッセージングサービスを使用して BizTalk

メッセージングの階層で発生します。

この Itineraryを実行すると以下のメッセージが生成されます。

1メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

OneWay-MessageTr

ansform-MessgeSen

dPort.xml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的送信ポートを通じて変換されたメッセージを1つの送信先へ送信する

---

全ての変換およびルーティングは、BizTalk メッセージングの階層で発生しま

す。

この Itineraryを実行すると以下のメッセージが生成されます。

1メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

OneWay-MessgeSen

dPort.xml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・1つの送信先への動的送信ポートを通じたメッセージ送信を BizTalk に指示す

---

全てのルーティングは、BizTalk メッセージングの階層で発生します。

この Itineraryを実行すると以下のメッセージが生成されます。

1メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

OneWay-OrchTransf

orm-OrchRoutingGro

up-MessgeSendPort.

xml

このシナリオは下記のような事前定義されたメッセージフローを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するオーケストレーションサービスを使用したマ

ップの実行を、BizTalkに指示する

・2番目のオーケストレーションサービスは4メッセージを3つの送信先へ送信す

・サービスに関連したリゾルバは送信先を決定する

2メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

Page 86: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

ォルダ

1メッセージ:FTP フォルダ(FTP://localhost/out/)

1メッセージ:MQSeriesキュー

(MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/)

※MQSeries アダプタがインストールされていない場合はイベントログにエ

ラーが出力され、ファイルは生成されません

・動的送信ポートを通じてオリジナルメッセージを送信する

¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フォルダ

---

全ての変換およびルーティングは、BizTalk メッセージングおよびオーケストレー

ションの組み合わせで発生します。

この Itineraryを実行すると5つのメッセージが生成されます。

TwoWay-MessageTr

ansform-MessageRo

uting-MessageTwoW

aySendPort.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的双方向送信ポートを通じて、変換されたメッセージをWebサービスに送信

する

---

このサンプルは、ESB 配信パイプラインコンポーネントによってサポートされる

任意のルーティングメッセージングサービスを使用します。全ての変換およびル

ーティングは、BizTalk メッセージングの階層で発生します。

この Itinerary を実行すると呼び出し元(今回の場合は、テストクライアント)に1

つの応答メッセージが返されます。

TwoWay-MessageTr

ansform-MessageRo

uting-MessageTwoW

aySendPort-Message

Transform.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的双方向送信ポートを通じて、変換されたメッセージをWebサービスに送信

する

・Webサービスからの応答メッセージを受信する

・応答メッセージに対するマップの実行を BizTalkに指示する

---

このサンプルは、ESB 配信パイプラインコンポーネントによってサポートされる

Page 87: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

任意のルーティングメッセージングサービスを使用します。全ての変換およびル

ーティングは、BizTalk メッセージングの階層で発生します。

この Itinerary を実行すると呼び出し元(今回の場合は、テストクライアント)に1

つの応答メッセージが返されます。

TwoWay-MessageTr

ansform-MessageTw

oWaySendPort.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的双方向送信ポートを通じて、変換されたメッセージをWebサービスに送信

する

---

全ての変換およびルーティングは、BizTalk メッセージングの階層で発生しま

す。

この Itinerary を実行すると呼び出し元(今回の場合は、テストクライアント)に1

つの応答メッセージが返されます。

TwoWay-MessageTr

ansform-MessageTw

oWaySendPort-Mess

ageTransform.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するマップの実行を BizTalkに指示する

・動的双方向送信ポートを通じて、変換されたメッセージをWebサービスに送信

する

・Webサービスからの応答メッセージを受信する

・応答メッセージに対するマップの実行を BizTalkに指示する

---

全ての変換およびルーティングは、BizTalk メッセージングの階層で発生しま

す。

この Itinerary を実行すると呼び出し元(今回の場合は、テストクライアント)に1

つの応答メッセージが返されます。

TwoWay-MessageTr

ansform-OrchRouting

Group-OrchTwoWay

Custom.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するメッセージングサービスを使用したマップの

実行を、BizTalkに指示する

Page 88: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

・処理を行うオーケストレーションサービスにメッセージを渡す

・サービスに関連したリゾルバが次の4つの送信先を決定する

2メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

1メッセージ:FTP フォルダ(FTP://localhost/out/)

1メッセージ:MQSeriesキュー

(MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/)

※MQSeries アダプタがインストールされていない場合はイベントログにエ

ラーが出力され、ファイルは生成されません

・呼び出し元(今回の場合は、テストクライアント)に応答メッセージを返すための

双方向直接バインドオーケストレーションサービスにオリジナルメッセージを渡

---

全ての変換およびルーティングは、BizTalk メッセージングおよびオーケストレー

ションの組み合わせで発生します。

TwoWay-OrchTransf

orm-OrchRoutingGro

up-OrchTwoWayCust

om.xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・サブミットされたメッセージに対するオーケストレーションサービスを使用したマ

ップの実行を、BizTalkに指示する

・処理を行うオーケストレーションサービスにメッセージを渡す

・サービスに関連したリゾルバが次の4つの送信先を決定する

2メッセージ:¥Source¥Samples¥DynamicResolution¥Test¥Filedrop¥Out フ

ォルダ

1メッセージ:FTP フォルダ(FTP://localhost/out/)

1メッセージ:MQSeriesキュー

(MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/)

※MQSeries アダプタがインストールされていない場合はイベントログにエ

ラーが出力され、ファイルは生成されません

・呼び出し元(今回の場合は、テストクライアント)に応答メッセージを返すための

双方向直接バインドオーケストレーションサービスにオリジナルメッセージを渡

---

全ての変換およびルーティングは、BizTalk メッセージングおよびオーケストレー

ションの組み合わせで発生します。

Page 89: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ファイル名 説明

TwoWay-TwoWayCu

stom (Direct

bound).xml

このシナリオは下記のような事前定義された双方向(要求-応答)メッセージフロ

ーを示します。

---

・Itineraryオンランプサービスにメッセージがサブミットされる

・呼び出し元(今回の場合は、テストクライアント)に応答メッセージを返すための

双方向直接バインドオーケストレーションサービスの実行を BizTalkに指示する

---

4.2.7.2. 事前定義 Itineraryユースケースを使用したサンプルの実行

注:

サンプルを実行する前に、2つの動的送信ポートのプロパティをリセットするためにバインド情報ファイル

(¥Source¥Samples¥Itinerary¥Install¥Bindingフォルダ内)をインポートする必要があります。

マイクロソフト ESB ガイダンスのコアコンポーネントを、ソースコードをビルドしてインストールした場合は

GlobalBank.ESB.Itinerary_Bindings.xml ファイル、リリースバージョンのアセンブリからインストールした

場合は GlobalBank.ESB.Itinerary_Bindings_FromRelease.xml ファイルをインポートしてください。

① BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

② Windowsエクスプローラを開き、下記アプリケーションを実行します。

¥Source¥Samples¥Itinerary¥Source¥ESB.Itinerary.Test¥bin¥Debug¥Esb.Itinerary.Test.exe

③ 「LoadItinerary」ボタンをクリックし、¥Source¥Samples¥Itinerary¥Itinerariesフォルダにある

” TwoWay-OrchTransform-OrchRoutingGroup-OrchTwoWayCustom.xml”サンプル Itineraryファイルを

選択します。

④ 「Web Service Options」オプションで「Two-Way Service」をチェックし、双方向(要求-応答)処理を行うこと

を指定します。

⑤ オ プ シ ョ ン と し て 、 OnRamp.Itinerary.Response.SOAP 受 信 場 所 ( 既 定 ) の 代 わ り に

OnRamp.Itinerary.Response.WCF受信場所を使用する場合は、「Use WCF Service」をチェックします。

⑥ 「LoadMessage」ボタンをクリックし、 ¥Samples¥Source¥Itinerary¥Test¥Dataフォルダ内の

NAOrderDoc.xml ファイルを選択します。

⑦ 「SubmitRequest」ボタンをクリックし、Itineraryオンランプサービスに要求メッセージを送信します。

Page 90: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

Itinerary ファイルの中で指定されているサービス名は、サブスクライブ対象のサービス名と一致しています。本

サンプルの中で実行される「TwoWay-OrchTransform-OrchRoutingGroup-OrchTwoWayCustom.xml」を例

とすると、まず始めに変換を行う基本オーケストレーションを実行します。Itinerary ファイルの以下のセクション

でサービスを指定します。

<Service>要素で指定されているオーケストレーションサービスには、次に示すフィルタ式が設定されていま

す。

<Service uuid="" beginTime="" completeTime=""

name="Microsoft.Practices.ESB.Services.Transform"

type="Orchestration" state="Pending" isRequestResponse="false"

position="0" serviceInstanceId="" />

Page 91: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

こ の オ ー ケ ス ト レ ー シ ョ ン は 、 メ ッ セ ー ジ コ ン テ キ ス ト の ServiceName プ ロパ テ ィ の 値

が”Microsoft.Practices.ESB.Services.Transform”、かつ ServiceState プロパティの値が”Pending”、かつ

ServiceTypeの値が”Orchestration”であるメッセージのみをサブスクライブ対象とすることに注意してください。

4.2.7.3. カスタム Itineraryユースケースを使用したサンプルの実行

テストクライアントを使用してカスタム Itineraryシナリオを実行することができます。

注:

本サンプルを実行する前に、¥Source¥Samples¥Itinerary¥Install¥Binding フォルダに格納されているバ

インド情報ファイルを「GlobalBank.ESB」BizTalk アプリケーションに手動でインポートする必要がありま

す。バインド情報ファイルは2つの動的送信ポートの設定内容をリセットします。

ソースコードをビルドしてインストールした場合は、GlobalBank.ESB.Itinerary_Bindings.xml ファイル、ビ

ルドせずに msi ファイルを使用してリリースバージョンのコンポーネントをインストールした場合は

GlobalBank.ESB.Itinerary_Bindings_FromRelease.xml ファイルをインポートしてください。

① Windowsエクスプローラを開き、下記アプリケーションを実行します。

¥Source¥Samples¥Itinerary¥Source¥ESB.Itinerary.Test¥bin¥Debug¥Esb.Itinerary.Test.exe

② ServiceType ドロップダウンリストからサービスタイプ(オーケストレーションまたはメッセージング)を選択、

Page 92: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

実行するリクエストの名前をNameに入力し、要求-応答シナリオを実行する場合は、IsRequestResponse

チェックボックスをチェックします。また、WebServiceOptions セクションにおいて WCFWeb サービスの使

用や双方向サービスをチェックすることが可能です。

③ Add Resolvers for the Serviceセクションにおいて Resolover Type ドロップダウンリストからリゾルバタイ

プを選択し、「AddResolver」ボタンをクリックします。1 つ以上のリゾルバを追加することが可能です。要求

されたリゾルバ全てを追加した後、「AddService」ボタンをクリックし、このサービスの呼出しを Itinerary に

追加します。

④ サービスの呼出しを追加したい場合は、②と③の処理を繰り返してください。また、「RemoveService」ボタ

ンおよび「ClearService」ボタンで Itineraryのサービスリストを編集することが可能です。

⑤ 「SaveItinerary」ボタンをクリックすることで、作成した Itinerary をファイルとして保存することが可能です。

保存した Itinerary ファイルを読み込む場合は、「LoadItinerary」ボタンをクリックしてファイルを選択してくだ

さい。こうすることにより、シナリオを実行する度にサービス名やリゾルバを指定して毎回 Itineraryを作成す

る必要がありません。

⑥ 「LoadMessage」ボタンをクリックし、適切なテストメッセージを指定します。

⑦ 「SubmitRequest」ボタンをクリックし Itinerary に指定した処理にメッセージをサブミットします。返された実

行結果がある場合は、「Result」テキストボックスに表示されます。

4.2.8. Itinerary オンランプサンプル実行時の注意事項

下記の Itineraryファイルの内容を実行環境に合わせて修正します。

■FTPサイトのユーザーID/パスワード

・TwoWay-OrchTransform-OrchRoutingGroup-OrchTwoWayCustom.xml

・Disassembler_OneWay-MessageTransform-MessageRouting-MessgeSendPort.xml

・Disassembler_OneWay-MessageTransform-MessgeSendPort.xml

・OneWay-OrchTransform-OrchRoutingGroup-MessgeSendPort.xml

・TwoWay-MessageTransform-OrchRoutingGroup-OrchTwoWayCustom.xml

4.2.9. Itinerary オンランプサンプル動作仕様

サンプルのテストクライアントは、ユーザーがテストクライアントを使用して作成した Itinerary を含む SOAPヘッ

ダを構築し、ディスクからテストメッセージを読み込み、Itinerary ヘッダをメッセージに追加し、ESB を通じて

ItineraryオンランプWebサービスにメッセージをサブミットします。

Itinerary の各ステップが応答メッセージを生成した場合は、Itinerary Web サービスはこれらの応答メッセージ

を集め、テストクライアントに表示します。

オーケストレーション、メッセージング、またはその両方を使用した一方向、双方向のサンプル Itineraryファイル

を実行することができます。

Itinerary サービスがメッセージに設定された Itinerary 情報をどのように使用するかを理解するために、

Page 93: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

「TwoWay-OrchTransform-OrchRoutingGroup-OrchTwoWayCustom.xml」を例として挙げます。

最初のセクションでは、サービスが呼び出される順番が<Service>要素として記述されています。

<Itinerary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns="http://schemas.microsoft.biztalk.practices.esb.com/itinerary"

uuid="" beginTime="" completeTime="" state="Pending"

isRequestResponse="false">

<ServiceInstance uuid="" name="Microsoft.Practices.ESB.Services.Transform"

type="Messaging" state="Pending" position="0"

isRequestResponse="false" xmlns="" />

<Services xmlns="">

<Service uuid="" name="Microsoft.Practices.ESB.Services.Transform"

beginTime="" completeTime="" type="Messaging" state="Pending"

isRequestResponse="false" position="0" serviceInstanceId="" />

</Services>

<Services xmlns="">

<Service uuid="" name="Microsoft.Practices.ESB.Services.Routing"

beginTime="" completeTime="" type="Orchestration" state="Pending"

isRequestResponse="false" position="1" serviceInstanceId="" />

</Services>

<Services xmlns="">

<Service uuid="" name="ProcessAndRespond"

beginTime="" completeTime="" type="Orchestration" state="Pending"

isRequestResponse="true" position="2" serviceInstanceId="" />

</Services>

(続く)

Page 94: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

次のサービス呼出しリストは、Itinerary に定義された各サービスの解決情報を Itinerary サービスが探したり提

供したりするためのリゾルバの詳細情報(接続文字列等)を含むセクションです。

注:

実際の Itinerary定義の<Resolvers>要素には、空白文字は含まれていません。

前述の Itineraryで定義された3つのステップは下記のとおりです。

① ビジネスルールエンジンの ResolveMapポリシーを使用して、

Microsoft.Practices.ESB.Services.Transform(Microsoft.Practices.ESB.Agents.Transform)オーケスト

レーションで変換を実行します。

...

<ResolverGroups xmlns="">

<Resolvers serviceId="Microsoft.Practices.ESB.Services.Transform0">

&lt;![CDATA[BRE:¥¥policy=ResolveMap;version=1.0;useMsg=;]]&gt;

</Resolvers>

<Resolvers serviceId="Microsoft.Practices.ESB.Services.Routing1">

&lt;![CDATA[STATIC:¥¥TransportLocation=

FILE://C:¥Projects¥Microsoft.Practices.ESB¥Source¥Samples¥

DynamicResolution¥Test¥Filedrop¥OUt¥%MessageID%.xml;

TargetNamespace=;MessageExchangePattern=;EndpointConfig=;JaxRpcResponse=;

TransportType=;Action=;TransformType=;]]&gt;&lt;![CDATA[UDDI:¥¥serverUrl

=http://localhost/uddi;serviceName=OrderFileServiceWBindings;

serviceProvider=Microsoft.Practices.ESB;]]&gt;&lt;

![CDATA[STATIC:¥¥TransportType=;TransportLocation=

FTP://localhost/out/%MessageID%.xml;Action=;

EndPointConfig=UserName=Administrator&amp;Password=pass@word1;

JaxRpcResponse=false;MessageExchangePattern=;TargetNamespace=;

TransformType=;]]&gt;&lt;![CDATA[STATIC:¥¥TransportType=;

TransportLocation=MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT

/%MessageID.xml;Action=;EndPointConfig=;JaxRpcResponse=false;

MessageExchangePattern=;TargetNamespace=;TransformType=;]]&gt;

</Resolvers>

<Resolvers serviceId="ProcessAndRespond2" />

</ResolverGroups>

</Itinerary>

Page 95: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

② 変換されたメッセージを複数の場所へ送信するために Microsoft.Practices.ESB.Services.Routing

(Microsoft.Practices.ESB.Agents.Delivery)オーケストレーションを実行します。

<ResolverGroups>セクションは、リゾルバ名および接続文字列が定義された<Resolvers>要素を含んで

います。

③ サンプルで提供されている ProcessAndRespond オーケストレーションを実行します。このオーケストレー

ションでは、応答メッセージの送信、コピーされた要求メッセージのテストクライアントへの送信が実装され

ています。

各サービスが完了するとそれぞれのサービスは、定義された Itinerary を元に現在のサービスインスタンスを

ステータスに”Pending”がセットされた次のサービスへと進めます。

注:

Itinerary オンランプサンプルは出力先フォルダにメッセージを送信するために動的リゾルバサービスを

使用します。これが、本サンプルのために静的送信ポートが定義されていない理由です。

テストクライアントがメッセージをサブミットした後に順番に発生するイベントは下記のとおりです。

・ 「OnRamp.Itinerary」受信場所がメッセージを受信します

・ 「ItineraryReceiveXml」パイプラインが SOAPヘッダから Itineraryを取得し、スキーマ検証をしてインバウ

ンドメッセージのメッセージコンテキストとして Itineraryを書き出します。そしてBizTalkメッセージボックスデ

ータベースにメッセージを発行します。

・ 「Microsoft.Practices.ESB.Services.Transform」オーケストレーションへのサブスクリプションが、このオ

ーケストレーションを起動します。次のコードに示すように、オーケストレーションはまず始めに

ItineraryHelperクラスのCurrentStepメソッドの引数にメッセージを渡すことで、実行中の ItineraryStepオ

ブジェクトを取得します。

ItineraryStep オブジェクトは、サービスと関連したリゾルバと同様に、サービスを実行するためのサービスイ

ンスタンスの全情報を含んでいます。

Resolver オブジェクトは ItineraryStep インスタンスから取得できます。次のコードに示すように、ESB リゾル

バフレームワークは変換マップの正式名を解決するために使用されます。

itineraryStep = Microsoft.Practices.ESB.Itinerary.ItineraryHelper.CurrentStep( InboundMessage);

resolverDictionary = Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve(InboundMessage, resolver);

// Set the transform type

transformType = resolverDictionary.Item("Resolver.TransformType");

Page 96: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

リゾルバおよびアダプタフレームワークは、適切なリゾルバ(この例では、BRE リゾルバ)をキャッシュからか

ら読み込むことにより、「ResolveMap」ポリシーを起動し、ResolverDictionaryオブジェクトを取得します。

オーケストレーションが完了すると、ソースコードは AdvanceItinerary メソッドを呼び出します。

このメソッドは、プロパティをアップデートして、Itinerary で定義された次のサービスへと現在の Itinerary を進

めます。また、直接バインド送信ポートを通じて BizTalk メッセージボックスデータベースに再発行するサービ

スの Itineraryを、アウトバウンドメッセージにコピーします。

そしてサブスクリプションが「Microsoft.Practices.ESB.Services.Delivery」サービスオーケストレーションを

起動します。現在の Itineraryステップを経て、このオーケストレーションは前述の

「Microsoft.Practices.ESB.Services.Transform」オーケストレーションと似た処理を行います。ItineraryStep

インスタンスから返された複数のリゾルバを処理するのが異なっている点です。

それぞれのリゾルバに対して、デリバリーオーケストレーションは、送信先を解決しコンテキストプロパティとし

て昇格させるために、ESB リゾルバおよびアダプタフレームワークを使用します。

// Call the Itinerary helper to advance to the next step

Microsoft.Practices.ESB.Itinerary.ItineraryHelper.AdvanceItinerary(OutboundMessage, itineraryStep);

// Move to retrieve the first resolver

resolver = resolvers.Current;

// Pass the resolver configuration to the Resolver Manager

// for resolution

resolverDictionary =

Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve(InboundMessage, resolver);

// Set the transport properties

transportLocation =

resolverDictionary.Item("Resolver.TransportLocation");

transportType =

resolverDictionary.Item("Resolver.TransportType");

// Call the Adapter Manager to set all necessary properties

Microsoft.Practices.ESB.Adapter.AdapterMgr.SetEndpoint(resolverDictionary, DeliveryMessage);

// Set the delivery port address and type

DeliveryPort(Microsoft.XLANGs.BaseTypes.Address) = transportLocation;

DeliveryPort(Microsoft.XLANGs.BaseTypes.TransportType) = transportType;

Page 97: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

フィルタ式に定義されたメッセージコンテキストプロパティの値と一致するため、サブスクリプションは

「ProcessAndRespond」オーケストレーションを起動します。

「ProcessAndRespond」オーケストレーションは、Itinerary を進め、テストクライアントに応答メッセージとして

返すためにオリジナルのリクエストメッセージをオンランプWebサービスに返します。

4.2.10. 例外管理サンプルの実行

注:

本サンプルをインストールする前に例外管理フレームワークをインストールする必要があります。

ESB サンプルアプリケーションは「GlobalBank.ESB」BizTalk アプリケーションに展開されます。

「GlobalBank.ESB」BizTalk アプリケーションが存在することを確認し、存在しない場合はまず始めにリゾ

ルバサービスサンプルをインストールしてください。

4.2.10.1. “ESB処理への失敗メッセージルーティング“サンプル実行

本サンプルでは、BizTalk で発生した例外の管理、シリアライズ、表示をするための一般的な例外管理メカニ

(Microsoft.Practices.ESB.Itinerary.Schemas.ServiceName == :"ProcessAndRespond")

&& Microsoft.Practices.ESB.Itinerary.Schemas.ServiceState == "Pending")

&& (Microsoft.Practices.ESB.Itinerary.Schemas.ServiceType == "Orchestration")

Page 98: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

ズムとして例外管理フレームワークをどのように使用するかを示します。これには、BizTalk の失敗メッセージ

ルーティング機能によって生成された例外、およびオーケストレーションで例外管理フレームワークによって

生成された例外も含まれます。

BizTalk Server 2006 で追加されたエラー処理機能を使用すると、失敗したメッセージを保留キューに配置

する従来の処理 (現在では、既定の処理) の代わりに、失敗したメッセージの自動処理を指定できます。こ

の自動処理では、サブスクライブしているルーティング先 (送信ポートやオーケストレーションなど) にエラー

メッセージをルーティングします。エラー メッセージは、元のメッセージのクローンであり以前昇格させたすべ

てのプロパティが降格されています。また、特定のメッセージの失敗に関連した、選択済みのプロパティがメ

ッセージ コンテキストに昇格されています。

失敗したメッセージのルーティングを有効にするには、受信ポートまたは送信ポートにおいて「失敗したメッセ

ージをルーティングする」をチェックします。

しかしながら、オーケストレーション内部で発生したエラーに対する似たような機能はありません。その代わり、

オーケストレーションの例外ハンドラにおいて、BizTalk失敗メッセージルーティング機能を模倣する例外管理

フレームワークの利点を活用することができます。

サンプルの中で、「EAIProcess.RequestPort_FILE」受信場所はファイルをポーリングして、

¥Source¥Samples¥Exception Handling¥Test¥Filedrop¥EAIProcess.RequestPort フォルダにコピーしま

す。さらに、「ALL.Exceptions_FILE」送信ポートは「GlobalFaultProcessor」パイプラインを使用するように設

Page 99: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

定されており、システムで発生した全ての例外をサブスクライブします。

「ALL.Exceptions_FILE」送信ポートの設定内容:

① サンプルを実行する前に、受信場所の URL ( フ ォルダパス )に \Source\Samples\Exception

Handling\Test\Filedrop\EAIProcess.RequestPort が設定されていること、送信ポートの URL に

\Source\Samples\Exception Handling\Test\Filedrop\All_Exceptions が設定されていることを確認してくだ

さい。

② BizTalkServer 管理コンソールから「GlobalBank.ESB」アプリケーションを開始します。

③ ¥Source¥Samples¥Exception Handling¥Test¥Data フォルダに格納されている FlatFileReceive_in.txt

ファイルを「EAIProcess.RequestPort」受信場所にコピーします。

④ テキストファイルの処理において例外が発生しますので、「All_Exceptions」フォルダに出力された生成さ

れた xmlファイルを InfoPathを使用して開き、失敗メッセージの例外の内容を確認してください。

⑤ 次に、¥Source¥Samples¥Exception Handling¥Test¥Data フォルダに格納されている

soapmessage[1].xml ファイルを「EAIProcess.RequestPort」受信場所にコピーします。

⑥ CDATA セクションを含む xml ドキュメントファイルの処理において例外が発生しますので、

「All_Exceptions」フォルダに出力された生成された xmlファイルを InfoPathを使用して開き、失敗メッセー

ジの例外の内容を確認してください。

⑦ 最後に¥Source¥Samples¥Exception Handling¥Test¥Data フォルダに格納されている csqzav01.pdf フ

ァイルを「EAIProcess.RequestPort」受信場所にコピーします。

Page 100: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

⑧ PDF ファイルの処理において例外が発生しますので、「All_Exceptions」フォルダに出力された生成された

xml ファイルを InfoPathを使用して開き、失敗メッセージの例外の内容を確認してください。

ESB例外ハンドリング機能により、失敗メッセージが Base64エンコードされていることが確認できます。

5. インストールおよび実行時の留意事項

5.1. ResolverMgr.cs ファイルの文字コード変換エラー

¥Source¥Core¥Source¥ESB.Resolver¥ ResolverMgr.cs ファイルの 1052 行目、1053 行目に文字コード

変換できない文字(ASCII コードで 87)が存在します。そのため、ソースコードをビルドして ESBガイダンスコ

アをインストールする場合は、1.CORE_CreateBizTalkApplication.cmd ファイル実行時にコンパイルエラー

が発生します。

暫定処置として、下記のように変換できない文字をダブルクオーテーションに置き換えてファイルを保存し、

再度コマンドファイルを実行します。

1049: // check for escape chars

1050: if (s.Contains(PropValueEscapeSeparator))

1051: {

1052: newS = s.Replace(PropValueEscapeSeparator, "・);

1053: newPropSep = "・;

1054: }

1049: // check for escape chars

1050: if (s.Contains(PropValueEscapeSeparator))

1051: {

1052: newS = s.Replace(PropValueEscapeSeparator, "”);

1053: newPropSep = "”;

1054: }

Page 101: マイクロソフト ESB ガイダンスdownload.microsoft.com/download/0/e/3/0e370309-de39...マイクロソフト ESB ガイダンス ~ Microsoft BizTalk Server 2006 R2 でのESB

6. 参考文献

6.1. Microsoft ESB Guidance (本書の原文、英語)

Microsoft ESB Guidance for BizTalk Server 2006 R2

6.2. Microsoft BizTalk Server 2006 R2 製品情報

http://www.microsoft.com/japan/biztalk/default.mspx

6.3. Microsoft SOA サイト(英語)

http://www.microsoft.com/soa/