The Open/OLTP environment, in which Agile Business Suite participates, is structured upon the following functional components of the X/Open DTP model:
Application Program (AP)
Transaction Manager (TM)
Resource Managers (RMs)
Communications Resource Manager (CRM)
Communications Protocols
Interfaces
OLTP Buffers and Views
These components are described in the following subsections.
Application Program (AP)
An application program is user-level software that is responsible for performing some defined business activity. It can perform the business activity directly, or it can coordinate other modules to perform the activity.
Application programs or modules can be structured as:
Client programs:
When an application program requests services from other application programs, it acts as a client program, or simply a client.
Client programs can be located throughout the user network, and are generally responsible for providing user interface functions or batch processing.
Applications can act as client programs, and request services from other application programs using the OLTP interfaces.
Server programs:
A service routine is an application program or module that performs specific processing tasks on behalf of a client program.
The services requested by the client are provided by the service routines within the server program. When an application program responds to client requests by passing them to the appropriate service routines to carry out the requested work, it acts as a server program, or simply a server.
Applications can be configured to act as server programs, and respond to OLTP requests issued by other or external applications.
A service routine can itself act as a client, by issuing requests to other service routines and including their work in a global transaction. An application can act as a client while processing a service request.
Service programs
An application can perform the functions of an application program component in an Open/OLTP environment.
Transaction Manager (TM)
The Transaction Manager is system software that:
Assigns identifiers to global transactions
Coordinates the processing of each transaction
Manages the decision to complete a global transaction (commit or rollback)
Coordinates failure recovery
The protocol utilized to commit a transaction is Two-Phase Commit with presumed abort.
Resource Managers (RMs)
Resource Managers are system software that manage and provide access to resources or to remote communications (CRM); for example:
Database management systems
Print systems
File access systems
Resource Managers cooperate with the Transaction Manager to identify all the resources used by both clients and servers in each transaction.
Communications Resource Manager (CRM)
The Communications Resource Manager (CRM) is system software that controls communication between application programs participating in a global transaction.
Communications Resource Managers also facilitate communication between Transaction Managers on different computer systems.
Communications Protocols
Communications protocols are the rules and formats used by the network services to communicate between CRMs on different hosts.
The Open/OLTP software is based on the Open Systems Interconnection Transaction Processing (OSI TP), an ISO standard supported by X/Open DTP for message-passing between applications on different computers.
The figure below shows how these components, with a Runtime application as an application program, combine and interact.
How Applications Interact with Open/OLTP Software
Interfaces
X/Open standard interfaces enable the application to interact with the Resource Managers, Transaction Manager, and the Communication Resource Manager.
The XATMI application program interface to the CRM is used for request and response communication during global transactions.
The Transaction Demarcation (TX) application program interface is used to call the Transaction Manager. In particular, Agile Business Suite uses the TX interface to define global transaction boundaries, and to direct the completion of a global transaction.
The XA, XA+, and XAP-TP interfaces shown in the figure How Applications Interact with Open/OLTP Software are used for communication between Open/OLTP software components.
OLTP Buffers and Views
In an Open/OLTP environment, buffers are used to pass a formatted data message between application programs (clients and servers). Client programs and service routines, possibly on different kinds of computers, exchange input and output data using these defined buffers. The format of the data in the OLTP buffer is defined in the OLTP Buffer description.
A View has an OLTP Type that specifies the kind of elements (data types) that are allowed, and an OLTP Subtype that describes the user-defined attributes. The Subtype indicates how the user data is to be interpreted. Agile Business Suite builds View definitions for any OLTP-capable Ispecs.
If you are targeting a Specification built on an MCP host to run in a UNIX environment, the View definitions must be available on the MCP host and be identical to those on the target host where the application is installed.
The XATMI interface provides three View types:
X_COMMON
X_C_TYPE
X_OCTET
These View types are specified by the X/Open model. Agile Business Suite supports X_COMMON, and can use X_C_TYPE (within the data types recognized by COBOL) to communicate with external servers.
Refer to the following documents for more information on the these interfaces:
Open/OLTP Application Development Overview
Open/OLTP TX Application Program Interface Programming Guide
Open/OLTP XATMI Application Program Interface Programming Guide