The EntireX PL/I Wrapper provides access to RPC-based components from PL/I applications. It enables you to develop both client and server applications.
This document covers the following topics:
The PL/I Wrapper provides access to RPC servers for PL/I client applications and access to PL/I servers for any RPC client. PL/I Wrapper generation tools of the Workbench take as input a Software AG IDL file, which describes the interface of the RPC, and generates PL/I sources that implement the functions and data types of the interface.
The generated functions can be compiled with the PL/I compiler of your target platform.
The PL/I Wrapper works as follows:
PL/I code is generated from the Software AG IDL file.
The generic RPC services module implements functionality that is not specific to a given IDL file (e.g., broker logon and logoff). The generated PL/I code makes use of this functionality.
The Software AG IDL Compiler and an appropriate template are used for the PL/I code generation.
In order to minimize the amount of code generated for a specific IDL, all service-type functionality required by the client interface object is implemented in a generic RPC services module.
The generic RPC services module contains the call to the broker stub, as well as other functions needed for RPC communication where an interface object is not needed, such as:
Broker Logon and logoff
Conversational support
Connecting RPC clients to RPC servers via the broker
etc.
For more information, see Using the Generic RPC Services Module.
For a given IDL file, the Software AG IDL Compiler and a PL/I code generation template for clients are used to generate client interface objects and include files. The source code generated by the PL/I Wrapper can be compiled with your target PL/I compiler. Application developers use the generated client interface object(s) and the include files to write PL/I applications that access RPC servers.
For more information, see Using the PL/I Wrapper.
The Software AG IDL Compiler and a PL/I code generation template for servers are used to generate a server (skeletons) for a specific IDL. Most target environments in batch mode and CICS work without interface objects. For IMS, server interface objects are generated too and have to be used.
Application developers use the generated server (skeleton) to write their own server code for each program in the IDL. The source code is compiled and linked with your target PL/I compiler. Your server program names need to match the program name as specified in the IDL file.
(1) The server wrapper is required for target platform IMS.
For more information, see Using the PL/I Wrapper.