アプリとソリューションを BizTalk Services から Azure Logic Apps に移行するMigrate your apps and solutions from BizTalk Services to Azure Logic Apps

Microsoft Azure BizTalk Services (MABS) は廃止されました。Microsoft Azure BizTalk Services (MABS) is retiring. MABS 統合ソリューションを Azure Logic Apps に移行するときは、この記事のガイダンスに従ってください。To move your MABS integration solutions to Azure Logic Apps, follow the guidance in this article.

はじめにIntroduction

BizTalk Services は、次の 2 つのサブサービスで構成されています。BizTalk Services consists of two subservices:

  • Microsoft BizTalk Services ハイブリッド接続Microsoft BizTalk Services Hybrid Connections
  • EAI および EDI ブリッジ ベースの統合EAI and EDI bridge-based integration

Azure App Service ハイブリッド接続は、BizTalk Services ハイブリッド接続に代わるものです。Azure App Service Hybrid Connections replaces BizTalk Services Hybrid Connections. Azure ハイブリッド接続は、Azure Portal を通じて Azure App Service で使用できます。Azure Hybrid Connections is available with Azure App Service through the Azure portal. このサービスは、既存の BizTalk Services ハイブリッド接続に加え、ポータルで作成する新しいハイブリッド接続も管理できるハイブリッド接続マネージャーを提供します。This service provides a Hybrid Connection Manager so that you can manage existing BizTalk Services hybrid connections and also new hybrid connections that you create in the portal.

Logic Apps は、EAI および EDI ブリッジ ベースの統合に代わるものであり、BizTalk Services のすべての機能とさらに多くの機能を備えています。Logic Apps replaces EAI and EDI bridge-based integration with all the same capabilities in BizTalk Services and more. このサービスは、ブラウザーまたは Visual Studio を使用して複雑な統合ソリューションを迅速かつ簡単に構築できる、クラウド規模の使用ベースのワークフローおよびオーケストレーション機能を提供します。This service provides cloud-scale consumption-based workflow and orchestration features for you to quickly and easily build complex integration solutions through a browser or with Visual Studio.

次の表では、BizTalk Services の機能を Logic Apps にマップしています。This table maps BizTalk Services capabilities to Logic Apps.

BizTalk ServicesBizTalk Services Logic AppsLogic Apps 目的Purpose
コネクタConnector コネクタConnector データを送受信するSend and receive data
ブリッジBridge ロジック アプリLogic App パイプライン プロセッサPipeline processor
検証段階Validate stage XML 検証アクションXML Validation action スキーマに対して XML ドキュメントを検証するValidate an XML document against a schema
強化段階Enrich stage データ トークンData Tokens プロパティをメッセージに、または決定をルーティングするために昇格させるPromote properties into messages or for routing decisions
変換段階Transform stage 変換アクションTransform action XML メッセージをある形式から別の形式に変換するConvert XML messages from one format to another
デコード段階Decode stage フラット ファイルのデコード アクションFlat File Decode action フラット ファイルから XML に変換するConvert from flat file to XML
エンコード段階Encode stage フラット ファイルのエンコード アクションFlat File Encode action XML からフラット ファイルに変換するConvert from XML to flat file
Message InspectorMessage Inspector Azure Functions または API AppsAzure Functions or API Apps 統合内のカスタム コードを実行するRun custom code in your integrations
ルート アクションRoute Action 条件またはスイッチCondition or Switch メッセージを指定されたコネクタのいずれかにルーティングするRoute messages to one of the specified connectors

BizTalk Services のアーティファクトBizTalk Services artifacts

BizTalk Services には、数種類のアーティファクトがあります。BizTalk Services has several kinds of artifacts.

ConnectorsConnectors

BizTalk Services のコネクタにより、HTTP ベースの要求/応答の対話を可能にする双方向ブリッジを含め、各ブリッジはデータを送受信できます。BizTalk Services connectors help bridges send and receive data, including two-way bridges that enable HTTP-based request/response interactions. Logic Apps でも同じ用語が使用されており、さまざまなテクノロジやサービスに接続することで同じ目的を果たす数百個のコネクタがあります。Logic Apps uses the same terminology and has hundreds of connectors that serve the same purpose by connecting to a wide range of technologies and services. たとえば、クラウド SaaS および PaaS サービス (OneDrive、Office365、Dynamics CRM など) 用のコネクタに加え、オンプレミス データ ゲートウェイ (BizTalk Services の BizTalk Adapter サービスに代わるもの) を介したオンプレミス システム用のコネクタも用意されています。For example, connectors are available for cloud SaaS and PaaS services, such as OneDrive, Office365, Dynamics CRM, and more, plus on-premises systems through the On-Premises Data Gateway, which replaces the BizTalk Adapter Service for BizTalk Services. BizTalk Services のソースは、FTP、SFTP、および Service Bus Queue または Topic サブスクリプションに制限されています。Sources in BizTalk Services are limited to FTP, SFTP, and Service Bus Queue or Topic subscription.

