消息路由模式

消息路由模式定义了将消息路由到其目标终结点 () 的成熟准则。 路由可以是静态配置的结果,也可以根据多个条件并使用多种方法动态配置路由。

消息路由器

消息路由器模式根据一组条件确定消息的接收方。 有关此模式的详细说明,请参阅企业集成模式站点上的 消息路由器 (https://go.microsoft.com/fwlink/?LinkId=186844) 。

行程Designer中此模式的实现是 Microsoft BizTalk ESB 工具包路线路由服务和单个基于内容的冲突解决程序的组合。 路线路由服务负责提升 Microsoft BizTalk 消息上下文中的消息路由属性或消息的显式路由。

可以选择 Microsoft BizTalk ESB 工具包提供的路线路由服务,如下所示:

  • 使用路线Designer定义要在 BizTalk 管道中执行的消息传送扩展器的路线路由服务。

  • 使用通过 BizTalk 发送端口执行路由的路线Designer定义具有业务流程扩展程序作为业务流程执行的路线路由服务。

    与路线路由服务关联的解析程序根据邮件内容确定邮件的收件人。 可以从支持 Microsoft BizTalk ESB 工具包提供的基于内容的路由的解析程序中进行选择,也可以实现自己的解析程序。

    有关在 Microsoft BizTalk ESB 工具包中实现此模式的示例,请参阅以下资源:

  • 如何:使用 UDDI 绑定密钥搜索解析服务终结点

  • 如何:使用 UDDI 类别搜索解析服务终结点

基于内容的路由器

基于内容的路由器模式根据消息内容确定消息的收件人。 有关此模式的详细说明,请参阅企业集成模式站点上的 基于内容的路由器 (https://go.microsoft.com/fwlink/?LinkId=186839) 。

在行程Designer中实现此模式是 Microsoft BizTalk ESB 工具包路线路由服务和单个基于内容的解析程序的组合。 路线路由服务负责提升 BizTalk 消息上下文中的消息路由属性或显式路由消息。

可以选择 Microsoft BizTalk ESB 工具包提供的路线路由服务,如下所示:

  • 使用路线Designer定义要在 BizTalk 管道中执行的消息传送扩展器的路线路由服务。

  • 使用路线Designer(使用 BizTalk 发送端口执行路由)定义具有业务流程扩展程序作为业务流程执行的路线路由服务。

  • 使用路线Designer定义要在 BizTalk 管道中执行的中转站消息传送扩展器的路线代理服务。

    与路线路由服务关联的解析程序根据邮件内容确定邮件的收件人。 可以从以下支持 Microsoft BizTalk ESB 工具包提供的基于内容的路由的解析程序中进行选择:

  • XPATH 解析程序。 使用此解析程序,可以使用 XPATH 查询来路由消息内容。

  • BRE 冲突解决程序。 使用此解析程序,可以使用 BizTalk 规则引擎从消息内容中检索路由信息。

  • 消息上下文解析程序。 使用此解析程序,可以在与 Microsoft BizTalk ESB 工具包路线代理服务关联时,从 BizTalk 消息上下文中检索消息的内容。

    注意

    除了上述实现方案外,还可以开发基于内容的自定义冲突解决者和路线路由解决方案,作为基于消息传送或基于业务流程的服务。 在这种情况下,可能需要为 Microsoft BizTalk ESB 工具包解析器和行程服务实现扩展程序,以便与行程Designer互操作。

    有关此实现的示例,请参阅以下资源:

  • 安装和运行路线接入点示例

  • 如何:使用已知消息类型的业务规则策略实现基于内容的路由

  • 如何:使用业务规则策略动态路由基于消息上下文的消息

路由名单

路由名单模式描述了必须按照预定义的顺序通过一系列组件路由消息的方案,这些组件在设计时可能未知。 有关此模式的详细说明,请参阅企业集成模式站点上的 路由名单 (https://go.microsoft.com/fwlink/?LinkId=186840) 。

此模式的实现由 Microsoft BizTalk ESB 工具包提供;其实现取决于提交消息以进行基于路线的处理的客户端应用程序的类型:

  • 服务代理。 使用此类型的应用程序,使用路线选择器管道组件配置 Microsoft BizTalk ESB 工具包 on-ramp,并关联路线解析程序以选择适当的 Microsoft BizTalk ESB 工具包路线。 行程属性可以使用 ITINERARY 解析程序配置为静态属性,也可以使用 BizTalk 规则引擎和 BRI 解析程序将其配置为动态属性。

  • 高级客户端。 使用此类型的应用程序,使用路线选择器管道组件和 ITINERARY-STATIC 冲突解决程序配置 Microsoft BizTalk ESB 工具包。 客户端应用程序发送包含行程引用标头的消息,其中包含行程名称、版本和跟踪标识符。

  • 自适应客户端。 对于这种类型的应用程序,客户端应用程序调用解析程序服务,而解析程序服务又通过将客户端状态作为请求消息传递来标识路线引用。 如果行程已解决,客户端应用程序将按照上述高级客户端方案中的相同方式提交包含行程引用的消息。

    有关实现此模式的详细信息,请参阅以下资源:

  • 如何:使用业务规则策略选择路线

  • 如何:转换消息并使用路线传送名单将生成的消息路由至文件位置

    注意

    除了上述方案外,还可以开发自定义行程解析程序以及路线路线路由服务。 可以考虑为自定义行程服务创建设计器扩展器,以便在行程Designer中使用。

Scatter-Gather

Scatter-Gather 模式允许向多个收件人发送消息并聚合其响应;这会导致一条消息。 有关此模式的详细说明,请参阅 Enterprise Integration Patterns 网站上的 Scatter-Gather (https://go.microsoft.com/fwlink/?LinkId=186841) 。

有关实现此模式的示例,请参阅 安装和运行 Scatter-Gather 示例 示例。

收件人列表

收件人列表模式解决了将邮件路由到一个或多个收件人的方案解决方案。 收件人列表可以静态定义 (这意味着它具有固定) 或动态收件人列表。 有关此模式的详细说明,请参阅企业集成模式网站上的 收件人列表 (https://go.microsoft.com/fwlink/?LinkId=186842) 。

行程Designer中此模式的实现是 Microsoft BizTalk ESB 工具包路线路由服务和多个解析程序的组合。 路线路由服务负责克隆消息,然后使用其 BizTalk 消息上下文属性显式路由消息。

可以选择 Microsoft BizTalk ESB 工具包提供的路线路由服务,如下所示:

  • 使用路线Designer定义要在 BizTalk 管道中执行的消息传送扩展程序路线路由服务。

  • 使用路线Designer(使用 BizTalk 发送端口执行路由)定义具有消息传送扩展器以业务流程方式执行的路线路由服务。

    与路线路由服务关联的解析程序根据邮件内容确定邮件的收件人。 可以选择 Microsoft BizTalk ESB 工具包提供的一组解析程序来实现此方案。 有关实现此模式的详细信息,请参阅以下资源:

  • 如何:使用路线传送名单将单条消息路由至多个收件人

Splitter

拆分器模式解决了需要将单个消息拆分为多个消息时的问题。 有关此模式的详细说明,请参阅企业集成模式站点上的 拆分器https://go.microsoft.com/fwlink/?LinkId=186843 () 。 有关实现此模式的详细信息,请参阅以下资源: