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

Introducing Oracle Tuxedo

The following sections describe the architecture and major features of the Oracle Tuxedo product:

 


What is Oracle Tuxedo?

Oracle Tuxedo provides the framework, or middleware, for building scalable multi-tier client/server applications in heterogeneous (dissimilar), distributed environments that extend from the Web to the Enterprise. Using Oracle Tuxedo, users can develop, manage, and deploy distributed applications independently of the underlying hardware, operating system, network, and database environment.

As indicated in the following figure, middleware consists of software services that exist between a client or server application and the operating system and network services on a system node in the network.

Figure 1-1 Use of Middleware

Use of Middleware

Middleware services provide a more functional set of application programming interfaces (API) than the operating system and network services. A main purpose of middleware services is to help solve application connectivity and interoperability problems.

Oracle Tuxedo offers the following middleware services:

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 includes the ATMI services and CORBA C++ objects needed for transaction management, security, message transport, administration and manageability, and XA-compliant database support for two-phase commit processing. It also includes a high-speed, highly reliable server-side message switch especially tuned for handling distributed transactions across many server machines.

 


A Brief History of the Tuxedo System

Oracle Tuxedo is a proven, mature system spanning over 20 years of continuous development and enhancement:

Releases 1.0 Through 7.1

From release 1.0 in 1983 through release 7.1 in 2000, the Tuxedo system was extended and enhanced in a number of significant ways, always with the intent of making communication between client and server processes easier and more flexible. The Tuxedo system evolved into the de facto standard for open (open standard) online transaction processing (OLTP) solutions.

Release 4.0 introduced the ATMI API and transaction processing. Release 5.0 introduced the Domains component, which provided for the federation of Tuxedo applications and inter-application transaction processing. Release 7.1 introduced a security plug-in architecture, which allowed for the installation of third-party security systems.

Release 7.1 also introduced multithreading and multicontexting—ATMI functions that enabled programmers to write multithreaded and/or multicontexted application clients and servers—and XML buffer support—the ability to use extensible markup language (XML) typed buffers to exchange XML data within and between ATMI applications. In release 7.1, the Oracle Jolt product was bundled with Oracle Tuxedo for the first time.

For an overview of Oracle Tuxedo ATMI, see Oracle Tuxedo ATMI Core Components.

Release 8.0

Release 8.0 introduced the Oracle CORBA API and CORBA Object Transaction Monitor (OTM) capability. The CORBA OTM combined the advantages of a CORBA-compliant programming model with the proven power and reliability of the Oracle Tuxedo core technology infrastructure.

For an overview of Oracle Tuxedo CORBA, see Oracle Tuxedo CORBA Components.

Release 8.1

Release 8.1 introduced the following features and enhancements:

In addition, both the Oracle Jolt product and the Oracle SNMP Agent product are bundled with Oracle Tuxedo 8.1. For details about the new features and enhancements offered by Oracle Tuxedo 8.1, see the Oracle Tuxedo Release Notes.

Release 9.0

Release 9.0 introduced the following features and enhancements:

In addition, both the Oracle Jolt product and the Oracle SNMP Agent product are bundled with Oracle Tuxedo 9.0. For details about the new features and enhancements offered by Oracle Tuxedo 9.0, see the Oracle Tuxedo Release Notes and the What’s New link on the Oracle Tuxedo Documentation page.

Release 9.1

Release 9.1 introduced the following features and enhancements:

Release 10.0

Release 10.0, the current release of the Oracle Tuxedo product, introduces the following new features and enhancements:

Release 10g Release 3 (10.3)

 


Support for Industry Standards

The Oracle Tuxedo system complies with the Open Group’s X/Open standards, including support of the XA standard for two-phase commit processing, the X/Open ATMI API, and the X/Open Portability Guide (XPG) standards for language internationalization. Oracle Tuxedo also supports the CORBA specification for distributed application development, as well as any relational database management system, object-oriented database management system, file manager, or queue manager.

The Oracle Tuxedo system and ATMI together implement the X/Open distributed transaction processing (DTP) model of online transaction processing (OLTP). The DTP model ensures that work being done throughout a client/server application is atomically completed, meaning that all involved databases are updated properly if the work is successful, or all involved databases are “rolled-back” to their original state if the work fails.

Other standards supported by the Oracle Tuxedo system include:

 


