Adapter for SAP Software 的技术概述

WebSphere® Adapter for SAP Software 提供了多种方法与 SAP 服务器上的应用程序和数据进行交互。 支持出站处理 (从应用程序到适配器到 SAP 服务器) 和入站处理 (从 SAP 服务器 到适配器到应用程序)。

WebSphere Adapter for SAP Software 连接到在 SAP Web 应用程序服务器上运行的 SAP 系统。 对于入站处理,适配器支持高级事件处理(AEP)和应用程序链接启用(ALE);对于出站处理,适配器支持业务应用程序编程接口(BAPI)、AEP、ALE 和 SAP 系统的查询接口(QISS)。 通过使用“适配器连接”向导,可将适配器设置为执行出站和入站处理,从而根据它在 SAP 服务器上发现的服务生成业务对象。

对于出站处理,适配器客户机调用适配器操作以在 SAP 服务器 上创建,更新或删除数据,或者从 SAP 服务器检索数据。

对于入站处理,会将 SAP 服务器 上发生的事件从 SAP 服务器 发送到适配器。 ALE 入站和 BAPI 入站接口将启动用于侦听这些事件的事件侦听器。 相反,高级事件处理接口会轮询 SAP 服务器 以获取事件。 然后,适配器将事件传递到端点,该端点是来自 SAP 服务器的事件的应用程序或其他使用者。

配置适配器以执行出站和入站处理,方法是使用 "适配器连接" 向导 来创建 ,该包含 SAP 应用程序的接口以及基于其在 SAP 服务器上发现的函数或表的业务对象。

出站处理接口概述

WebSphere Adapter for SAP Software 为用于出站处理的 SAP 服务器 提供了多个接口。

  • 通过 BAPI 接口,适配器向支持远程函数调用(RFC)的函数发出 RFC,如业务应用程序编程接口(BAPI)函数。 这些远程函数调用在 SAP 服务器上创建,更新或检索数据。
    • BAPI 接口与各个 BAPI(简单 BAPI)配合工作。 例如,您可能要查看 SAP 数据库中是否存在特定的客户信息。
    • BAPI 工作单元接口使用排序的 BAPI 集。 例如,您可能要更新雇员记录。 要完成此操作,您需要使用三个 BAPI,分别用于:
      1. 锁定记录(以阻止对记录进行任何其他更改)
      2. 更新记录
      3. 核准记录
    • BAPI 结果集接口使用两个 BAPI 来选择 SAP 数据库中的多行数据。

    当您需要执行数据检索或操作,以及执行任务的 BAPI 或 RFC 函数已存在时,可以使用 BAPI 调用。

    简单 BAPI 可以通过同步 RFC、异步事务性 RFC 或异步排队 RFC 协议发送。
    • 对于同步 RFC ,当从适配器到 SAP 服务器进行调用时,适配器和 SAP 服务器 都必须可用。 适配器向 SAP 服务器 发送请求并等待响应。
    • 通过异步事务性 RFC ,事务标识与从适配器到 SAP 服务器的调用相关联。 适配器不会等待来自 SAP 服务器的响应。 仅向消息流返回事务标识。
    • 对于异步排队的 RFC ,来自适配器的调用将传递到 SAP 服务器上的预定义队列。 与异步 RFC 一样,事务标识与调用相关联,并且适配器不会等待来自 SAP 服务器的响应。

      在必须保留事件顺序时,此接口非常有用。

  • SAP Software 的查询接口从特定的 SAP 应用程序表检索数据。 它可以返回数据或检查数据是否存在。 如果需要从 SAP 表中检索数据而不使用 RFC 函数或 BAPI,可以使用这种类型的 SAP 交互。
  • 通过应用程序链接支持(ALE)接口,您可以使用 SAP 中间数据结构(IDoc)交换数据。 对于出站处理,您将 IDoc 或 IDoc 包发送到 SAP 服务器

    ALE 接口提供异步交换,它对 IDoc 的批处理特别有用。 您可以使用排队的事务性 (qRFC) 协议将 IDoc 发送到 SAP 服务器上的队列。 qRFC 协议确保 IDoc 接收的顺序。 它经常用于系统复制或系统到系统的传送。

  • 通过 ALE 传递 IDoc 接口,适配器将 IDoc 发送到 SAP 服务器 ,而不转换 IDoc。 消息树包含用于表示 IDoc 的 BLOB 字段。
  • 通过高级事件处理接口,可以将数据发送到 SAP 服务器。 然后,数据由 SAP 服务器上的 ABAP 处理程序处理。

入站处理接口概述

WebSphere Adapter for SAP SoftwareSAP 服务器 提供以下接口以进行入站处理。
  • 通过其 BAPI 入站接口,适配器侦听事件并从 SAP 服务器接收支持 RFC 的函数调用的通知。
    • 通过同步 RFC ,当从 SAP 服务器 调用适配器时,适配器和 SAP 服务器 都必须可用。 适配器将请求发送到预定义的应用程序,并将响应返回到 SAP 服务器
    • 对于异步事务性 RFC,事件将传递到适配器,即使执行调用时适配器不可用也是如此。 SAP 服务器 将事件存储在要调用的函数列表上,并继续尝试交付该事件,直到适配器可用为止。

      如果要从 SAP 服务器上的预定义队列交付函数,那么也可以使用异步事务 RFC。 从队列传递文件确保函数的发送顺序。

      如果选择 "仅保证一次交付" ,那么适配器将使用数据源来持久存储从 SAP 服务器接收的事件数据。 提供事件恢复是为了在适配器尝试将事件传递至端点期间发生错误时跟踪和恢复事件。

  • 通过 ALE 入站处理接口,适配器侦听事件并从 SAP 服务器接收一个或多个 IDoc。 与 ALE 出站处理一样,ALE 入站处理也提供异步交换。

    您可以使用 qRFC 接口从 SAP 服务器上的队列接收 IDoc ,这将确保接收 IDoc 的顺序。

    如果您选择了可靠一次性传递,那么适配器将使用数据源持久存储事件数据,并且将提供事件恢复,以便跟踪事件并在适配器尝试将事件传递到端点时发生问题的情况下恢复事件。

  • 通过 ALE 传递 IDoc 接口, SAP 服务器 通过适配器将 IDoc 发送到端点,而不转换 IDoc。 消息树包含用于表示 IDoc 的 BLOB 字段。
  • 高级事件处理接口会轮询 SAP 服务器 以获取事件。 它发现等待处理的事件。 然后,它将处理事件并将事件发送到端点。 有关更多信息,请参阅 高级事件处理接口

适配器如何与 SAP 服务器 进行交互

适配器使用 SAP Java™ 连接器 (SAP JCo) API 与 SAP 应用程序进行通信。 应用程序将请求发送到适配器,而适配器使用 SAP JCo API 将请求转换为 BAPI 函数调用。 SAP 系统处理请求并将结果发送到适配器。 适配器在响应消息中将结果发送到调用应用程序。