BizTalk Services のフローを示す図。

既定では、各ブリッジには、ブリッジの [Runtime Address](ランタイム アドレス) および [Relative Address](相対アドレス) プロパティで構成される HTTP エンドポイントがあります。By default, each bridge has an HTTP endpoint, which is configured with the Runtime Address and the Relative Address properties for the bridge. Logic Apps で同じ結果を得るには、要求および応答アクションを使用します。To achieve the same results with Logic Apps, use the Request and Response actions.

XML の処理とブリッジXML processing and bridges

BizTalk Services では、ブリッジは処理パイプラインに似ています。In BizTalk Services, a bridge is analogous to a processing pipeline. ブリッジはコネクタから受信したデータを取得し、そのデータで何らかの処理を実行して、結果を別のシステムに送信できます。A bridge can take data received from a connector, do some work with the data, and send the results to another system. Logic Apps では、BizTalk Services と同じパイプライン ベースの対話パターンをサポートし、他の統合パターンも提供することによって、同じ処理を実行します。Logic Apps does the same by supporting the same pipeline-based interaction patterns as BizTalk Services and also providing other integration patterns. BizTalk Services の XML 要求-応答ブリッジは、VETER パイプラインと呼ばれます。これは、次のタスクを実行する各段階で構成されます。The XML Request-Reply Bridge in BizTalk Services is known as a VETER pipeline, which consists of stages that perform these tasks:

  • (V) 検証(V) Validate
  • (E) 強化(E) Enrich
  • (T) 変換(T) Transform
  • (E) 強化(E) Enrich
  • (R) ルート(R) Route

次の図に示すように、処理は要求と応答に分かれており、たとえば、パスごとに異なるマップを使用して、要求と応答のパスを個別に制御できます。This image shows how processing is split between request and reply, which provides control over the request and the reply paths separately, for example, by using different maps for each path:

要求と応答の間で処理がどのように分割されるかを示すスクリーンショット。

また、XML 一方向ブリッジでは、処理の開始時と終了時にデコード段階とエンコード段階が追加されます。Also, an XML One-Way bridge adds Decode and Encode stages at the start and end of processing. パススルー ブリッジには、1 つの強化段階が含まれます。The Pass-Through bridge contains a single Enrich stage.

メッセージの処理、デコード、エンコードMessage processing, decoding, and encoding

BizTalk Services では、さまざまな種類の XML メッセージを受信し、受信したメッセージの一致するスキーマを特定できます。In BizTalk Services, you can receive different types of XML messages, and determine the matching schema for the message received. この処理は、受信処理パイプラインの "メッセージの種類" 段階で実行されます。This work is performed in the Message Types stage of the receive processing pipeline. 次に、デコード段階では、検出されたメッセージの種類を使用し、提供されたスキーマを使用してメッセージをデコードします。The Decode stage then uses the detected message type to decode the message using the provided schema. スキーマがフラット ファイル スキーマの場合は、この段階で受信フラット ファイルが XML に変換されます。If the schema is a flat file schema, this stage converts the incoming flat file to XML.

Logic Apps は、同様の機能を提供します。Logic Apps provides similar capabilities. さまざまなコネクタ トリガー (ファイル システム、FTP、HTTP など) を使用して、さまざまなプロトコル経由でフラット ファイルを受信し、フラット ファイルのデコード アクションを使用して受信データを XML に変換します。You receive a flat file over different protocols using the different connector triggers (File System, FTP, HTTP, and so on), and use the Flat File Decode action to convert the incoming data to XML. 何も変更せずに既存のフラット ファイル スキーマを Logic Apps に直接移動し、スキーマを統合アカウントにアップロードできます。You can move your existing flat file schemas directly to Logic Apps without any changes, and then upload schemas to your Integration Account.

検証Validation

受信データが XML に変換された後 (または受信されたメッセージ形式が XML であった場合)、そのメッセージが XSD スキーマに従っているかどうかを判定するために検証が実行されます。After the incoming data is converted to XML (or if XML was the message format received), validation runs to determine if the message adheres to your XSD schema. Logic Apps でこのタスクを実行するには、XML の検証アクションを使用します。To perform this task in Logic Apps, use the XML Validation action. 何も変更せずに、BizTalk Services の同じスキーマをご利用いただけます。You can use the same schemas from BizTalk Services without any changes.

メッセージを変換するTransform messages