Support for Popular Platforms

A client/server application separates the calling (client) software and the called (server) software into separate programs. The advantage of a client/server application is that multiple client processes can interface with a single server process, where the processes do not need to run on the same host machine. Thus, clients and servers can run on hardware and software platforms suited to their particular functions. For example, clients can run on inexpensive platforms such as workstations or personal computers, and database management servers can run on platforms specially designed and configured to perform queries.

The Oracle Tuxedo system has been ported to most popular client platforms, including Microsoft Windows Server and XP, and a variety of UNIX workstations. The Oracle Tuxedo system has been ported to most popular server platforms, including Microsoft Windows Server, HP-UX, IBM AIX, and Sun Solaris.

For a complete list of supported platforms for Oracle Tuxedo 10g Release 3 (10.3), see Oracle Tuxedo 10g Release 3 (10.3) Platform Data Sheets on page A-1 in Installing the Oracle Tuxedo System.

 


Support for Multiple Programming Models and Languages

Oracle Tuxedo supports two programming models and five languages. The supported programming models are ATMI and CORBA. The supported programming languages are:

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.

 


Mission-Critical Software

ATMI and CORBA applications developed with Oracle Tuxedo are mission-critical, meaning that they are reliable, scalable, secure, and manageable. Applications can grow as the company grows, and they continue running when various parts of the network fail. Applications can expand and contract as the demand requires.

 


Distributed Transaction Management

Oracle Tuxedo specializes in managing transactions, on behalf of ATMI and CORBA applications, from their point of origin—typically on the client—across one or more server machines, and then back to the originating client. When a transaction ends, Tuxedo ensures that all the systems involved in the transaction are left in a consistent state. Tuxedo knows how to run transactions, route them across systems, load-balance their execution, and restart them after failures.

Oracle Tuxedo ensures the integrity of data accessed across several sites or managed by different database products. It tracks transaction participants and supervises a two-phase commit protocol, ensuring that transaction commit and rollback are properly handled at each site.

X/Open XA and TX Compliance

The Oracle Tuxedo system also coordinates the recovery of transactions in the event of site failure, network failure, or global resource deadlocks. The Oracle Tuxedo system uses the X/Open XA interface for communicating with the various resource managers. This interface, proposed by Tuxedo developers and accepted by X/Open, is the standard interface for distributed transaction control between the transaction manager and resource managers.

The Oracle Tuxedo system incorporates the X/Open TX interface for transaction demarcation, in addition to its own ATMI transaction management functions (routines, verbs). This interface allows an application writer to bracket a group of operations—define transaction boundaries—within an application such that all the operations will be done or none of them get done. That is, the transaction is either committed or rolled back as a single atomic unit of work, which keeps all involved databases synchronized, even if machine failures occur.

Transactions Documentation

For more information about transactions, see Introducing Oracle Tuxedo ATMIand Using CORBA Transactions.

 


Scalability and Performance

In an enterprise environment, applications may need to support hundreds of execution contexts (where the context can be a thread or a process), tens of thousands of client applications, and millions of objects at satisfactory performance levels. Subjecting an application to exponentially increasing demands quickly reveals any resource shortcomings and performance bottlenecks in the application. Scalability is therefore an essential characteristic of Oracle Tuxedo applications.

Oracle Tuxedo enables distributed applications to scale is response to changing transaction loads by dynamically spawning and terminating servers (ATMI) or by dynamically activating and deactivating objects (CORBA) to meet the workload demands. Oracle Tuxedo balances the workload among all the available services or objects to ensure that they are all evenly used.

Applications built on Oracle Tuxedo can support a single client on a single server, or they can support tens of thousands of clients and thousands of servers without changing application code. As an application scales, the Oracle Tuxedo system continues to provide end users with consistently high performance and good responsiveness.

For more information about scaling, see “Tuning an Oracle Tuxedo ATMI Application” in Administering an Oracle Tuxedo Application at Run Timeand Scaling, Distributing, and Tuning CORBA Applications.

 


High Availability and Fault Management

In a distributed client/server environment, thousands of independent processors and processes must cooperate to run the application. Many malfunctions can happen. In spite of failures, Oracle Tuxedo keeps the application running in the following ways:

Ensuring constant access to e-business applications is a key feature of Oracle Tuxedo. System components are constantly monitored for application, transaction, network, and hardware failures. When a failure occurs, Oracle Tuxedo logically removes that component from the system, manages any necessary recovery procedures, and re-routes messages and transactions to surviving systems—all transparently to the end user and without disruption in service.

 


Security

Oracle Tuxedo security includes authentication, authorization, and encryption to ensure data privacy when deploying Oracle Tuxedo applications across networks. Two levels of encryption are supported: (1) network-level encryption using Oracle Tuxedo’s proprietary Link-Level Encryption (LLE) or Secure Sockets Layer (SSL); and (2) application-level encryption using the SSL protocol and public key encryption.

In order to integrate Oracle Tuxedo security with other security systems, Oracle Tuxedo provides the following security plug-in interface. The plug-in interface allows Tuxedo customers to independently define and dynamically add their own security plug-ins.

Figure 1-2 Oracle Tuxedo Plug-in Security Architecture

Oracle Tuxedo Plug-in Security Architecture

For more information on security in ATMI and CORBA applications, see Using Security in ATMI Applicationsand Using Security in CORBA Applications.

For information about security when interoperating with earlier releases of Oracle Tuxedo software or Oracle WebLogic Enterprise, or when interoperating with Oracle WebLogic Server, see Oracle Tuxedo Interoperability.

 


Management Tools

The Oracle Tuxedo system gives administrators a choice of several methods for performing the same set of administrative tasks for either Oracle Tuxedo ATMI or CORBA environments. The following figure illustrates the Oracle Tuxedo tools available to write an application’s configuration file and dynamically administer an Oracle Tuxedo application during run time.

Figure 1-3 Simplified View of Administration Tools

Simplified View of Administration Tools

In addition to using these tools to administrator Oracle Tuxedo applications, administrators use these tools to perform fault-isolation and recovery tasks when application failures occur. Oracle Tuxedo automatically recovers from many types of failures. However, some failures—often the most serious ones—require operator intervention to determine what has actually failed.

Oracle Tuxedo Administration Console

The Oracle Tuxedo Administration Console is a graphical user interface that enables administrators to perform most administration and configuration tasks for Oracle Tuxedo applications. An administrator can display and change configuration information, determine the state of each component in the system, and obtain statistical information about items such as executed requests and queued requests.

The Oracle Tuxedo Administration Console is implemented as a set of Java applets, which can run on most platforms that support a Java-capable Web browser. The server-side components of the Oracle Tuxedo Administration Console reside on one of the server machines in an Oracle Tuxedo application. To use the Console, an administrator must enter the URL of the server and download the Java applets.

For the Oracle Tuxedo Administration Console startup procedure, see “Starting the Oracle Tuxedo Administration Console” in Installing the Oracle Tuxedo System. For information about how to use the Oracle Tuxedo Administration Console, either access Help directly from the console or see Oracle Tuxedo Administration Console Online Help. Also see “Oracle Tuxedo Management Tools” in Introducing Oracle Tuxedo ATMI.

Note: Limitation: The Oracle Tuxedo Administration Console has not been updated to support any new features introduced after Oracle Tuxedo release 7.1.

Command-Line Interface

Most of the functionality needed for dynamic modification of an Oracle Tuxedo application is provided by the tmadmin and tmconfig commands. Most of the functionality needed for dynamic modification of an Oracle Tuxedo Domains configuration is provided by the dmadmin command. Each of these commands is an interactive meta-command having many subcommands for performing various administrative tasks, including the modification of configuration entries while the system is running.

For details about these commands, see reference pages tmadmin(1), tmconfig, wtmconfig(1), and dmadmin(1)in Oracle Tuxedo Command Reference. Also, see “Oracle Tuxedo Management Tools” in Introducing Oracle Tuxedo ATMI.

MIB Interface

The MIB interface is an application programming interface for directly accessing and manipulating system settings in the Oracle Tuxedo management information bases. The interface allows administrators to have total control over Tuxedo applications. The MIB interface is powerful because it is implemented with the same APIs that Tuxedo developers use to write business-critical client/server applications.

There are MIB interfaces to administer the access control list, disk-based queues, Domains, events, core Tuxedo, and the workstation extension. The following are the corresponding MIB component names: ACL_MIB, APPQ_MIB, DM_MIB, EVENT_MIB, TM_MIB, and WS_MIB. Through the MIB interface, administrators control the application by programmatically querying the Tuxedo bulletin board for the current state of MIB objects, and then effecting administrative changes by either setting and resetting specific MIB values or creating new MIB objects.

