Product Overview

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Oracle Tuxedo CORBA Components

The following sections describe the Oracle Tuxedo CORBA components built on the Oracle Tuxedo infrastructure:

Note: The Oracle Tuxedo CORBA Java client and Oracle Tuxedo CORBA Java client ORB were deprecated in Tuxedo 8.1 and are no longer supported. All Oracle Tuxedo CORBA Java client and Oracle Tuxedo CORBA Java client ORB text references, associated code samples, should only be used to help implement/run third party Java ORB libraries, and for programmer reference only.
Note: Technical support for third party CORBA Java ORBs should be provided by their respective vendors. Oracle Tuxedo does not provide any technical support or documentation for third party CORBA Java ORBs.


Oracle Tuxedo CORBA Overview

Oracle Tuxedo CORBA provides businesses and organizations that depend on mission-critical applications with the advantages of the CORBA-compliant programming model, combined with the power, robustness, and proven reliability of the Tuxedo transaction processing technology. Oracle Tuxedo CORBA also taps into the existing Tuxedo infrastructure for transaction management, security, message transport, administration and manageability, and XA-compliant database support.

Oracle Tuxedo CORBA combines the ORB model with online transaction processing (OLTP) functions to create a top-of-the-line Object Transaction Monitor (OTM). As shown in the following figure, an OTM is an example of a 3-tier client/server architecture, where the OTM supports the application logic between the GUI front-end and the back-end resource managers. Examples of resource managers are object-oriented databases, relational databases, message queues, legacy applications, and other back-end services.

Figure 3-1 3-Tier Client/Server Architecture Using an OTM

3-Tier Client/Server Architecture Using an OTM

By breaking the direct connection between the user interface front-end and the resource managers, an OTM controls all the traffic that links hundreds or thousands or even tens of thousands of clients with run-time objects and the back-end resources. An OTM ensures that global (distributed) transactions are completed accurately, provides load balancing, and improves the overall system performance. An OTM also prestarts pools of objects and provides fault-tolerance. More importantly, an OTM makes an application’s server processes independent of the user interface front-end and any resource manager.

Oracle Tuxedo CORBA is an object application server that runs server-side distributed objects. Besides managing an application’s server objects and managing transactions, Oracle Tuxedo CORBA also manages client/server communications.

Object-oriented transactional communications use a highly augmented version of ORB invocations. However, most of the value-added elements are transparent to the programmer: The transactional client/server exchanges look like ordinary exchanges bracketed by start and end transaction calls. The distinguishing factor is that all resource managers and processes invoked through these calls become part of the transaction. An OTM, such as Oracle Tuxedo CORBA, orchestrates the actions of all the participants and makes them act as part of a transaction.


Oracle Tuxedo CORBA TP Framework

The Oracle Tuxedo CORBA OTM provides a TP framework, or organized environment, for running server-side distributed objects. A TP framework not only calls the objects and the Tuxedo CORBA services at the appropriate time and in the correct sequence, but it also simplifies the server-side programming model.


Oracle Tuxedo CORBA Architecture

Oracle Tuxedo CORBA consists of the following main components:


Oracle Tuxedo OTM and Infrastructure

The Oracle Tuxedo infrastructure provides the bedrock client/server architecture for both Oracle Tuxedo CORBA and Oracle Tuxedo ATMI. The OTM and infrastructure discussed here and illustrated in the following figure constitute the Oracle Tuxedo CORBA environment, which provides the communication interfaces, transaction support, and application-processing and administrative services for a distributed CORBA application.

Figure 3-2 Oracle Tuxedo CORBA Environment

Oracle Tuxedo CORBA Environment

System Management Interface

The Oracle Tuxedo system management interface, common to both Oracle Tuxedo CORBA and Oracle Tuxedo ATMI, can accommodate tools for both application development and administration. For information about the Oracle Tuxedo system management interface, see System Management Interface.

Application Programming Interface

The Oracle Tuxedo CORBA programming interface consists of a C++ server ORB and a C++ client ORB. On the server side, instead of using the CORBA API directly, application programmers use an API that automates many of the functions required in a standard CORBA application.

The Oracle Tuxedo CORBA server-side TP Framework component and client-side environmental objects enable programmers to use the deployment environment with a minimal amount of programming. For information about the TP Framework component, see Oracle Tuxedo TP Framework. For information about client-side environmental objects, see Oracle Tuxedo CORBA Environmental Objects.

Application Programming Environment

