XATMI is a program interface for distributed program-to-program communication, which has been standardized by X/Open.
openUTM provides the XATMI program interface for the programming languages COBOL, C and C++. Under openUTM, XATMI can communicate not only on the basis of the X/Open OSI TP protocol, but also using the LU6.1 and UPIC protocols.
XATMI services can only be started by partners that also use the XATMI interface.
XATMI differentiates between three communication models:
Synchronous request/response model:
After sending the service request, the client is blocked until a response is received.Asynchronous request/response model:
The client is not blocked after sending the service request.Conversational model:
The client and server can exchange data as desired.
The following tables provide an overview of the XATMI calls available in openUTM. The individual calls are described in detail in the X/Open CAE Specification on XATMI of November 1995. |
Overview: XATMI calls in openUTM
Calls for the request/response model:
C/C++ call | Cobol call | Description |
tpcall | TPCALL | Service request in the synchronous request/response model |
tpacall | TPACALL | Service request in the asynchronous request/response model |
tpgetrply | TPGETRPLY | Request response in the asynchronous request/response model |
tpcancel | TPCANCEL | Cancel an asynchronous service request before a response has been received |
Calls for the conversational model:
C/C++ call | COBOL call | Description |
tpconnect | TPCONNECT | Set up a communication link |
tpsend | TPSEND | Send a message |
tprecv | TPRECV | Receive a message |
tpdiscon | TPDISCON | Shut down a communication link |
Call for the type-based buffers:
C/C++ call | COBOL call | Description |
tpalloc | -- | Reserve memory for a type-based buffer |
tprealloc | -- | Change the size of a type-based buffer |
tpfree | -- | Free a type-based buffer |
tptypes | -- | Query the type of a type-based buffer |
General calls for service routines:
C/C++ call | COBOL call | Description |
tpservice | TPSVCSTART | Provide a template for service routines |
tpreturn | TPRETURN | Terminate a service routine |
tpadvertise | TPADVERTISE | Only supported syntactically in openUTM |