The level of control available through the MIB interface really comes in handy in failover and fallback situations. The MIB programming interface is the only way to handle all the possible complications that can occur in a failover situation. During a failover, scripts can be used to execute client MIB programs that perform specifics task such as shutting down and migrating server groups, and verifying the state of the application.

For details about the Oracle Tuxedo MIBs, see reference pages ACL_MIB(5), APPQ_MIB(5), DM_MIB(5), EVENT_MIB(5), MIB(5), TM_MIB(5), and WS_MIB(5) in Oracle Tuxedo File Formats, Data Descriptions, MIBs, and System Processes Reference; start with the MIB(5) reference page. Also, see “Oracle Tuxedo Management Tools” in Introducing Oracle Tuxedo ATMI.

 


Client and Server Components

The following figure identifies the Oracle Tuxedo client and server components and shows the connectivity between the clients and servers. Only remote Tuxedo clients are shown in the figure.

Figure 1-4 Oracle Tuxedo Client and Server Components

Oracle Tuxedo Client and Server Components

A remote Tuxedo client—ATMI (/WS), Jolt, or CORBA C++—interfaces with a Tuxedo server via a network connection and a pair of Tuxedo gateway processes: Workstation Listener/Handler (WSL/WSH), Jolt Server Listener/Handler (JSL/JSH), or IIOP Listener/Handler (ISL/ISH). A remote Tuxedo client may run on a machine that is not part of the Tuxedo server application (typically a workstation or personal computer), or the remote client may run on a machine that is part of the Tuxedo server application. For the latter case, the local operating system intercepts the messages destined for the network and redirects them to the destination process—the Tuxedo remote client or handler process—running locally.

A native Tuxedo client—a native ATMI client or a native CORBA C++ client—is co-located on a machine that is part of the Tuxedo server application and interfaces with a Tuxedo server via the Tuxedo infrastructure using interprocess communication. Native Jolt clients are not supported. These clients can only access a Tuxedo server via a pair of JSL/JSH gateway processes.

The following brief descriptions of other terms shown in the previous figure should prove helpful in understanding the connectivity between Oracle Tuxedo clients and servers:

IIOP

Internet Inter-ORB Protocol. A protocol used for communication between CORBA ORBs over the Internet (TCP/IP).

IIOPS

IIOP layered over the SSL protocol.

LLE

Link-Level Encryption. An Oracle Tuxedo protocol for establishing data privacy over network links between Oracle Tuxedo server machines.

SSL

Secure Sockets Layer. The standard protocol for establishing secure communications over the Internet (TCP/IP).

Oracle Tuxedo Client Components

The following client component software is included in the Oracle Tuxedo 10g Release 3 (10.3) distribution:

Oracle Tuxedo Server Components

The following server component software is included in the Oracle Tuxedo 10g Release 3 (10.3) distribution:

 


Invocation Capabilities

The following table lists the invocation capabilities for an application built on the Oracle system. An Oracle Tuxedo application may span multiple Oracle Tuxedo server machines and may provide ATMI services, CORBA objects, or both.

This component . . .
Can call a . . .
Through . . .
ATMI client *
ATMI service
WSL/WSH
Jolt client
ATMI service
JSL/JSH
CORBA C++ client *
CORBA C++ object
ISL/ISH
ATMI server
ATMI service
Tuxedo infrastructure
CORBA C++ object
CORBA C++ object
Tuxedo infrastructure
CORBA C++ object
ATMI service
Tuxedo infrastructure
* A native Tuxedo ATMI or CORBA C++ client does not use listener or handler gateway processes.

For information on how Oracle Tuxedo 10g Release 3 (10.3) interoperates with older releases of Oracle Tuxedo software, Oracle WebLogic Enterprise, and third-party products, or how Oracle Tuxedo 10g Release 3 (10.3) interoperates with Oracle WebLogic Server, see Oracle Tuxedo Interoperability.

Note: An Oracle Tuxedo client cannot invoke another Oracle Tuxedo client.

Client-to-Server Invocation Capabilities

The following client-to-server invocations are supported by an Oracle Tuxedo application:

