Skip navigation.

Product Overview

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents Index View as PDF   Get Adobe Reader

Introducing BEA Tuxedo

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

 


What is BEA Tuxedo?

BEA 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 BEA 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.

BEA Tuxedo offers the following middleware services:

Note: The BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB were deprecated in Tuxedo 8.1 and are no longer supported in Tuxedo 9.0.

All BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB text references, associated code samples, etc. should only be used:

Technical support for third party CORBA Java ORBs should be provided by their respective vendors. BEA Tuxedo does not provide any technical support or documentation for third party CORBA Java ORBs.

BEA 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

BEA Tuxedo is a proven, mature system spanning 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 BEA Jolt product was bundled with BEA Tuxedo for the first time.

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

Release 8.0

Release 8.0 introduced the BEA 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 BEA Tuxedo core technology infrastructure.

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

Release 8.1

Release 8.1, the current release of the BEA Tuxedo product, introduces the following new features and enhancements:

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

Release 9.0

Release 9.0, the current release of the BEA Tuxedo product, introduces the following new features and enhancements:

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

Release 9.1

Release 9.1, the current release of the BEA Tuxedo product, is a monor upgrade release to Tuxedo 9.0 and introduces the following new features and enhancements:

 


Support for Industry Standards

The BEA 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. BEA 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 BEA 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 BEA 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 BEA Tuxedo system has been ported to most popular client platforms, including Microsoft Windows 2003 and XP, and a variety of UNIX workstations. The BEA Tuxedo system has been ported to most popular server platforms, including Microsoft Windows 2003, HP-UX, IBM AIX, and Sun Solaris.

For a complete list of supported platforms for BEA Tuxedo 9.0, see BEA Tuxedo 9.0 Platform Data Sheets on page A-1 in Installing the BEA Tuxedo System. For a complete list of supported platforms for earlier releases of BEA Tuxedo, see Supported Platforms.

 


Support for Multiple Programming Models and Languages

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

Note: The BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB were deprecated in Tuxedo 8.1 and are no longer supported in Tuxedo 9.0.

All BEA Tuxedo CORBA Java client and BEA Tuxedo CORBA Java client ORB text references, associated code samples, etc. should only be used:

Technical support for third party CORBA Java ORBs should be provided by their respective vendors. BEA Tuxedo does not provide any technical support or documentation for third party CORBA Java ORBs.

 


Mission-Critical Software

ATMI and CORBA applications developed with BEA 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

BEA 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.

BEA 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 BEA Tuxedo system also coordinates the recovery of transactions in the event of site failure, network failure, or global resource deadlocks. The BEA 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 BEA 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 BEA 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 BEA Tuxedo applications.

BEA 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. BEA Tuxedo balances the workload among all the available services or objects to ensure that they are all evenly used.

Applications built on BEA 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 BEA Tuxedo system continues to provide end users with consistently high performance and good responsiveness.

For more information about scaling, see "Tuning a BEA Tuxedo ATMI Application" in Administering a BEA 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, BEA Tuxedo keeps the application running in the following ways:

Ensuring constant access to e-business applications is a key feature of BEA Tuxedo. System components are constantly monitored for application, transaction, network, and hardware failures. When a failure occurs, BEA 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

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

In order to integrate BEA Tuxedo security with other security systems, BEA 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 BEA Tuxedo Plug-in Security Architecture

BEA 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 BEA Tuxedo software or BEA WebLogic Enterprise, or when interoperating with BEA WebLogic Server, see BEA Tuxedo Interoperability.

 


Management Tools

The BEA Tuxedo system gives administrators a choice of several methods for performing the same set of administrative tasks for either BEA Tuxedo ATMI or CORBA environments. The following figure illustrates the BEA Tuxedo tools available to write an application's configuration file and dynamically administer a BEA 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 BEA Tuxedo applications, administrators use these tools to perform fault-isolation and recovery tasks when application failures occur. BEA 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.

