このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開

BizTalk Server EDI ソリューションの BizTalk サービスへの移行:テクニカル ガイド

更新日: 2015年2月

執筆者:Tim Wieman、Nitin Mehrotra

校閲者:Karthik Bharthy

使用した製品:Microsoft Azure BizTalk サービス (2014 年 2 月のリリース)

電子データ交換 (EDI) は、企業間で電子的なデータ交換を行うために最も普及している手段の 1 つであり、ビジネストゥービジネス (B2B) トランザクションとも呼ばれます。BizTalk Server では、最初のリリース以降 10 年以上にわたって EDI をサポートしてきました。Microsoft では BizTalk サービスを使用して、Microsoft Azure プラットフォームで引き続き EDI ソリューションをサポートします。B2B トランザクションのほとんどは組織の外部で実行されるため、クラウド プラットフォームで実装されている場合は、容易に実装することができます。Microsoft Azure では BizTalk サービスを通じてこの機能を提供します。

一部の顧客は、BizTalk サービスを新しい EDI ソリューションの "未開発" のプラットフォームとして捉えていますが、実際には、多くの顧客が現在使用している BizTalk Server EDI ソリューションを Azure に移行することができます。BizTalk サービスの EDI は、BizTalk Server の EDI アーキテクチャと同じキー要素 (取引先、エンティティ、アグリーメント) に基づいて構築されているため、BizTalk Server の EDI アイテムを BizTalk サービスに移行することができます。

このドキュメントでは、BizTalk Server の EDI アイテムを BizTalk サービスに移行する際に注意すべき両者の相違点について説明します。このドキュメントは、BizTalk Server の EDI 処理および取引先アグリーメントに関する実用的な知識を前提としています。BizTalk Server の EDI の詳細については、「BizTalk Server を使用した取引先管理」を参照してください。

BizTalk Server EDI モジュールは、BizTalk Server 2010 で、パートナー、プロファイル、およびアグリーメントを含むように再モデル化されたときに大幅に強化されました。BizTalk サービス は同じモデルを使用して、取引先とそれらの取引先内の部門を編成します。そのため、BizTalk Server 2010 以降のバージョンの EDI アイテムを BizTalk サービスに移行するプロセスは、より単純化されています。BizTalk Server 2010 より前のバージョンに関連付けられた EDI アイテムを移行するには、最初に BizTalk Server 2010 にアップグレードしてから、EDI アイテムを BizTalk サービスに移行する必要があります。

BizTalk Server と同様に、BizTalk サービスの EDI 処理は、取引先管理 (TPM) ソリューションを中心に構築されています。TPM ソリューションには、以下の主要なコンポーネントが含まれています。

  • 取引先。B2B トランザクションにおける組織を表します。

  • プロファイル。取引先内部の区分を表します。

  • 取引先アグリーメント (またはアグリーメント)。2 つのパートナー/プロファイル間のビジネス アグリーメントを表します。

次の図は、BizTalk Server と BizTalk サービスの EDI ソリューションの類似点と相違点を示しています。

EDI メッセージ フロー - BizTalk Server & BizTalk Service

BizTalk Server と BizTalk サービスの EDI ソリューション フローの主な相違点と類似点は次のとおりです。

  • BizTalk Server では EDIReceive パイプラインを使用して EDI メッセージを受信し、EDISend パイプラインを使用して EDI メッセージを送信しますが、同様に BizTalk サービスでは EDI 受信ブリッジを使用して EDI メッセージを受信し、EDI 送信ブリッジを使用して EDI メッセージを送信します。BizTalk Server では、これらのパイプラインは送信ポートまたは受信ポートによってアグリーメントと関連付けられています。BizTalk サービスでは、アグリーメント自体が送信ブリッジまたは受信ブリッジを表しています。

  • BizTalk Server では、EDIReceive パイプラインが EDI メッセージを処理した後に、そのメッセージは SQL Server データベースにダンプされます。その後、EdiSend パイプラインは SQL Server データベースからメッセージを取得し、処理して、取引先に送信します。

    BizTalk サービスでは、EDI 受信ブリッジが EDI メッセージを処理した後に、そのメッセージは外部プロセスにルーティングされます。外部プロセスは、Microsoft Azure またはオンプレミスで実行されています。外部プロセスは、メッセージを EDI 送信ブリッジにルーティングする必要があります。送信ブリッジ自体はメッセージを取得しないためです。メッセージを処理した後に、EDI 送信ブリッジはメッセージを取引先にルーティングします。

