ONC 和 DCE

ONC (开放网络计算) RPC (远程过程调用) 是由 Sun Microsystems 开发的开放式源代码 RPC 框架。 DCE (Distributed Computing Environment) 是由 Open Software Foundation (OSF) 定义的体系结构。 这两种技术都支持异构分布式环境中的客户机/服务器应用程序。

DCE RPC 在许多方面与 ONC RPC 不同。 例如, DCE RPC 不限制调用上的参数数目,而 ONC RPC 调用仅限于一个输入和一个输出参数 (但这些可能是包含许多字段的结构,包括指向其他数据的指针)。
图 1。 为 DCE RPC 和 ONC RPC 提供的远程过程
该图显示了 COBOL CICS 程序和 CICS CICS Transaction Server 内的 ONC RPC,以及外部 DCE IDL 模块。 带有 C 参数的客户端调用流向 CICS ONC RPC,然后参数流向 CICS COBOL 程序。 带有 C 参数的客户端调用流向 DCE IDL 模块,而 COBOL 请求则流向 CICS 程序。

图 1 显示了两个 CICS® RPC 实现如何提供相同的功能。

以作为 DCE RPC 的一部分提供的接口定义语言 (IDL) 提供客户机参数列表的定义。 DCE IDL 模块将入局参数映射到 CICS 通信区域,因此通信区域格式由客户机的参数列表定义。

CICS ONC RPC CICS 程序可以使用任何 CICS支持的编程语言编写,从客户机格式到通信区的转换由转换器的 解码 功能完成。 通过 ONC RPC ,您可以获得更多灵活性,但您还有更多工作要做。

用作 DCE RPC 客户机的服务器的 CICS 程序也可用作 ONC RPC 客户机的服务器。 您需要编写一个解码函数,将输入的数据结构转换到预定义的通信区域,并将输入的数据从 C® 类型转换为 COBOL 类型。