规划在 BizTalk Server 中发送和接收

BizTalk Server 处理的每个文档几乎都由BizTalk Server接收适配器接收,并使用BizTalk Server发送适配器从BizTalk Server发送。 由于BizTalk Server适配器在任何BizTalk Server环境中都非常突出,因此必须提前规划以确定将使用哪些适配器或加速器,以及如何正确配置这些适配器和/或加速器。

确定将使用哪些适配器和加速器

提前与贸易合作伙伴进行交流,以确定在组织与贸易伙伴之间以及 BizTalk 应用程序和内部业务应用程序之间发送和接收文档所需的适配器和加速器。 将BizTalk Server体系结构设计为足够灵活,以适应将来与其他贸易合作伙伴建立关系时添加其他适配器或加速器。

BizTalk 适配器支持的功能

本部分中的表列出了每个本机适配器的主要优势,以及适配器是否提供以下功能:

  • 事务支持 在分布式事务协调器上下文下发送和接收文档的功能 (DTC) 事务。 若要确保按序送达消息并且不会复制或丢失文档,则必须使用此功能。

    注意

    如果遇到 MSDTC 问题,请查看 MSDTC 问题疑难解答主题。

  • 请求/响应或请求/响应) (双向通信支持 发送文档和处理来自目标的响应消息或接收文档并将响应消息发送到源的功能。

  • 按序接收支持。 能够按接收文档的确切顺序将收到的文档发布到 MessageBox 数据库。

    注意

    某些适配器可以在接收位置级别强制实施有序文档传递,而其他适配器则不能。 对于在接收位置级别不支持有序文档传送的适配器,仍可在发送端口级别强制实施有序传递,但这样做可能会造成性能损失。 有关邮件的有序传递的详细信息,请参阅主题 按顺序传递邮件

  • SSO 已启用。 能够在通过适配器发送或接收文档时使用 SSO 验证。

适配器 主要权益 事务支持 Two-Way 通信支持 In-Order 接收支持 已启用 SSO
文件 易于使用
FTP 广泛用于企业到企业通信
HTTP(s) 广泛用于企业到企业通信 请求/响应和要求/响应
SOAP 支持使用 Web 服务 请求/响应和要求/响应
MSMQ 支持保证在BizTalk Server和 Microsoft 消息队列之间仅传递一次消息
MQ Series 支持保证在 BizTalk Server 与适用于 Windows 平台的 IBM WebSphere MQ 之间仅传递一次消息
SQL 支持BizTalk Server和SQL Server数据库之间的直接通信 仅要求/响应
Windows SharePoint Services 在 BizTalk Server 和 SharePoint 文档库之间实现 XML 和二进制消息的交换
POP3 支持通过电子邮件接收文档
SMTP 支持通过电子邮件发送文档
EDI 支持处理符合 EDI 标准的业务文档
自定义 支持旧系统 是,但需要自定义代码。 是,但需要自定义代码。 是,但需要自定义代码。 是,但需要自定义代码。
WCF-WSHttp 支持通过 HTTP 传输的 WS-* 标准 是,WsHTTP 支持事务(仅限 WS-Transactions) 请求/响应和要求/响应
WCF-BasicHttp 使用 HTTP 或 HTTPS 与符合 WS-I 基本配置文件 1.1 的基于 ASMX 的 Web 服务和客户端以及其他服务进行通信 请求/响应和要求/响应
WCF-NetTcp 支持基于 TCP 传输的 WS-* 标准 请求/响应和要求/响应
WCF-NetMsmq 通过将 Microsoft 消息队列 (MSMQ) 用作传输,支持排队
WCF-NetNamedPipe 为同一计算机上的跨进程通信提供快速传输, (仅适用于 WCF 应用) 请求/响应和要求/响应
WCF 自定义 允许使用 WCF 扩展性功能 是的。 是的。 是,只要绑定支持。 是的。
WCF-CustomIsolated 允许通过 HTTP 传输使用 WCF 扩展性功能 是的。 是的。 否。 是的。

业务线适配器

下面是 Microsoft 提供的业务线 (LOB) 适配器的列表。

注意

除了适用于 mySAP™ Business Suite 的 Microsoft BizTalk 适配器 v2.0 (适配器) 外,Windows Vista 不支持任何业务线适配器。

适配器 说明 支持的版本
SAP (也称为“适配器”) 允许在 BizTalk Server 和 SAP R/3® 系统之间交换中间文档 (IDOC) 、BAPI 和远程函数调用 (RFC) 消息。 SAP R/3 4.x 和 R/3 6.20 (Enterprise)
PeopleSoft Enterprise 用于在 BizTalk Server 和 PeopleSoft 系统间交换组件接口 (CI) 消息。 PeopleTools 版本 8.17.02、8.43、8.45、8.46 和 8.48
JD Edwards OneWorld XE 用于在 BizTalk Server 和 JD Edwards OneWorld 系统间交换业务功能消息。 B7.3.3.3 SP23 和 JDE 8.0 (B7.3.3.4)
JD Edwards EnterpriseOne 用于在 BizTalk Server 和 JD Edwards EnterpriseOne 系统间交换业务功能消息。 8.10 & 8.11 工具版本 8.93、8.94、8.95 和 8.96
ODBC Adapter for Oracle Database 用于从 Oracle Server 数据库读取信息和将信息写入该数据库。 Oracle 8i (8.1.6.0) 、9i (9.2.0.1) 或 10g
Siebel eBusiness Applications 用于在 BizTalk Server 和 Siebel eBusiness Application 间交换业务组件和业务服务消息。 7.0、7.5.*、7.7.*和 7.8.*
TIBCO Rendezvous 用于在 BizTalk Server 和 TIBCO Rendezvous 间交换 XML 和二进制数据格式消息。 7.3
TIBCO Enterprise Message Service 用于在 BizTalk Server 和 TIBCO EMS 服务器间交换 XML 和二进制数据格式消息,可提供一个高度整合的可靠的应用程序基础结构。 4.2
WebSphere MQ 用于在 BizTalk Server 和 IBM WebSphere MQ 间交换消息。 5.3 包含修补程序包 10 或更高版本,以及 6.0 与 1.1 或更高版本的修补程序包 1.1 或更高版本

有关 BizTalk Server 提供的 LOB 适配器的详细信息,请参阅以下资源:

BizTalk 适配器包

Microsoft BizTalk 适配器包包含基于 WCF 的适配器,用于提供与 LOB 应用程序(如 Oracle 数据库、Oracle 电子商务套件、SAP、Siebel 和 SQL Server)的连接。 有关详细信息以及 BizTalk 适配器包可用的适配器列表,请参阅以下资源:

重要

若要将用于 LOB 适配器的 BizTalk 项目迁移到 BizTalk 适配器包提供的基于 WCF 的 LOB 适配器的 BizTalk 项目,可以使用 BizTalk 适配器包迁移工具。

若要下载 BizTalk 适配器包迁移工具,请转到 Azure 集成迁移或 BizTalk 的 GitHub 存储库。 有关将 LOB 适配器迁移到 BizTalk 适配器包随附的基于 WCF 的 LOB 适配器的详细信息,请参阅 Microsoft BizTalk 适配器 2.0 迁移白皮书

BizTalk 加速器

虽然 BizTalk 适配器适用于使用特定协议发送和接收文档,但 BizTalk 加速器旨在根据特定的行业标准来容纳文档交换。 有关可用 BizTalk 加速器的列表,请参阅 Microsoft BizTalk Server 加速器

向 Internet 公开传输时配置域

为了便于组织和外部贸易合作伙伴之间发送和接收文档,可能需要在可从 Internet 访问的面向公众的站点上公开传输。 在这些情况下,建议使用以下域配置:

  • 使用外围网络域( (也称为外围网络 (外围网络) 或屏蔽子网) )来容纳服务器,为组织提供与 Internet 相关的服务

    外围网络域应包含服务器,这些服务器容纳面向 Internet 的传输在运行 BizTalk Server 的计算机与贸易合作伙伴之间路由文档的物理位置。 外围网络防火墙应仅打开允许与面向 Internet 的传输进行通信所需的端口。 外围网络域中不应有运行BizTalk Server、BizTalk Server接收位置或企业单一 Sign-On 服务器计算机的计算机。 应使用 Internet 安全和加速服务器 (ISA) 服务器 Web 发布和服务器发布将文档从面向 Internet 的防火墙路由到保护处理域的防火墙。

    注意

    作为额外的安全措施,请考虑将公钥基础结构 (PKI) 数字证书用于文档加密和解密、文档签名和验证 (不可否认性) 通过此域中面向 Internet 的传输发送到贸易合作伙伴或从贸易合作伙伴接收的文档。

    以下传输通常用于可从 Internet 访问的外围网络域:

    • FTP - 使用 FTP 协议接收文档

    • SMTP - 使用 SMTP 协议发送文档

    • HTTP - 使用 HTTP 协议接收文档

    • SOAP - 使用 SOAP 接收文档

    • POP3 - 使用 POP3 协议接收文档

  • 使用处理域来容纳包含BizTalk Server接收和发送处理程序的服务器以及 BAM 门户服务器

    外围域中面向外部的传输与处理域中的 BizTalk 适配器之间的文档流应通过这些域之间的防火墙进行路由。 处理域应容纳用于接收、路由和发送消息的BizTalk Server端口、接收位置、管道、映射、架构和程序集。 处理域还应包含 BAM 门户的服务器。 在处理域中运行BizTalk Server的计算机数取决于满足组织性能需求所需的主机和主机实例数。

    重要

    确保在处理域中创建足够的独立主机实例,以适应外围域中的 HTTP 和 SOAP 传输以及处理域中的 HTTP 和 SOAP 适配器之间流动的流量。 如果组织与贸易合作伙伴之间的文档流量很大一部分通过 HTTP 和 SOAP 传输,则处理域中必须有足够的处理带宽来处理文档流。

  • 使用其他域为环境提供进一步的隔离和安全层

    这些域应包括:

    • 一个服务域,它受处理域信任,并且是成功处理消息所需的。 服务域中的服务器通常运行 BizTalk 业务流程、管道、企业单一 Sign-On (SSO) 服务、业务规则引擎,可能包括其他业务流程。

    • 运行SQL Server BizTalk Server使用的计算机的数据域。

    • 服务器和台式计算机的公司域,用于向组织中的信息工作者提供服务。

      有关建议用于各种BizTalk Server体系结构的域拓扑的详细信息,请参阅示例BizTalk Server体系结构

高可用性注意事项

通过在 BizTalk 组中的多个 BizTalk 服务器上运行适配器处理程序主机实例,可为大多数适配器提供高可用性。 这样,如果一个适配器处理程序主机实例失败,另一个适配器处理程序主机实例可供继续处理。 但是,这样做有一些例外情况。 在某些情况下,运行多个适配器处理程序主机实例可能会导致争用问题。 例如,在运行 POP3 和 FTP 适配器的多个实例时,可能会出现争用问题。 在这些情况下,可以通过在群集 BizTalk 主机中运行适配器处理程序主机实例来为适配器提供高可用性。

有关通过主机聚类分析为适配器处理程序主机实例提供高可用性的详细信息,请参阅在群集主机中运行适配器处理程序的注意事项。 有关为 BizTalk 主机提供高可用性的详细信息,请参阅 BizTalk 主机的高可用性

性能注意事项

SOAP 适配器性能注意事项

有关优化 SOAP 适配器性能的信息,请参阅 影响适配器性能的配置参数

MQSeries 适配器性能注意事项

如果 MQSeries 适配器接收位置不需要,则禁用事务支持和有序传递 当 MQSeries 适配器接收位置配置为“ 事务支持 ”选项设置为 “是”,或 将“有序” 选项设置为“ 订单并停止”时,接收位置选取的每条消息都将在 Microsoft 分布式事务协调器 (MSDTC) 事务的上下文中处理。 由于在 MSDTC 事务的上下文中处理消息时会产生额外的开销,因此,如果 MQSeries 适配器接收位置不需要有序传递或事务支持,则不应启用这些选项。

规划有序消息传递

有序消息传递可确保按给定顺序发布到 MessageBox 数据库的消息以相同的顺序传递到每个匹配的订阅服务器。 实现消息的有序传递时,以下注意事项适用:

配置按序消息送达

可以在以下位置配置按序消息送达:

  • 业务流程中的 接收 形状

  • 某些适配器的接收位置

  • 发送端口

    使用现有传输实现按序送达

    某些传输的基础协议(例如,FILE 和 HTTP)与按序送达的概念不一致。 但是,即使对于此类传输,如果将绑定到传输的端口标记为按序送达,BizTalk Server 也会通过确保在当前消息成功发送之后再获取下一个出站消息来强制实现按序送达。 为此,BizTalk Server将每条消息分批传递到传输的适配器,并等待适配器从 MessageBox 数据库成功删除消息,然后再将另一批消息传送到适配器。

    自定义适配器的按序送达

    若要使自定义接收适配器在将消息提交到BizTalk Server时保留消息的顺序,必须使用以下功能开发该适配器:

  • 提交一批消息后,自定义接收适配器应等待BizTalk Server的 BatchComplete 回调,然后再提交下一批。 有关详细信息,请参阅 Batch-Supported 接收适配器的接口

  • 如果管道中的消息失败,应将其挂起,最好是不可恢复。 使用 BTS。BizTalk Server中的 SuspendAsNonResumable 消息上下文属性来相应地标记消息。

    注意

    如果随后恢复了挂起的消息,则可能会打乱消息顺序。 如果不希望出现此行为,请将失败的消息挂起为不可恢复。

    端到端按序消息处理的条件

    为提供端对端的按序送达功能,必须满足以下条件:

  • 接收消息的适配器必须保持消息提交给 BizTalk Server 时的顺序。 在 BizTalk Server 中,此类适配器的示例包括 MSMQ 和 MQSeries。 此外,HTTP 或 SOAP 适配器也可以用来按序提交消息,但在该情况下,HTTP 或 SOAP 客户端需要通过每次提交一条消息来强制实现顺序提交。

  • 必须使用已 将“有序传递 ”选项设置为 True 的发送端口订阅这些消息。

  • 如果使用业务流程处理消息,则只应使用业务流程的单个实例,应将业务流程配置为使用顺序护送,并且业务流程的接收端口的 “有序传递 ”属性应设置为 True

另请参阅

为 BizTalk Server 规划环境