# 一、什么是 BizTalk 服务器？

以一种非常简单的方式，BizTalk 服务器可以被视为消息路由器或代理。例如，当外部系统发送电子数据交换(EDI)消息时，BizTalk 将能够轻松读取该消息，并将其转换为目标系统期望的消息类型。

为了与现实世界的场景进行类比，您可以将 BizTalk 视为交换商品的物流平台。原材料进入公司，进行储存、加工、转化，然后发送给客户。同样，电子消息被接收、验证、存储、处理并发送到其他系统。

BizTalk 包括消息传递基础架构、脱水和再水合功能、超过 25 个多平台适配器、规则引擎(BRE)、获取关键业务流程性能信息的能力、调试、持久性以及处理和错误恢复事务。BizTalk Server 是主要的 Microsoft 集成平台，非常适合与企业应用程序集成(EAI)、企业对企业(B2B)集成和业务流程管理(BPM)解决方案一起使用。

BizTalk 是一种集成解决方案，需要大量投资，而中小型企业可能负担不起。然而，当你的公司开始存钱时，这是值得的。微软在这方面有一个很好的案例研究:通过使用这个集成平台，AMC 娱乐现在每年节省 260 多万美元，并且它在大约六个月内收回了对该解决方案的投资，获得了 200%的年度投资回报。这个案例研究向您展示了这种面向过程的技术如何帮助您省钱。AMC 通过减少对供应商的付款来证明其成本，因为它使用该解决方案通过批发和折扣率的 15.3 万件在线目录购买供应品，而不是继续从当地供应商处独立购买供应品。我建议你阅读[整个案例研究](http://www.microsoft.com/casestudies/Microsoft-Biztalk-Server-Enterprise-2010/AMC-Entertainment/Movie-Theatre-Chain-Projects-17-Million-Revenue-Gain-from-Information-Integration/710000001643)。

## BizTalk 服务器架构

BizTalk 服务器运行时建立在发布-订阅体系结构上，在该体系结构中，消息被发布到系统中，然后被一个或多个活动订阅者接收。所有消息都由 BizTalk 通过称为接收端口的物理端口接收。接收端口是一个或多个接收位置的逻辑容器。接收位置是您指定要使用的传输的详细信息、接收消息的确切地址以及该传输类型的任何其他特定属性的位置，如图 1 所示:

![](img/image001.png)

图 1: BizTalk 服务器消息传递体系结构

您应该了解 BizTalk 服务器体系结构背后的两个核心概念:

1.  消息框数据库
2.  单点登录机制

消息框是 BizTalk 服务器中发布-订阅引擎的核心。它由两个组件组成:一个 SQL 数据库和一个消息代理。SQL 数据库用于保存应用程序周围的所有元数据和数据，如消息、消息属性、订阅、编排状态、跟踪数据和用于路由的主机队列。消息代理在消息框数据库上提供了一个抽象层。它使用。NET COM 互操作来公开一组 API，BizTalk Core 引擎可以使用这些 API 与消息框数据库进行通信(发布消息、订阅消息、检索消息等)。

单点登录是一种机制，它提供了一种将 Windows 用户 ID 映射到非 Windows 用户凭据的方法；这简化了 BizTalk 访问与其连接的不同系统的方式，以及这些不同系统如何连接到 BizTalk Server。

## 这本书是给谁的？

这本书主要是为 BizTalk 开发人员而写的。NET 开发人员，以及所有对系统集成充满热情的人。虽然集成和 BPM 顾问主要使用 BizTalk，但我想展示一下。NET 开发人员，他们如何使用这个平台作为他们职业生涯的另一个选择。