BizTalk サービスには使いやすい構成環境が用意されており、取引先間の B2B アグリーメントをすばやく作成して展開することができます。この際に、Microsoft Azure コンピューティング インスタンス (Web またはワーカー ロール)、Microsoft Azure SQL データベース、または Microsoft Azure ストレージ アカウントを構成する必要はありません。より複雑なシナリオでは、取引先アグリーメントの "境界周辺" (つまり、取引先アグリーメント EDI ブリッジ処理の前後) を処理するワークフローやその他のサービスに結び付けることが必要になります。詳しく説明すると、BizTalk サービスの EDI メッセージ処理では、次のような一連のイベントが発生します。

  1. 取引先 Fabrikam から EDI メッセージを受信します。取引先から EDI メッセージを受信するため、BizTalk サービスでは FTP、SFTP、AS2、HTTP/S などのトランスポート プロトコルをサポートしています。

  2. 取引先契約の受信側処理では、EDI メッセージが XML 形式に逆アセンブルされます。逆アセンブルされた EDI メッセージ (XML 形式) は、Service Bus リレー エンドポイント、Service Bus トピック、Service Bus キュー、BizTalk サービス ブリッジなどの Service Bus エンドポイントにルーティングできます。

  3. さらなるカスタム処理のため、逆アセンブルされた XML メッセージはエンドポイントから受信することができます。これらのエンドポイントをオンプレミスのコンポーネントまたは Microsoft Azure コンピューティング インスタンスで処理することで、Windows Workflow (WF) や Windows Communication Foundation (WCF) サービスなどでメッセージをさらに処理することができます。

  4. 取引先契約の "送信側処理" では、XML メッセージが EDI 形式に編成され、取引先の Contoso に送信されます。取引先に EDI メッセージを送信するため、BizTalk サービスは EDI メッセージを受信するために使用したものと同じプロトコルをサポートしています。

次に、BizTalk Server のさまざまな EDI アイテムを BizTalk サービスに移行する際の概念的なガイダンスを説明します。

BizTalk Server では、取引先から EDI/XML メッセージを受信するための受信場所および受信ポートを設定し、取引先に EDI/XML メッセージを送信するための送信ポートを設定します。その後、BizTalk Server 管理コンソールを使用して、これらのポートを取引先アグリーメントに結び付けます。BizTalk サービスでは、取引先からメッセージを受信し、取引先にメッセージを送信する場所は、BizTalk サービス ポータル の取引先アグリーメント自体の一部 (トランスポート設定の一部) として構成されています。したがって、正確に言うと、BizTalk サービスに "送信ポート" と "受信場所" の概念は実際にはありません。詳細については、「アグリーメントの作成」を参照してください。

BizTalk Server の EDI では、パイプラインはメッセージ処理エンティティです。アプリケーションで必要な場合は、特定の処理機能のためのカスタム ロジックをパイプラインに含めることもできます。BizTalk サービスでパイプラインに相当するのは EDI ブリッジです。ただし、現在のところ BizTalk サービスでは、EDI ブリッジは "クローズ" されています。つまり、ユーザーは独自のカスタム アクティビティを EDI ブリッジに追加することができません。すべてのカスタム処理は、取引先アグリーメントの一部として構成されたブリッジにメッセージが入る前後のいずれであっても、アプリケーションの EDI ブリッジの外部で実行する必要があります。EAI ブリッジには、カスタム処理を実行するオプションがあります。カスタム処理を実行する場合は、EDI ブリッジによるメッセージ処理の前後に EAI ブリッジを使用することができます。詳細については、「ブリッジでのカスタム コードの使用」を参照してください。

取引先アグリーメントがメッセージを受信する前、またはアグリーメントでメッセージを処理して Service Bus エンドポイントにルーティングした後は、カスタム コードや Service Bus メッセージング キューおよびトピックを使用して、パブリッシュ/サブスクライブ フローを挿入できます。

メッセージ フロー パターンについては、「シナリオおよびメッセージ フロー」を参照してください。

EDI 処理に使用される BizTalk Server 2010 の取引先アグリーメントについて理解している場合、BizTalk サービスの取引先アグリーメントもすぐに理解することができます。契約の設定の多くは同じであり、同じ用語を使用しています。場合によっては、アグリーメントの設定は BizTalk Server で同じ設定を行うよりもはるかに簡単です。Microsoft Azure BizTalk サービスでは、X12、EDIFACT、および AS2 トランスポートをサポートしています。

Microsoft Azure BizTalk サービスには TPM データ移行ツールも用意されており、取引先およびアグリーメントを BizTalk Server の取引先モジュールから BizTalk サービス ポータル に移行することができます。TPM データ移行ツールは Tools パッケージの一部として利用可能であり、http://go.microsoft.com/fwlink/?LinkId=235057 からダウンロードできます。このパッケ���ジには readme ファイルも含まれており、ツールを使用する手順や、ツールの基本的なトラブルシューティング情報が記載されています。

BizTalk サービスには、BizTalk サービス ソリューションで使用できる EDI スキーマが用意されています。さらに、EDI スキーマのルート ノードは BizTalk Server と BizTalk サービスで同一であるため、BizTalk Server の EDI スキーマを BizTalk サービスで使用することもできます。したがって、BizTalk Server の EDI スキーマを直接取得し、BizTalk サービスを使用して作成した EDI ソリューションでそれらのスキーマを使用することができます。EDI スキーマは、http://go.microsoft.com/fwlink/?LinkId=235057 からダウンロードすることもできます。