BizTalk Services では、変換段階で XML ベースのあるメッセージ形式を別の形式に変換します。In BizTalk Services, the Transform stage converts one XML-based message format to another. この処理は、TRFM ベースのマッパーを使用して、マップを適用することによって実行されます。This work is done by applying a map, using the TRFM-based mapper. Logic Apps でのプロセスは同様です。In Logic Apps, the process is similar. 変換アクションでは、統合アカウントからマップを実行します。The Transform action executes a map from your Integration Account. 主な違いは、Logic Apps のマップが XSLT 形式であることです。The main difference is that maps in Logic Apps are in XSLT format. XSLT には、既に保有している既存の XSLT (Functoid を含む BizTalk Server 用に作成されたマップを含む) を再利用する機能が含まれています。XSLT includes the ability to reuse existing XSLT you already have, including maps created for BizTalk Server that contain functoids.

ルーティング ルールRouting rules

BizTalk Services は、どのエンドポイントまたはコネクタで受信メッセージやデータを送信するかというルーティングを決定します。BizTalk Services makes a routing decision on which endpoint or connector to send incoming messages or data. ルーティング フィルター オプションを使用することで、事前に構成されたエンドポイントの中から選択できます。The ability to select from pre-configured endpoints is possible using the routing filter option:

ルーティング フィルター オプションを示すスクリーンショット。

BizTalk Services では、オプションが 2 つしかない場合は、BizTalk Services でのルーティング フィルターの変換に最適な方法として、"条件" を使用します。In BizTalk Services, if there are only two options, using a condition is the best way for converting routing filters in BizTalk Services. 3 つ以上存在する場合は、スイッチ を使用します。If there are more than two, then use a switch.

Logic Apps は高度なロジック機能を備え、条件付きステートメントswitch ステートメントを使用した高度な制御フローおよびルーティングを提供します。Logic Apps provides sophisticated logic capabilities plus advanced control flow and routing with conditional statements and switch statements.

強化Enrich

BizTalk Services の処理では、強化段階で、受信したデータに関連付けられているメッセージ コンテキストにプロパティが追加されます。In BizTalk Services processing, the Enrich stage adds properties to the message context associated with the data received. たとえば、データベース検索を使用するか、または XPath 式を使用して値を抽出することによって、ルーティングに使用するプロパティを昇格させます。For example, promoting a property to use for routing from a database lookup, or by extracting a value using an XPath expression. 前のアクションからのすべてのコンテキスト データ出力へのアクセスを提供するため、同じ動作のレプリケーションが単純明快になります。Logic Apps provides access to all contextual data outputs from preceding actions, making it straightforward to replicate the same behavior. たとえば、Get Row SQL 接続アクションを使用して SQL Server データベースからのデータを返し、そのデータをルーティングのための決定アクションで使用します。For example, using the Get Row SQL connection action, you return data from a SQL Server database, and use the data in a Decision action for routing. 同様に、トリガーによってキューに入れられた受信 Service Bus メッセージに関するプロパティや、xpath ワークフロー定義言語式を使用した XPath をアドレス指定できます。Likewise, properties on incoming Service Bus queued messages by a trigger are addressable, as well as XPath using the xpath workflow definition language expression.

カスタム コードの実行Run custom code

BizTalk Services では、独自のアセンブリでアップロードされたカスタム コードを実行できます。BizTalk Services lets you run custom code that is uploaded in your own assemblies. この機能は、IMessageInspector インターフェイスによって実装されます。This functionality is implemented by the IMessageInspector interface. ブリッジの各段階には、このインターフェイスを実装する作成済みの .NET 型を提供する、2 つのプロパティ ([On Enter Inspector](開始時の Inspector) と [On Exit Inspector](終了時の Inspector)) が含まれています。Each stage in the bridge includes two properties (On Enter Inspector, and On Exit Inspector) that provide the .NET type you created that implements this interface. カスタム コードを使用すると、データに対してより複雑な処理を実行したり、一般的なビジネス ロジックを実行するアセンブリ内の既存のコードを再利用したりできます。Custom code lets you perform more complex processing on data and lets you reuse existing code in assemblies that perform common business logic.

Logic Apps には、カスタム コードを実行するための 2 つの主な方法が用意されています。Azure Functions と API Apps です。Logic Apps provides two primary ways to execute custom code: Azure Functions, and API Apps. Azure Functions は作成して、ロジック アプリから呼び出すことができます。Azure Functions can be created, and called from logic apps. Add and run custom code for logic apps through Azure Functions (Azure Functions を使用してロジック アプリのカスタム コードを追加して実行する)」を参照してください。See Add and run custom code for logic apps through Azure Functions. Azure App Service の一部である API Apps は、独自のトリガーやアクションを作成するために使用します。Use API Apps, part of Azure App Service, to create your own triggers and actions. Logic Apps で使用するカスタム API の作成の詳細については、こちらをご覧ください。Learn more about creating a custom API to use with Logic Apps.

