BizTalk ESB 工具包体系结构

Microsoft BizTalk ESB 工具包由一系列互操作组件组成,这些组件支持并实现松散耦合的消息传送环境,以便更轻松地构建基于消息的企业应用程序。 服务和组件自然分为以下七类:

  • Web 服务。 它们公开了内部服务,例如行程处理、异常管理、终结点和映射解析、BizTalk Server操作、通用说明、发现和集成 (UDDI) 互操作以及消息内容的转换。

  • 行程服务。 其中包括用于执行转换和消息路由的基于业务流程的服务和基于消息传送的服务。 可以创建参与行程处理的自定义服务。 其中包括用于执行转换和消息路由的基于业务流程的服务和基于消息传送的服务。 可以创建参与行程处理的自定义服务。

  • 路线在坡道上。 这些接收外部消息,附加每条消息的适当行程,并执行行程处理;它们使用 Microsoft BizTalk ESB 工具包解析程序和适配器提供程序框架来动态解析终结点和元数据。

  • 坡道上。 与路线坡道不同,它们以一系列格式和传输方式接收外部消息,例如 HTTP、Java 消息服务 (JMS) 、IBM WebSphere MQ (WMQ) 、文件传输协议 (FTP) 、平面文件和 XML。 它们是典型的BizTalk Server接收位置,可以选择使用 Microsoft BizTalk ESB 工具包互操作管道组件和 Microsoft BizTalk ESB 工具包解析程序和适配器提供程序框架来动态解析终结点和元数据。

  • 坡道外。 这些实现使用 WCF、JMS、WMQ、FTP、HTTP、平面文件、XML 或任何其他自定义格式等格式和传输来传递消息的发送端口。 它们是直接绑定到 Message Box 的典型BizTalk Server动态发送端口,并可选择使用 Microsoft BizTalk ESB 工具包互操作管道组件和 Microsoft BizTalk ESB 工具包解析程序和适配器提供程序框架来动态解析终结点和元数据。

  • 异常管理框架。 这包括异常 Web 服务、异常管理 API 以及用于扩充、处理异常详细信息并将异常详细信息传递给 ESB 管理门户的组件。

  • ESB 管理门户。 此示例应用程序提供注册表预配、异常中介、警报通知和分析。

    其中许多组件和服务依赖于BizTalk Server实现的功能,例如业务流程、转换和业务规则引擎以及 Message Box 数据库。 图 1 显示了类别、每个类别中通常出现的组件和服务以及 Microsoft BizTalk ESB 工具包使用的核心BizTalk Server系统组件示意图。

    ESB 体系结构

    图 1

    Microsoft BizTalk ESB 工具包的体系结构和组件

BizTalk ESB 工具包的工作原理

Microsoft BizTalk ESB 工具包接受入站消息并对其进行操作,可能 (但并不总是通过执行转换、路由或任何其他自定义定义进程等过程来) 。 若要指定所需的操作,核心处理组件要求每条消息都有一个路由名单,其中包含相关指令或元数据,这些指令或元数据定义要应用的过程以及要与消息内容一起执行的任务。 这些路由单称为路线,可以自动解析、从中央存储库检索,并在斜坡上接收消息时附加到消息。

这种路由滑动方法在服务之间提供松散耦合,这意味着 ESB 不需要事先了解每个消息的特定处理。 它只需要知道可能的进程范围以及如何应用每个进程。 用于指定可用进程及进程与消息中说明间映射的选项众多,它们提供了一个配置和调整行为的灵活机制,不需要更改代码和重新部署组件。

设计模式

ESB 使用的体系结构,其中进程将消息放入 Message Box 数据库中,订阅者根据消息中的处理指令选取消息,从而有效地实现了状态机设计模式。 此外,ESB 以面向服务的方式实现并公开其核心功能,包括通过一组核心 Web 服务向外部应用程序公开。

这种松散耦合的方法设计BizTalk Server和基于 Microsoft BizTalk ESB 工具包的应用程序会产生高度灵活的解决方案,并已成为行业公认的最佳做法。