适用于 Oracle 电子商务套件的 BizTalk 适配器的体系结构概述

Microsoft BizTalk Adapter for Oracle E-Business Suite 是 Windows Communication Foundation (WCF) 自定义绑定。 此绑定包含单个自定义传输绑定元素,该元素可实现与 Oracle 电子商务套件的通信。 Oracle 电子商务适配器由 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) Adapter SDK 运行时包装,并通过 WCF 通道体系结构向应用程序公开。 Oracle 电子商务适配器通过 Oracle Data Provider for .NET (ODP.NET) 和 Oracle 客户端与 Oracle 电子商务套件通信,后者是 Oracle Data Access Components (ODAC) for Windows 的一部分。

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

Oracle 数据库适配器体系结构示意图

使用适配器

Oracle 电子商务适配器将 Oracle 电子商务套件作为 WCF 服务公开给客户端应用程序。 若要在 Oracle 电子商务套件上执行操作和访问数据,客户端应用程序通过 WCF 通道与 Oracle 电子商务适配器交换 SOAP 消息。 上图显示了使用 Oracle 电子商务适配器的四种方式。 它们分别是:

  • 通过 WCF 通道模型应用程序。 WCF 通道模型应用程序使用 WCF 通道模型直接与 Oracle 电子商务适配器交换 SOAP 消息,从而在 Oracle 电子商务套件上执行操作。

  • 通过 WCF 服务模型应用程序。 WCF 服务模型应用程序调用 WCF 客户端上的方法以在 Oracle 电子商务套件上执行操作。 WCF 客户端将 Oracle 电子商务适配器公开的操作建模为 .NET 方法。 可以使用 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 或 WCF ServiceModel 元数据实用工具 (svcutil.exe) 根据 Oracle 电子商务适配器公开的元数据创建 WCF 客户端类。

  • 通过配置为使用 Microsoft BizTalk WCF-Custom 适配器的 BizTalk 接收位置或发送端口。 WCF-Custom 适配器支持使用 WCF 扩展性功能。 通过使用 WCF-Custom 适配器,可以选择并配置 Oracle EBS 绑定以及接收位置或发送端口的行为。 有关如何在BizTalk Server解决方案中使用 Oracle 电子商务适配器的详细信息,请参阅使用 Oracle E-Business Suite 适配器开发 BizTalk 应用程序

  • 通过 IIS 托管的 Web 服务。 在此方案中,使用适配器生成的 WCF 服务代理使用 basicHttpBinding WCF 绑定托管在 IIS 中。 这会将服务协定作为 Web 服务公开给外部用户。 IIS 在运行时自动托管适配器,而适配器又与 Oracle 电子商务套件通信。

    Oracle 电子商务适配器和 ODAC 始终与使用该适配器的应用程序或服务一起托管在进程内。

Oracle EBS 适配器和 WCF

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

  • 终结点地址,指定接收消息的位置

  • 绑定,指定用于交换消息的通信协议

  • 协定,指定终结点公开的操作和数据类型。

    绑定由一个或多个绑定元素组成,这些元素相互堆叠以定义消息与终结点的交换方式。 绑定至少必须指定用于与终结点交换消息的传输和编码。 终结点之间的消息交换发生在由一个或多个通道组成的通道堆栈上。 每个通道都是为终结点配置的绑定中绑定元素之一的具体实现。 WCF 文档包括有关 WCF 和 WCF 编程模型的更多详细信息。

    适用于 Oracle 电子商务套件的 Microsoft BizTalk 适配器公开 WCF 自定义绑定、Oracle 电子商务套件绑定 (Microsoft.Adapters.OracleEBS.OracleEBSBinding) 。 默认情况下,此绑定包含单个自定义传输绑定元素,即 Oracle 电子商务套件适配器绑定元素 (Microsoft.Adapters.OracleEBS.OracleEBSAdapter) ,用于启用 Oracle 电子商务套件上的操作。

    Microsoft.Adapters.OracleEBS.OracleEBSBinding (Oracle 电子商务套件绑定) 和 Microsoft.Adapters.OracleEBS.OracleEBSAdapter (Oracle E-Business Suite 适配器绑定元素) 是公共类,也公开给配置系统。 由于 Oracle 电子商务套件适配器绑定元素是公开的,因此可以生成自己的自定义 WCF 绑定,以便扩展 Oracle 电子商务适配器的功能。 例如,可以实现自定义绑定以支持 WCF 通道或服务模型解决方案中的企业单一登录 (SSO) 。 这样做的原因是将数据库操作聚合到单个多功能操作中,或者在自定义应用程序实现的操作与 Oracle 电子商务套件上的操作之间执行架构转换。

Oracle EBS 适配器和 WCF LOB SDK

Oracle 电子商务适配器基于 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 构建,并在 WCF LOB 适配器 SDK 运行时上运行。

WCF LOB 适配器 SDK 提供 Oracle 电子商务适配器用于向用户和适配器客户端提供一组丰富的功能的软件框架和工具基础结构。 它还充当软件层,Oracle 电子商务适配器通过该层与 Windows Communication Foundation (WCF) 进行接口。 ODP.NET 充当 Oracle 电子商务适配器与 Oracle 数据库接口的层。

下图显示了 Oracle 电子商务适配器、WCF LOB 适配器 SDK 和 ODP.NET 的内部组件之间的关系:

Oracle 电子商务适配器内部体系结构

ODP.NET

Oracle 电子商务适配器通过 ODP.NET 和 Oracle 客户端与 Oracle 电子商务套件连接。 这两个组件都是 Oracle 数据访问组件 (ODAC) 的一部分。

ODP.NET 为 Oracle 电子商务套件实现与 ADO.NET 接口一致的数据提供程序。 Oracle 电子商务适配器使用 ODP.NET 公开的类在 Oracle 电子商务套件上运行。

Oracle 客户端提供与 Oracle 电子商务套件的连接。 通过提供 Oracle 电子商务适配器的连接 URI,可以建立与 Oracle 电子商务套件的连接。 可以通过两种方式指定连接 URI:

  • 使用 tnsnames.ora。 在此方法中,适配器客户端提供的连接 URI 仅包含 tnsnames.ora 文件中指定的网络服务名称。 适配器从文件中的 net 服务名称条目中提取连接参数,例如服务器名称、服务名称、端口号等。 若要使用此方法,必须将运行 Oracle 客户端的计算机配置为在 tnsnames.ora 文件中包括 Oracle 数据库的 net 服务名称。

  • 不使用 tnsnames.ora。 在此方法中,适配器客户端直接在连接 URI 中指定连接参数。 这不需要 net 服务名称存在于客户端计算机上的 tnsnames.ora 文件中。 此方法甚至不需要客户端计算机上存在 tnsnames.ora 文件。

    有关连接 URI 的详细信息,请参阅 创建与 Oracle 电子商务套件的连接

下一步

保护 Oracle EBS 应用程序