教程 4:使用 BizTalk Server 2013 创建混合应用程序

本部分提供有关如何创建涉及Microsoft Azure BizTalk 服务和BizTalk Server的混合应用程序的分步演练。

业务场景

Northwind 是一家接收合作伙伴(其中之一为 Contoso)销售订单(以平面文件 EDI 消息的形式)的企业。 Northwind 希望设置一个执行以下操作的端到端应用程序:

  • 管理 EDI 消息处理 - 应用程序的此模块必须验证从 Contoso 接收的消息是否符合标准 EDI 消息格式。 此模块还必须生成所有必需的确认以验证是否成功处理了消息。

  • 使用业务逻辑处理数据 – 成功验证和处理 EDI 消息后,Northwind 必须针对业务逻辑运行消息以进一步处理。 例如,如果所收到消息中的订单数量超出了给定数量,则将数据存储在 SQL Server 数据库中, 否则会将数据发送到共享文件位置。

    为了实现此方案,Northwind 决定设置一个混合应用程序,其中 EDI 消息处理在云中完成,业务逻辑驱动的数据处理则在本地完成。 为了设置此混合应用程序,Northwind 使用了以下项:

  • Microsoft Azure BizTalk 服务 – Microsoft Azure BizTalk 服务 提供的 Azure BizTalk 门户使客户能够在 Microsoft Azure 上配置贸易合作伙伴和 EDI 协议。 Northwind 使用 Microsoft Azure BizTalk 服务 - 2012 年 4 月版本来创建和部署协议,该协议处理传入的 EDI 消息,根据 X12 840 销售订单架构对其进行验证,将消息转换为 Northwind 所需的架构,然后将消息发送到服务总线队列。 因此,为了开发混合应用程序,应将数据从 Service Bus 队列发送到用户所在场所的应用程序。

  • BizTalk Server – BizTalk Server 随附的服务总线 (SB-Messaging) 的新适配器使应用程序能够将队列、主题等服务总线实体的消息接收到BizTalk Server。 作为BizTalk Server应用程序的一部分,Northwind 使用业务流程来确定收到的销售订单中请求的数量是否超过 100。 如果数量超过 100,则会将消息插入名为 SalesOrder 的SQL Server数据库表中。 如果该数量小于 100,则将消息发送到共享文件位置。

    为了将消息插入SQL Server数据库表中,Northwind 使用 Microsoft BizTalk Adapter for SQL Server作为 BizTalk 适配器包的一部分提供。

端到端消息流

以下说明了消息如何流经混合应用程序:

  1. Contoso 将一个 X12 销售订单消息发送至终结点,该终结点已在云中部署了 EDI 协议。

  2. 通过 EDI 协议成功处理该消息后,再将其发送到 Service Bus 队列。

  3. SB-Messaging 接收适配器使用来自服务总线队列的消息,并实例化BizTalk Server中部署的业务流程,以便根据订单数量将消息发送到不同的目标。

  4. 如果订购的数量大于 100,业务流程会将消息插入 SalesOrder 表。 如果订购数量小于或等于 100,则将消息写入到共享文件位置。

设置计算机

本教程要求你执行四大活动。 下表列出了各种活动以及每个活动的软件要求:

活动 所需软件
创建 EDI 协议所需的 EDI 项目 本教程是使用 Microsoft Azure BizTalk 服务 - 2012 年 4 月版本以及 X12 840 销售订单架构创建的。 可以从 下载 https://go.microsoft.com/fwlink/p/?LinkId=235057这些内容。
创建和部署 EDI 协议 由于 EDI 协议是部署到 Azure 上,因此,你仅需要一个 Web 浏览器(如 Internet Explorer)登录到 Azure BizTalk Portal 即可。
生成、部署和配置 BizTalk Server 应用程序 如果要在 Azure VM 上预配BizTalk Server计算机,请按照 中的https://msdn.microsoft.com/library/azure/jj248689.aspx说明进行操作。
向 EDI 协议终结点发送测试消息 可以使用随Microsoft Azure BizTalk 服务附带的示例包中提供的 MessageSender 工具。 可以从 下载示例包 https://go.microsoft.com/fwlink/p/?LinkId=235057

你可以选择在同一计算机上安装所有这些项目,也可以在不同计算机上进行安装。

本节内容