Server-to-Server Invocation Capabilities

The following figure shows the invocation capabilities between Oracle Tuxedo ATMI and CORBA C++ application servers.

Figure 1-5 Oracle Tuxedo ATMI and CORBA C++ Server Invocations

Oracle Tuxedo ATMI and CORBA C++ Server Invocations

As shown in the figure, a CORBA C++ object can include ATMI calls to Oracle Tuxedo services. For an example, see the Wrapper University sample application, available in the Guide to the CORBA University Sample Applications.

 


Domains

An Oracle Tuxedo domain, or application, is defined and controlled by a single configuration file. A Tuxedo domain consists of many Tuxedo system processes, one or more application client processes, one or more application server processes, and one or more computer machines connected over a network. It is administered as a single unit.

An Oracle Tuxedo domain may provide ATMI services, CORBA objects, or both. The Tuxedo domain in the following example contains a mixture of ATMI services and CORBA objects.

Figure 1-6 Simplified View of an Oracle Tuxedo Domain

Simplified View of an Oracle Tuxedo Domain

In Oracle Tuxedo terminology, a domain is the same as an application—a business application; both terms are used as synonyms throughout the Oracle Tuxedo user documentation. Examples of business applications currently running on Tuxedo are airline and hotel reservation systems, credit authorization systems, stock-brokerage systems, banking systems, and automatic teller machines.

For more information about Tuxedo domains, see Important Oracle Tuxedo Terms and Concepts. For information about interconnecting Tuxedo domains, see Oracle Tuxedo Domains.

 


About Oracle TSAM

Oracle Tuxedo System and Application Monitor (TSAM) provides comprehensive monitoring and reporting for Oracle Tuxedo system and applications. It includes two components: Oracle TSAM Agent and Oracle TSAM Manager. The Oracle TSAM Agent enables collection of various performance metrics for applications, including XA and non-XA transactions, services, system servers.

Oracle TSAM Manager provides graphical user interface to correlate and aggregate performance metrics collected from one or more Tuxedo domains and display it in real time.

The major features included in Oracle TSAM are:

Oracle TSAM Documentation

For more Oracle TSAM information, see the following documentation: http://www.oracle.com/technology/documentation/index.html.

 


About Oracle SALT

Oracle Service Architecture Leveraging Tuxedo (SALT) is an add-on product option for Tuxedo, enabling Tuxedo applications to participate in SOA environments. Oracle SALT has two major components: native Web services stack and SCA container.

Oracle SALT allows external Web services applications to invoke Tuxedo services as Web services, and Tuxedo applications to invoke external Web services. Oracle SALT does not require any coding to achieve this. In addition, Oracle SALT includes SCA container, which allows you to develop new SOA applications focusing on business logic, while still taking advantage of Tuxedo infrastructure. SCA container also helps with effective reuse of existing application assets.

Oracle SALT Documentation

For more Oracle SALT information, see the following documentation:

http://www.oracle.com/technology/documentation/index.html.

 


About Oracle Jolt

Oracle Jolt is a Java class library and API that enables remote Java clients to access existing Oracle Tuxedo ATMI services. It enables users to build client applets and applications that can remotely invoke Tuxedo ATMI services—such as application messaging, component management, and distributed transaction processing—using an ordinary Web browser.

Oracle Jolt extends the functionality of existing Tuxedo ATMI applications to include intranet- and Internet-wide availability. Oracle Jolt also enables Oracle WebLogic Server to invoke Tuxedo ATMI services. For clarification, see Making Tuxedo Services Web Accessible Through Oracle Jolt.

Oracle Jolt Documentation

For more information about Oracle Jolt, see the following documentation:

 


About Oracle SNMP Agent

Oracle SNMP Agent for Oracle Tuxedo enables SNMP-compliant network management frameworks to manage Oracle Tuxedo systems and Oracle Tuxedo applications. Oracle SNMP Agent complies with the Simple Network Management Protocol version 1 (SNMPv1) specification.

Oracle SNMP Agent provides the SNMP links from Tuxedo applications to SNMP-based system-management consoles. It also allows multiple SNMP agents and subagents—from any vendor—to operate on the same machine.

Oracle SNMP Agent Documentation

For more information about Oracle SNMP Agent, see the following documentation:


  Back to Top       Previous  Next