RFC 服务器模块是用 Java 语言编写的连接器模块,它直接支持来自 SAP 应用程序的 RFC 调用。它通过实现 VisionConnectorAgent 类来扩展可视连接器框架。RFC 服务器模块使用以 Java 语言和 C 语言编写的 SAP RFC 库,该库使外部程序能够与 SAP 应用程序通信。
图 55 举例说明了 RFC 服务器模块的完整体系结构。RFC 服务器模块由连接器框架、RFC 服务器的特定于应用程序的连接器组件、特定于 RFC 服务器的业务对象处理程序、侦听器线程和 SAP RFC 库组成。
RFC 服务器模块组件:
侦听器线程处理 RFC 服务器模块与 SAP 应用程序之间的所有 RFC 调用。当连接器启动时,它衍生许多侦听器线程(该数目是可配置的)。每个侦听器线程都打开一个指向 SAP 网关的句柄。
侦听器线程:
特定于 RFC 服务器的业务对象处理程序是 SAP 应用程序中每个 RFC 支持功能所独有的。每个业务对象处理程序由侦听器线程实例化并调用相关的业务对象。
因为 RFC 服务器模块充当 SAP 应用程序的服务器,所以它将来自 SAP 应用程序的事件“推送”或发送至集成代理程序。此行为与其它模块完全不同,其它模块轮询应用程序以获取事件。由于此差别,所以特定于 RFC 服务器的业务对象处理程序执行与其它业务对象处理程序不同的任务。
一旦实例化,特定于 RFC 服务器的业务对象处理程序就会执行以下操作:
业务对象处理程序使用业务对象的特定于应用程序的“服务器”查询描述信息来确定哪个协作应处理业务对象数据。