BizTalk Services から呼び出すアセンブリにカスタム コードが含まれている場合は、実装内容に応じて、このコードを Azure Functions に移動することも、API Apps でカスタム API を作成することもできます。If you have custom code in assemblies that you call from BizTalk Services, you can either move this code to Azure Functions, or create custom APIs with API Apps, depending on what you're implementing. たとえば、Logic Apps にコネクタがない別のサービスをラップするコードがある場合は、API アプリを作成し、その API アプリが提供するアクションをロジック アプリ内で使用します。For example, if you have code that wraps another service for which Logic Apps doesn't have a connector, then create an API App, and use the actions your API app provides within your logic app. ヘルパ関数またはライブラリがある場合は、Azure Functions が最も適している可能性があります。If you have helper functions or libraries, then Azure Functions is likely the best fit.

EDI 処理と取引先管理EDI processing and trading partner management

BizTalk Services と Logic Apps には、AS2 (Applicability Statement 2)、X12、EDIFACT をサポートする EDI および B2B 処理が含まれています。BizTalk Services and Logic Apps include EDI and B2B processing with support for AS2 (Applicability Statement 2), X12, and EDIFACT. BizTalk Services では、EDI ブリッジを作成し、専用の追跡および管理ポータルで取引先や契約を作成または管理します。In BizTalk Services, your create EDI bridges and create or manage trading partners and agreements in the dedicated Tracking and Management portal. Logic Apps では、Enterprise Integration Pack (EIP) を通じてこの機能を入手します。In Logic Apps, you get this functionality through the Enterprise Integration Pack (EIP). EIP は、EDI および B2B 処理のための統合アカウントと B2B アクションを提供します。The EIP provides Integration Account and B2B actions for EDI and B2B processing. また、統合アカウントを使用して、取引先契約を作成および管理します。You also use an Integration Account to create and manage trading partners and agreements. 統合アカウントを作成したら、そのアカウントに 1 つ以上のロジック アプリをリンクできます。After you create an Integration Account, you can link one or more logic apps to the account. その後、B2B アクションを使用して、ロジック アプリから取引先情報にアクセスできます。You can then use B2B actions to access trading partner information from your logic app. 次のアクションが提供されています。The following actions are provided:

  • AS2 エンコードAS2 Encode
  • AS2 デコードAS2 Decode
  • X12 エンコードX12 Encode
  • X12 デコードX12 Decode
  • EDIFACT エンコードEDIFACT Encode
  • EDIFACT デコードEDIFACT Decode

BizTalk Services とは異なり、これらのアクションはトランスポート プロトコルから分離されています。Unlike BizTalk Services, these actions are decoupled from the transport protocols. そのため、ロジック アプリを作成するときに、データの送受信に使用するコネクタについて柔軟性が高まります。So when you create your logic apps, you have more flexibility in which connectors that you use to send and receive data. たとえば、電子メールの添付ファイルとして X12 ファイルを受信し、これらのファイルをロジック アプリで処理できます。For example, you can receive X12 files as attachments from email, and then process these files in a logic app.

管理および監視Manage and monitor

BizTalk Services では、専用ポータルに、問題の監視とトラブルシューティングのための追跡機能が用意されていました。In BizTalk Services, a dedicated portal provided tracking capabilities to monitor and troubleshoot issues. Logic Apps では、Azure portal 内のロジック アプリを監視するより豊富な追跡および監視機能が提供されます。これには、移動中に監視するためのモバイル アプリも含まれます。Logic Apps provides richer tracking and monitoring capabilities to monitor logic apps in the Azure portal, and includes a mobile app for keeping an eye on things when you're on the move.

高可用性High availability

BizTalk Services で高可用性 (HA) を実現するには、特定のリージョンで複数のインスタンスを使用して処理の負荷を分担します。For high availability (HA) in BizTalk Services, you can share the processing load by using more than one instance in a specific region. Logic Apps では、追加コストなしでリージョン内 HA を提供します。Logic Apps provides in-region HA at no additional cost.

BizTalk Services では、B2B 処理のためのリージョン外ディザスター リカバリーにはバックアップおよび復元プロセスが必要です。In BizTalk Services, out-of-region disaster recovery for B2B processing requires a backup and restore process. ビジネス継続性を実現するために、Logic Apps では、リージョン間アクティブ/パッシブ DR 機能を提供します。この機能により、さまざまなリージョンの統合アカウント間で B2B データの同期が可能になります。For business continuity, Logic Apps provides cross-region active/passive DR capability, which lets you synchronize B2B data across integration accounts in different regions.

次のステップNext steps