教程 1:企业应用程序集成
Microsoft BizTalk Server 为应用程序集成和业务流程管理提供了一个开发和运行时环境, (BPM) 。 本教程介绍使用 BizTalk Server 设置和部署企业应用程序集成 (EAI) 解决方案的端到端练习。
业务场景
Contoso 是销售计算机硬件和软件的在线商店。 该公司最近购买了一个企业资源规划 (ERP) 系统来管理其资源。 在本教程中,你将使用 BizTalk Server 开发企业应用程序集成 (EAI) 解决方案,将现有仓库系统集成到 ERP 系统,并自动执行仓库请求过程。
此集成解决方案面临以下几个挑战:
消息传输。 仓库系统和 ERP 系统可以驻留在两个不同的平台上,并使用不同的运输协议来发送和接收消息。 此解决方案必须能够使用发送系统支持的协议接收消息,并使用接收系统支持的协议转发消息。 BizTalk Server使用适配器传输消息。 BizTalk Server 安装和 BizTalk 适配器包附带了许多本机适配器。 如需其他适配器,您可以从供应商处购买,也可以使用 BizTalk Server 提供的适配器框架自己开发。 有关适配器的详细信息,请参阅 BizTalk Server 中的适配器。
消息转换。 存在多种消息类型,如可扩展标记语言 (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 系统都会监视指定的文件夹以获取消息。)