BizTalk Server のマップは、BizTalk サービスでは変換と呼ばれます。BizTalk Server のマップを BizTalk サービスに移行する作業は、場合によっては複雑なタスクになることがあります (マップの複雑さに依存します)。BizTalk サービスで使用するマッピング ツールは、BizTalk マッパーとは異なります。マッパーはほとんど同じに見えますが、基になるマップ形式が異なります。また、ユーザーが使用できる Functoid (BizTalk サービスではマップ操作と呼ばれます) も異なります。したがって、BizTalk サービスで BizTalk のマップを直接使用することはできません。また、BizTalk Server で使用できるすべての Functoid を BizTalk サービスのマップ操作として使用できる訳ではありません。

使用できる変換のマップ操作の一覧は BizTalk Server マッパーとはまったく異なるように見えますが、BizTalk サービスの変換には同じタスクを実行する新しい方法が用意されています。たとえば、BizTalk サービスの変換ではリスト操作を使用できます。これは、BizTalk マッパーでは使用できませんでした。リスト操作を使用すると、"リスト" で作成および操作できるようになります。ここで、リストはアイテム ("行" とも呼びます) のセットであり、各アイテムには複数のメンバー ("列" とも呼びます) があります。リストを並べ替えたり、条件に基づいてアイテムを選択したりすることができます。

BizTalk サービスの変換の新しい機能の別の例は、ループ操作です。BizTalk Server マッパーで入れ子になったループを作成することは困難です。このため、BizTalk サービスの変換にはループのマップ操作が追加されています。

もう 1 つの例は、If-Then-Else 式のマップ操作です。if-then-else 操作の実行は BizTalk マッパーでも可能でしたが、一見単純なタスクを実行するのに複数の Functoid が必要でした。

Microsoft Azure BizTalk サービスには、BizTalk Server のマップを BizTalk サービスの変換に移行するツールが用意されています。BTMMigrationTool は、BizTalk サービス SDK で提供されている Tools パッケージの一部として使用することができます。SDK は http://go.microsoft.com/fwlink/?LinkId=235057 からダウンロードできます。このツールの詳細については、「BizTalk のマップを BizTalk サービスの変換に移行する」を参照してください。

また、BizTalk MVP である Sandro Pereira が作成したサンプルを参照して、BizTalk Server のマップを BizTalk サービスの変換に移行する方法を確認することもできます。サンプルはこちらから入手できます。このサンプルに基づいた記事はこちらから参照できます。

Microsoft Azure では BizTalk Server のオーケストレーションの実行はサポートされないため、BizTalk Server のオーケストレーション処理を Microsoft Azure に移行する必要がある場合は、オーケストレーションを書き直す必要があります。オーケストレーションの機能は、Windows Workflow Foundation 4.0 (WF4) サービスで書き直すことができます。現時点では、BizTalk Server のオーケストレーションから WF4 への移行は提供されていないため、これは完全な書き直しになります。Windows Workflow のリソースの一部を次に示します。

  • WCF ワークフロー サービスを Service Bus のキューおよびトピックに統合する方法」 (執筆者: Paolo Salvatori)。こちら (http://go.microsoft.com/fwlink/?LinkId=237313) を参照してください。

  • Windows Workflow Foundation および Azure を使用したアプリケーションの構築」 (Build 2011 会議のセッション)。こちら (http://go.microsoft.com/fwlink/?LinkId=237314) を参照してください。

  • MSDN の Windows Workflow Foundation デベロッパー センターこちら (http://go.microsoft.com/fwlink/?LinkId=237315) を参照してください。

  • MSDN の Windows Workflow Foundation 4 (WF4) ドキュメントこちら (http://go.microsoft.com/fwlink/?LinkId=237316) を参照してください。

BizTalk サービスを使用する際の考慮事項を次に示します。

BizTalk Server EDI の処理には、「フォールバック アグリーメント」の概念があります。BizTalk サービス には、これまでフォールバック アグリーメントの概念がありませんでした。BizTalk Server でのフォールバック アグリーメントの使用方法の情報については、BizTalk ドキュメントのトピック「EDI 処理におけるアグリーメントのロール」および「グローバルまたはフォールバック アグリーメントのプロパティの構成」を参照してください。

BizTalk サービスブリッジは、現時点では、パブリッシュ/サブスクライブ モデルを使用した複数の送信先へのメッセージ ルーティングをサポートしていません。その代わりに、BizTalk サービスブリッジからのメッセージを Service Bus トピックにルーティングして、複数のサブスクリプションを設定し、複数のエンドポイントでメッセージを受信することができます。

Microsoft Azure BizTalk サービスは、新機能を追加するために定期的なマイルストーンに基づいてアップデートされています。それぞれのアップデートで新しい機能がサポートされ、BizTalk サービスおよびその他の Azure テクノロジを使用したエンド ツー エンド ソリューションの作成がさらに容易になることが期待されます。

関連項目

表示:
© 2015 Microsoft