ALE 模块组件

ALE 模块是用 Java 语言编写的,它扩展可视连接器框架。该模块由以下各项组成:

SAP 以 Java 和 C 语言交付 RFC 库。Java 归档(JAR)文件将作为连接器交付并运行。

图 50 举例说明了 ALE 模块的体系结构。

图 50. ALE 模块体系结构


事件处理组件

当处理来自 SAP 的事件时,连接器通过以下方式使用图 50 中举例说明的组件:

请求处理组件

当处理来自集成代理程序的事件时,连接器通过以下方式使用图 50 中举例说明的组件:

侦听器线程

侦听器线程执行以下操作:

线程以同步方式连续侦听事件(这些事件来自它支持的特定于 ALE 的功能)。

事务标识

SAP 使用事务及其相应的标识来构造事件,以保证将每段数据从 SAP 传递一次,且仅传递一次。SAP 将事务标识(TID)随事件数据一起发送。为了集中管理 TID 以进行事件和请求处理,连接器在 WebSphere MQ 队列上将每个 TID 存储为一条 JMS-MQ 消息。当处理事件时,它还将相关的 IDoc 数据存储为消息体。连接器将 TID、TID 状态和 IDoc 的处理状态存储在消息头中。

特定于 ALE 的业务对象处理程序

提供了两个特定于 ALE 的业务对象处理程序,一个用于事件处理,一个用于请求处理。

事件处理业务对象处理程序

侦听器线程实例化事件处理业务对象处理程序,该处理程序执行以下操作:

请求处理业务对象处理程序

可视连接器框架实例化 ALE 请求处理业务对象处理程序,该处理程序检查 SAP 的 WebSphere 业务对象中 TransactionId 属性的值。如果此值存在,它继续执行以下步骤。

  1. 从 JMS-MQ 消息或从 SAP 获取 TID。
  2. 将业务对象数据转换为 IDoc 数据格式(该格式由期望的功能模块接口对 SAP 中 RFC 调用所定义)。
  3. 对 ALE 接口进行 RFC 调用。
  4. 在 JMS-MQ 消息中更新此请求的 TID 状态。
  5. 将成功响应返回到集成代理程序。

SAP 的业务对象的结构

SAP 的 WebSphere 业务对象将每个 IDoc 表示为包含两个子业务对象(控制记录业务对象和数据记录业务对象)的父包装程序业务对象。控制记录业务对象包含连接器处理业务对象所必需的元数据。数据记录业务对象包含将由 SAP 应用程序处理的实际业务对象数据以及元数据,连接器将需要该元数据以将其转换为 IDoc 结构以进行 RFC 调用。

连接器包括控制记录的业务对象定义。定义文件 sap_idoccontrol.xsd 位于 \repository\SAP 目录中。

控制记录业务对象中的 TABNAM 属性指示父包装程序业务对象将调用哪个 SAP 功能模块:

另外,以下属性必须具有值,这样 SAP 才能够正确地在 ALE 中处理对象。这些值基于您的 ALE 配置:

两个业务对象中的 DOCNUM 属性都会在数据记录业务对象与控制记录业务对象之间建立关系。

当处理服务调用请求时,ALE 模块可以处理单个业务对象中的多个 IDoc。但是,在它可以进行处理前,您必须在两个或更多父包装程序业务对象周围添加另一个多 IDoc 包装程序业务对象。这个顶级多 IDoc 包装程序业务对象包含一个表示一组父包装程序业务对象的属性。有关更多信息,请参阅父包装程序业务对象

连接器包括一个业务对象生成工具 SAPODA。此工具使用 IDoc 定义文本文件来生成此 ALE 模块的业务对象定义。有关开发 ALE 模块的业务对象的更多信息,请参阅为 ALE 模块开发业务对象使用 SAPODA 生成业务对象定义

Copyright IBM Corp. 1997, 2004