Microsoft BizTalk Server 为应用程序集成和业务流程管理(BPM)提供了开发和运行时环境。 本教程介绍使用 BizTalk Server 设置和部署企业应用程序集成(EAI)解决方案的端到端练习。
业务方案
Contoso 是销售计算机硬件和软件的在线商店。 该公司最近购买了一个企业资源规划(ERP)系统来管理其资源。 在本教程中,你将使用 BizTalk Server 开发企业应用程序集成(EAI)解决方案,将现有仓库系统集成到 ERP 系统,并自动执行仓库请求过程。
此集成解决方案存在一些挑战:
消息传输。 仓库系统和 ERP 系统可以驻留在两个不同的平台上,并使用不同的运输协议发送和接收消息。 此解决方案必须能够使用发送系统支持的协议接收消息,并使用接收系统支持的协议转发消息。 BizTalk Server 使用 适配器 传输消息。 BizTalk Server 安装和 BizTalk 适配器包附带有许多原生适配器。 对于其他适配器,可以从供应商购买,也可以使用 BizTalk Server 提供的适配器框架自行开发。 有关适配器的详细信息,请参阅 BizTalk Server 中的适配器。
消息转换。 有许多消息类型,例如 eXtended 标记语言(XML)、电子数据交换(EDI)、带分隔符的文件等。 BizTalk Server 以 XML 为中心。 在大多数情况下,首先将入站消息转换为 XML。 此过程称为 分析。 在出站端,可以将消息从 XML 转换为其他类型的消息。 此过程称为 序列化。
业务流程管理。 大多数 EAI 方案不仅仅是将消息从一个系统转发到另一个系统。 它们通常涉及更多系统和复杂的工作流。 在此方案中,仓库发送请求库存补货的消息;解决方案收到消息,然后检查请求的总和。 如果总计超过一定数量,则解决方案会自动拒绝请求并发送拒绝消息;否则,解决方案会将请求转发到 ERP 系统。
下图演示了业务流程:
在本教程中,你将使用 BizTalk Server 开发工具设计和部署业务流程。
准备工作
在创建 BizTalk Server 集成解决方案之前,必须收集一些基本信息:
BizTalk Server 解决方案需要集成多少个应用程序/系统? 在此方案中,有两个系统:ERP 和仓库。
每个应用程序支持哪些运输协议? 为了简化解决方案,我们假设两个应用程序都使用文件。 仓库系统将请求作为一个文件放入文件夹中。 BizTalk Server 解决方案从文件夹中选取文件,处理该文件,然后将请求删除给 ERP 系统监视的另一个文件夹。
应用程序使用哪些消息类型? 为了简化解决方案,我们假设这两个应用程序都使用 XML 类型。 BizTalk 架构是定义 BizTalk 消息中 XML 数据结构的文档,其用途是创建用于处理和验证 XML 消息的模板。 BizTalk Server 附带用于创建 BizTalk 架构的 BizTalk 编辑器。
什么是业务流程? 此前在此标题中已对此过程进行了说明。
BizTalk Server 体系结构
了解 BizTalk Server 如何运行解决方案非常有用。 下图显示了通过 BizTalk Server 的数据流。
(仓库系统将请求放入文件夹中。)
BizTalk Server 接收位置配置了文件适配器和 XML 传输管道。 文件适配器定期从文件夹轮询文件。 收到消息后,BizTalk Server 消息引擎会通过管道推送消息。 由于请求消息采用 XML 格式,因此在这种情况下使用 XML 传输管道。 XML 传输管道可确保消息是格式正确的 XML 文件。 然后将消息保存到 MessageBox 数据库。
当业务流程引擎注意到消息已准备好由业务流程处理时,它会实例化业务流程的实例。 根据消息内容的总计,业务流程编排引擎会将请求消息或请求拒绝消息保存到 MessageBox 数据库。
同样,根据请求消息或请求拒绝消息,消息传送引擎使用任一发送端口来处理消息。 消息引擎首先通过 XML 传输管道推送消息,然后使用文件适配器根据发送端口配置将消息发送到不同的文件夹。
仓库系统和 ERP 系统都监视指定的文件夹,以获取消息。