适用于 mySAP Business Suite 的 BizTalk 适配器的体系结构概述

适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器实现 Windows Communication Foundation (WCF) 自定义绑定,该绑定包含单个自定义传输绑定元素,该元素可实现与 SAP 系统的通信。 SAP 适配器由 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 运行时包装,并通过 WCF 通道体系结构向应用程序公开。 SAP 适配器通过 SAP Unicode RFC SDK 的 64 位或 32 位版本(librfc32u.dll)与 SAP 系统通信。

下图显示了使用 SAP 适配器开发的解决方案的端到端体系结构。

SAP 端到端体系结构

使用适配器

SAP 适配器将 SAP 系统作为 WCF 服务公开给客户端应用程序。 客户端应用程序通过 WCF 通道与 SAP 适配器交换 SOAP 消息,以执行作并访问 SAP 系统上的数据。 上图显示了可以使用 SAP 适配器的四种方式。

  • 通过一个 WCF 通道应用程序,利用 WCF 通道模型直接与 SAP 适配器交换 SOAP 消息,从而对 SAP 系统执行操作。 有关使用 WCF 通道模型编程开发 SAP 适配器解决方案的详细信息,请参阅 使用 WCF 通道模型开发应用程序

  • 通过 WCF 服务模型应用程序,在 WCF 客户端上调用方法以对 SAP 系统执行操作。 WCF 客户端将 SAP 适配器公开的操作建模为 .NET 方法。 可以使用 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 或 svcutil.exe 工具从 SAP 适配器公开的元数据创建 WCF 客户端类。 有关 WCF 服务模型编程和 SAP 适配器的详细信息,请参阅 使用 WCF 服务模型开发应用程序

  • 通过配置为使用 BizTalk WCF-Custom 适配器的 BizTalk 端口,并将 SAP 绑定配置为 BizTalk Server 应用程序中 WCF-Custom 传输类型的绑定。 BizTalk WCF-Custom 适配器支持 BizTalk Server 应用程序和 WCF 服务之间的通信。 BizTalk WCF-Custom 适配器通过其 WCF-Custom 传输类型支持自定义 WCF 绑定,这使你可以将公开给配置系统的任何 WCF 绑定配置为 BizTalk WCF-Custom 适配器使用的绑定。 有关如何在 BizTalk Server 解决方案中使用 SAP 适配器的详细信息,请参阅 开发 BizTalk 应用程序。 BizTalk 层化通道绑定元素支持 BizTalk 事务,可以通过在 SAP 绑定上设置绑定属性来加载该组件。

  • 通过 IIS 托管的 Web 服务。 在此方案中,SAP 适配器通过 WCF 服务代理公开,该代理通过使用其中一个标准 WCF HTTP 绑定托管在 IIS 中。

  • 通过 mySAP Business Suite 的 .NET Framework 数据提供程序。 适用于 SAP 的数据提供程序在 SAP 适配器上运行,并为 SAP 系统提供 ADO.NET 接口。

    SAP 适配器和 SAP RFC 库始终与使用适配器的应用程序或服务一起托管在进程内。

SAP 适配器和 WCF

WCF 提供了一种基于在客户端与服务之间通道上交换 SOAP 消息的编程模型。 这些消息在通信客户端和服务公开的终结点之间发送。

终结点由一个 终结点地址 组成,该地址指定接收消息的位置、一个指定用于交换消息的通信协议的 绑定 ,以及一个 协定 ,用于指定终结点公开的作和数据类型。 绑定由一个或多个绑定元素组成,这些元素相互堆叠,用于定义如何与终结点交换消息。

绑定必须至少指定用于与终结点交换消息的传输和编码。 终结点之间的消息交换发生在由一个或多个通道组成的通道堆栈上。 每个通道都是为终结点配置的绑定中绑定元素之一的具体实现。

WCF 文档包含有关 WCF 和 WCF 编程模型的更多详细信息。

适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器公开 WCF 自定义绑定(Microsoft.Adapters.SAP.SAPBinding)。 默认情况下,此绑定包含单个自定义传输绑定元素(Microsoft.Adapters.SAP.SAPAdapter),用于在 SAP 系统上启用操作。 将 SAP 适配器与 BizTalk Server 配合使用时,可以将 EnableBizTalkCompatibilityMode 绑定属性设置为在 SAP 适配器绑定元素顶部加载自定义绑定元素 BizTalk 分层通道绑定元素。 BizTalk 分层通道绑定元素由 SAP 适配器在内部实现,不会在 SAP 绑定外部公开。

Microsoft.Adapters.SAP.SAPBinding(SAP 绑定)和 Microsoft.Adapters.SAP.SAPAdapter (SAP 适配器绑定元素)是公共类,也公开给配置系统。 由于 SAP 适配器绑定元素公开,因此你可以生成自己的自定义 WCF 绑定,能够扩展 SAP 适配器的功能。 例如,可以实现自定义绑定以支持 WCF 通道或 WCF 服务模型编程解决方案中的企业单一 Sign-On(SSO),将数据库作聚合为单个多功能作,或在自定义应用程序和 SAP 系统上的作之间执行架构转换。

SAP 适配器基于 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 构建,在 WCF LOB 适配器 SDK 运行时上运行。 WCF LOB 适配器 SDK 提供一个软件框架和工具基础结构,SAP 适配器利用它向用户和适配器客户端提供一组丰富的功能。

SAP 适配器和 WCF LOB 适配器 SDK

适用于 mySAP Business Suite 的 Microsoft BizTalk 适配器实现一组核心组件,这些组件利用 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 提供的功能,并通过 SAP Unicode RFC SDK 库(librfc32u.dll)提供与 SAP 系统的连接。

WCF LOB 适配器 SDK 充当软件层,SAP 适配器通过该层与 Windows Communication Foundation(WCF)接口,RFC SDK 充当 SAP 适配器与 SAP 系统的接口的层。 下图显示了 SAP 适配器的内部组件与这些组件与 RFC SDK 之间的关系。

内部适配器组件的关系

连接到 SAP 系统

SAP 适配器通过 SAP Unicode RFC SDK 库(librfc32u.dll)与 SAP 系统连接。 SAP 适配器同时支持 32 位和 64 位版本的 SAP RFC SDK。 SAP RFC SDK 使外部程序能够在 SAP 系统上调用 ABAP 函数。

通过向 SAP 适配器提供连接 URI 来建立与 SAP 系统的连接。 SAP 适配器支持与 SAP 系统的以下类型连接:

  • 基于应用程序主机的连接(A),其中 SAP 适配器直接连接到 SAP 应用程序服务器。

  • 负载均衡连接 (B),其中 SAP 适配器连接到 SAP 消息传送服务器。

  • 基于目标的连接(D),其中与 SAP 系统的连接是由 saprfc.ini 配置文件中的目标指定的。 支持 A、B 和 R 类型连接。

  • 侦听器连接(R),适配器通过 SAP 系统上的 RFC 目标来接收 RFC、tRFC 和 IDOC。该接收目标由侦听器主机、侦听器网关服务和侦听器程序 ID 指定,这些可以直接在连接 URI 中配置,也可以通过 saprfc.ini 配置文件中的基于 R 的目标来进行配置。

    有关 saprfc.ini 文件的更多信息,请参阅SAP 文档中的“SAPRFC.INI 文件”。

    有关 SAP 适配器如何连接到 SAP 系统的详细信息,请参阅 创建与 SAP 系统的连接

另请参阅

了解 mySAP Business Suite 的 BizTalk 适配器