1.1 Oracle Tuxedo Distributed Application Programming

A distributed application consists of a set of software modules that reside on multiple hardware systems, and that communicate with one another to accomplish the tasks required of the application. For example, as shown in the following figure, a distributed application for a remote online banking system includes software modules that run on a bank customer’s home computer, and a computer system at the bank on which all bank account records are maintained.

Figure 1-1 Distributed Application Example - Online Banking System


Distributed Application Example - Online Banking System Diagram

The task of checking an account balance, for example, can be performed simply by logging on and selecting an option from a menu. Behind the scenes, the local software module communicates with the remote software module using special application programming interface (API) functions.

The Oracle Tuxedo distributed application programming environment provides the API functions necessary to enable secure, reliable communication between the distributed software modules. This API is referred to as the Application-to-Transaction Monitor Interface (ATMI).

The ATMI enables you to:

  • Send and receive messages between clients and servers, possibly across a network of heterogeneous machines
  • Establish and use client naming and security features
  • Define and manage transactions in which data may be stored in several locations
  • Generically open and close a resource manager such as a Database Management System (DBMS)
  • Manage the flow of service requests and the availability of servers to process them