Application programmers develop a Tuxedo CORBA application as a set of CORBA objects, using the OMG Interface Definition Language (IDL) and, optionally, using standard, off-the-shelf programming tools. These objects communicate with other objects using the CORBA Internet Inter-ORB Protocol (IIOP). The following figure identifies the architectural components of the Oracle Tuxedo CORBA programming environment.

Figure 3-3 Components in an Oracle Tuxedo CORBA Application

Components in an Oracle Tuxedo CORBA Application

Oracle Tuxedo CORBA runs the objects in the server processes that it manages. Oracle Tuxedo CORBA can also manage server processes that run Tuxedo ATMI services, thereby allowing programmers to combine object-based and service-based components in the same Tuxedo application.

Note: A Tuxedo application has the same meaning as a Tuxedo domain. For a definition of a Tuxedo domain, see Important Oracle Tuxedo Terms and Concepts.


Oracle Tuxedo ORB Software

The ORB, or Object Request Broker, is a library that enables clients to locate and communicate with servers independently of server location and network connections. The ORB is sometimes referred to as the object bus.

Programmers define their object’s interface via OMG IDL, and the ORB takes care of the rest. The ORB serves as an intermediary for requests that CORBA clients send to CORBA server applications, so that the client and server do not need to contain information about each other. The following figure shows the relationship between an ORB, a CORBA application client, and a CORBA server application.

Figure 3-4 The ORB in a CORBA Client/Server Environment

The ORB in a CORBA Client/Server Environment

Oracle Tuxedo CORBA includes C++ server ORB and C++ client ORB. The ORBs have built-in transaction support, meaning that the CORBA Object Transaction Service (OTS), on which a CORBA OTM is based, is patterned after the XA standard for two-phase commit processing.

The C++ server ORB is linked directly into the Tuxedo CORBA server processes. Other client ORBs can communicate with Oracle Tuxedo CORBA via CORBA’s IIOP protocol.


Oracle Tuxedo IIOP Listener/Handler

The Oracle Tuxedo IIOP Listener/Handler allows a CORBA client residing on a remote machine that does not have a full Oracle Tuxedo server-side installation (that is, a machine that does not support Oracle Tuxedo administration servers or a bulletin board) to be able to communicate with an Oracle Tuxedo CORBA server application. All communication between a remote CORBA client and the CORBA server application takes place over a network connection using the IIOP protocol.

Advantages of remote CORBA clients include:

IIOP Listener/Handler Communication

The IIOP Listener/Handler communication architecture involves the following software processes:

IIOP Listener/Handler Documentation

For more information about the IIOP Listener/Handler, see the following documents:


Oracle Tuxedo CORBA Environmental Objects

Oracle Tuxedo CORBA provides a set of objects for helping the client work with the Tuxedo CORBA environment; the objects enable client applications to easily log on to a Tuxedo CORBA environment, invoke CORBA objects, and start and end transactions. Like the server-side TP Framework component, these objects interact with the Tuxedo CORBA services.

Here is what these objects do for application clients:


Oracle Tuxedo CORBA Object Services

Oracle Tuxedo CORBA provides environmental objects for the C++ programming environment and for the Java programming environment. As of release 8.0, Oracle Tuxedo CORBA also supports the use of the OMG CORBA Interoperable Naming Service (INS) by third-party client ORBs, to obtain initial object references.

Each environmental object provides object services to application clients. Application clients access the environmental objects through a bootstrapping process that accesses the services in a particular Oracle Tuxedo server application. Oracle client ORBs use the Oracle Bootstrap object mechanism, and third-party client ORBs use the CORBA INS mechanism. For more information about bootstrapping an Oracle Tuxedo application, see Oracle Tuxedo CORBA Programming Reference.

The Oracle Tuxedo CORBA environmental objects provide the following services:


Oracle Tuxedo TP Framework

The TP Framework component, shown in the following figure, provides a programming model that achieves high levels of performance while shielding the application programmer from the complexities of the CORBA interfaces.

Figure 3-5 The TP Framework

The TP Framework

The TP Framework API provides routines that perform many of the functions required in a standard CORBA application. Application programmers are responsible only for writing the business logic of the CORBA application and overriding default actions provided by the TP Framework.

The TP Framework and environmental objects help make development easy. The following figure illustrates the Oracle Tuxedo CORBA development environment.

Figure 3-6 Oracle Tuxedo CORBA Deployment Environment

Oracle Tuxedo CORBA Deployment Environment

  Back to Top       Previous  Next