BEA Tuxedo Administration Console

The BEA Tuxedo Administration Console is a graphical user interface that enables administrators to perform most administration and configuration tasks for BEA 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 BEA 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 BEA Tuxedo Administration Console reside on one of the server machines in a BEA Tuxedo application. To use the Console, an administrator must enter the URL of the server and download the Java applets.

For the BEA Tuxedo Administration Console startup procedure, see Starting the BEA Tuxedo Administration Console on page 7-1 in Installing the BEA Tuxedo System. For information about how to use the BEA Tuxedo Administration Console, either access Help directly from the console or see BEA Tuxedo Administration Console Online Help. Also see BEA Tuxedo Management Tools on page 4-1 in Introducing BEA Tuxedo ATMI.

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

Command-Line Interface

Most of the functionality needed for dynamic modification of a BEA Tuxedo application is provided by the tmadmin and tmconfig commands. Most of the functionality needed for dynamic modification of a BEA 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 BEA Tuxedo Command Reference. Also, see BEA Tuxedo Management Tools on page 4-1 in Introducing BEA Tuxedo ATMI.

MIB Interface

The MIB interface is an application programming interface for directly accessing and manipulating system settings in the BEA 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 BEA 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 BEA Tuxedo File Formats, Data Descriptions, MIBs, and System Processes Reference; start with the MIB(5) reference page. Also, see BEA Tuxedo Management Tools on page 4-1 in Introducing BEA Tuxedo ATMI.

 


Client and Server Components

The following figure identifies the BEA 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 BEA Tuxedo Client and Server Components

BEA 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 BEA 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. A BEA Tuxedo protocol for establishing data privacy over network links between BEA Tuxedo server machines.

SSL

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

BEA Tuxedo Client Components

The following client component software is included in the BEA Tuxedo 9.0 distribution:

BEA Tuxedo Server Components

The following server component software is included in the BEA Tuxedo 9.0 distribution:

 


Invocation Capabilities

The following table lists the invocation capabilities for an application built on the BEA system. A BEA Tuxedo application may span multiple BEA 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 BEA Tuxedo 9.0 interoperates with older releases of BEA Tuxedo software, BEA WebLogic Enterprise, and third-party products, or how BEA Tuxedo 9.0 interoperates with BEA WebLogic Server, see BEA Tuxedo Interoperability.

Note: A BEA Tuxedo client cannot invoke another BEA Tuxedo client.

Client-to-Server Invocation Capabilities

The following client-to-server invocations are supported by a BEA Tuxedo application:

Server-to-Server Invocation Capabilities

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

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

BEA Tuxedo ATMI and CORBA C++ Server Invocations


 

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

 


Domains

A BEA 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.

A BEA 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 a BEA Tuxedo Domain

Simplified View of a BEA Tuxedo Domain


 

In BEA Tuxedo terminology, a domain is the same as an application—a business application; both terms are used as synonyms throughout the BEA 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 BEA Tuxedo Terms and Concepts. For information about interconnecting Tuxedo domains, see BEA Tuxedo Domains.

 


About BEA Jolt

BEA Jolt is a Java class library and API that enables remote Java clients to access existing BEA 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.

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

BEA Jolt Licensing

BEA Jolt 9.0, which is included in the BEA Tuxedo 9.0 distribution, is controllable through the BEA Tuxedo 9.0 license. BEA Jolt remains a separately sold and licensed product.

BEA Jolt Documentation

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

 


About BEA SNMP Agent

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

BEA 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.

BEA SNMP Agent Licensing

BEA SNMP Agent 9.0, which is included in the BEA Tuxedo 9.0 distribution, is considered part of the Tuxedo 9.0 product. As such, the only product license required for BEA SNMP Agent is a valid BEA Tuxedo 9.0 license on the host Windows or UNIX system.

BEA SNMP Agent Documentation

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

 

Skip navigation bar  Back to Top Previous Next