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

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

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

SAP 端到端体系结构

使用适配器

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

  • 通过使用 WCF 通道模型直接与 SAP 适配器交换 SOAP 消息,通过 WCF 通道应用程序在 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 自定义绑定、SAP 绑定 (Microsoft.Adapters.SAP.SAPBinding) 。 默认情况下,此绑定包含单个自定义传输绑定元素,即 SAP 适配器绑定元素 (Microsoft.Adapters.SAP.SAPAdapter) ,用于在 SAP 系统上启用操作。 将 SAP 适配器与 BizTalk Server 配合使用时,可以设置 EnableBizTalkCompatibilityMode 绑定属性,以在 SAP 适配器绑定元素顶部加载自定义绑定元素 BizTalk 分层通道绑定元素。 BizTalk 分层通道绑定元素由 SAP 适配器在内部实现,不会在 SAP 绑定外部公开。

Microsoft.Adapters.SAP.SAPBinding (SAP Binding) 和 Microsoft.Adapters.SAP.SAPAdapter (SAP Adapter Binding Element) 是公共类,并且也公开给配置系统。 由于 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 系统连接:

  • 基于应用程序主机的连接 () ,其中 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 适配器