BizTalk Services에서 Azure Logic Apps 앱 및 솔루션 마이그레이션Migrate your apps and solutions from BizTalk Services to Azure Logic Apps

MABS(Microsoft Azure BizTalk Services)가 사용 중지됩니다.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는 다음 두 하위 서비스로 구성됩니다.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 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.

커넥터Connectors

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. 예를 들어 OneDrive, Office365, Dynamics CRM 등과 같은 클라우드 SaaS 및 PaaS 서비스에 사용할 수 있는 커넥터와 BizTalk Services용 BizTalk 어댑터 서비스를 대체하는 온-프레미스 데이터 게이트웨이를 통해 온-프레미스 시스템에 사용할 수 있는 커넥터가 있습니다.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 큐 또는 토픽 구독으로 제한됩니다.Sources in BizTalk Services are limited to FTP, SFTP, and Service Bus Queue or Topic subscription.

BizTalk Services 흐름을 보여 주는 다이어그램입니다.

기본적으로 각 브리지에는 브리지에 대한 런타임 주소 및 상대 주소 속성으로 구성되는 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. 통과 브리지는 단일 강화 단계를 포함합니다.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에는 펑토이드가 포함되고 BizTalk Server용으로 만든 맵을 비롯하여 기존 XSLT를 다시 사용할 수 있는 기능이 포함되어 있습니다.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에서 두 가지 옵션만 있는 경우 조건 을 사용하는 것이 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. 세 개 이상 있으면 스위치 를 사용합니다.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는 이전 작업의 모든 컨텍스트 데이터 출력에 대한 액세스를 제공하므로 동일한 동작을 복제하는 것이 쉽습니다.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. 마찬가지로 xpath 워크플로 정의 언어 표현식을 사용하여 XPath뿐만 아니라 트리거에 의해 들어오는 Service Bus 큐 메시지의 속성에 주소를 지정할 수 있습니다.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 형식을 제공하는 두 개의 속성(On Enter Inspector 및 On Exit 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는 사용자 지정 코드를 실행하는 두 가지 기본 방법인 Azure Functions 및 API Apps를 제공합니다.Logic Apps provides two primary ways to execute custom code: Azure Functions, and API Apps. Azure Functions는 Logic Apps에서 만들고 호출할 수 있습니다.Azure Functions can be created, and called from logic apps. Azure Functions를 통해 Logic Apps에 대한 사용자 지정 코드 추가 및 실행을 참조하세요.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 App을 만들고 API App이 논리 앱 내에서 제공하는 작업을 사용합니다.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에서는 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. 통합 계정이 만들어지면 하나 이상의 논리 앱을 계정에 연결할 수 있습니다.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는 서로 다른 지역의 통합 계정 간에 B2B 데이터를 동기화할 수 있게 하는 지역 간 활성/수동 DR 기능을 제공합니다.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