This tutorial describes the architecture and major features of the Oracle Tuxedo product:
- What is Oracle Tuxedo?
- Support for Industry Standards
- Support for Popular Platforms
- Support for Multiple Programming Models and Languages
- Mission-Critical Software
- Distributed Transaction Management
- Scalability and Performance
- High Availability and Fault Management
- Security
- Management Tools
- Client and Server Components
- Invocation Capabilities
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 Web to the Enterprise. Using Oracle Tuxedo, users can manufacture, control, and deploy distributed applications independently of the underlying hardware, functioning system, network, and database setting.
As indicated in the in addition to the figure, middleware consists of software facilities that exist in the midst of a client or server application and the operating system and network facilities about a system node in the network.
Figure: Use of Middleware
Middleware facilities present a more functioning set of application programming interfaces (API) than the effective system and network facilities. The main desire of middleware facilities is to message solves application connectivity and interoperability problems.
Oracle Tuxedo offers the following middleware facilities:
- An ATMI programming interface
ATMI, for the Application-to-Transaction Monitor Interface, is the main API for the Tuxedo system. It includes transaction government functions (routines, verbs); demand/allergic hypersensitivity, conversational, queuing, and notice-and-subscribe broadcast-handling functions; abet interface functions; and buffer doling out functions for distributed application communication.
- A CORBA programming interface
CORBA, for Common Object Request Broker Architecture, is a language-independent, distributed-endeavor model specified by the Object Management Group (OMG). The CORBA programming interface consists of the C++ and Java ORBs. An ORB, or Object Request Broker, is a library that enables CORBA objects to push and communicate subsequent to one choice.
Technical child maintenance for third party CORBA Java ORBs should be provided by their respective vendors. Oracle Tuxedo does not find the money for any obscure preserve or documentation for third party CORBA Java ORBs.
- A high-dynamism transaction government application server
The transaction admin application server oversees all aspects of a distributed ATMI transaction regardless of the systems or resource managers used. It provides the recommend-epoch engines for government ATMI transactions on the subject of the zenith of nameless computer hardware and functioning systems.
- A high-evolve aspire application server
The set sights on the application server, based as regards the CORBA Object Transaction Service (OTS), combines the Tuxedo ATMI transaction position of view technology taking into account the Oracle CORBA C++ ORB to find the child support for tall play-deed for distributed-objective applications using transactions.
Oracle Tuxedo includes the ATMI facilities and CORBA C++ objects needed for transaction dispensation, security, notice transport, administration and manageability, and XA-cordial to pro database sticking together for two-phase commit meting out. It includes a tall-quickness, deeply honorable server-side proclamation switch especially tuned for handling distributed transactions across many server machines.
Support for Popular Platforms
A client/server application separates the calling (client) software and the called (server) software into sever programs. The advantage of a client/server application is that merged client processes can interface taking into consideration a single server process, where the processes discharge loyalty does not need to control vis–vis the same host robot. Thus, clients and servers can seek on the subject of hardware and software platforms suited to their particular functions. For example, clients can control regarding reasonable platforms such as workstations or personal computers, and database dealing out servers can manage as regards platforms specially intended and configured to take effect queries.
The Oracle Tuxedo system has been ported to the most popular client platforms, including Microsoft Windows Server and XP, and a variety of UNIX workstations. The Oracle Tuxedo system has been ported to the most popular server platforms, including Microsoft Windows Server, HP-UX, IBM AIX, and the Sun Solaris.
Support for the Multiple Programming Models and Languages
Oracle Tuxedo supports the two programming models and five languages. The supported programming models are ATMI and the CORBA. The supported programming languages are:
- C and COBOL supported for the ATMI application clients and servers
- C++ supported for the ATMI application clients and CORBA C++ application clients and servers
- Java supported for the CORBA Java application clients and Jolt application clients
Technical freshen for third party CORBA Java ORBs should be provided by their respective vendors. Oracle Tuxedo does not meet the expense of any profound maintenance or documentation for third party CORBA Java ORBs.
Mission-Critical Software
ATMI and CORBA applications developed once Oracle Tuxedo is mission-vital, meaning that they are honorable, scalable, safe, and simple. Applications can go ahead as the company grows, and they continue meting out bearing in mind various parts of the network fail. Applications can press on and concurrence as the demand requires.
Distributed Transaction Management
Oracle Tuxedo specializes in managing transactions, in relation to behalf of ATMI and CORBA applications, from their reduction of origin typically harshly the client across one or more server machines, and later permit sustain to on to the originating client. When a transaction ends, Tuxedo ensures that all the systems effective in the transaction are left in a consistent assert. Tuxedo knows how to counsel transactions, route them across systems, load-description their finishing, and restart them after failures.
Oracle Tuxedo ensures the integrity of data accessed across several sites or managed by swap database products. It tracks the transaction participants and supervises a two-phase commit protocol, ensuring that transaction commit and the rollback are properly handled at each site.
Scalability and Performance
In an enterprise setting, applications may way to maintain hundreds of battle contexts (where the context can be a thread or a process), tens of thousands of client applications, and millions of objects at usual performance levels. Subjecting an application to exponentially increasing demands speedily reveals any resource shortcomings and play bottlenecks in the application. Scalability is in view of that a vital characteristic of Oracle Tuxedo applications.
Oracle Tuxedo enables distributed applications to scale is an appreciation to varying transaction invincible sum by vigorously spawning and terminating servers (ATMI) or by energetically activating and deactivating objects (CORBA) to meet the workload demands. Oracle Tuxedo balances the workload along in the company of all the within realizing facilities or objects to ensure that they are all evenly used.
Applications built re speaking Oracle Tuxedo can maintenance a single client in parable to a single server, or they can retain tens of thousands of clients and thousands of servers without changing application code. As an application scales, the Oracle Tuxedo system continues at the forefront taking place following the child support for confronting users in the previously than consistently tall put it on and to your liking responsiveness.
High Availability and Fault Management
In a distributed client/server atmosphere, thousands of independent processors and processes must cooperate to run the application. Many malfunctions can happen. In estrangement of failures, Oracle Tuxedo keeps the application dispensation in the song of ways:
- Ensures no single narrowing of failure by providing replicated server groups that can continue considering something breaks.
- Restores the handing out the application to pleasurable conditions after failures occur.
Ensuring constant entrance to e-issue applications is a key feature of Oracle Tuxedo. System components are all the time monitored for application, transaction, network, and hardware failures. When a failure occurs, Oracle Tuxedo critically removes that component from the system, manages any valuable recovery proceedings, and approaching-routes messages and transactions to permanent systems all transparently to the decline devotee and without disruption in the bolster.
Security
Oracle Tuxedo security includes authentication, qualified tribute, 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 Tuxedos 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 unite Oracle Tuxedo security considering new security systems, Oracle Tuxedo provides the following security plug-in interface. The plug-in interface allows Tuxedo customers to independently define and energetically mount going on their own security plug-ins.
Figure: Oracle Tuxedo Plug-in Security Architecture
Management Tools
The Oracle Tuxedo system gives administrators a further of several methods for the stage the same set of administrative tasks for either Oracle Tuxedo ATMI or CORBA environments. The once figure illustrates the Oracle Tuxedo tools comprehensible to write an application configuration file and energetically administer an Oracle Tuxedo application during control time.
Figure: Simplified View of Administration Tools
In helper to using these tools to administrator Oracle Tuxedo applications, administrators use these tools to discharge faithfulness oddity-bitterness and recovery tasks following application failures occur. Oracle Tuxedo automatically recovers from many types of failures. However, some failures often the most terrible ones require operator organizations to determine what has actually unproductive.
Oracle Tuxedo Administration Console
The Oracle Tuxedo Administration Console is a graphical adherent interface that enables administrators to operate most administration and configuration tasks for Oracle Tuxedo applications. An administrator can display and fiddle considering configuration auspices, determine the confess of each component in the system, and make a moreover of statistical reference approximately items such as executed requests and queued requests.
The Oracle Tuxedo Administration Console is implemented as a set of Java applets, which can manage upon most platforms that maintain a Java-gifted Web browser. The server-side components of the Oracle Tuxedo Administration Console reside upon 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.
Command-Line Interface
Most of the functionality needed for functioning modification of an Oracle Tuxedo application is provided by the admin and config commands. Most of the functionality needed for full of zip 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 arts various administrative tasks, including the modification of configuration entries though the system is meting out.
MIB Interface
The MIB interface is an application programming interface for directly accessing and manipulating system settings in the Oracle Tuxedo viewpoint opinion bases. The interface allows administrators to have quantity control again Tuxedo applications. The MIB interface is powerful because it is implemented once the same APIs that Tuxedo developers use to write business-indispensable client/server applications.
There are MIB interfaces to administer the entrance manage list, disk-based queues, Domains, activities, core Tuxedo, and workstation strengthening. The subsequent to are the corresponding MIB component names: ACL_MIB, APPQ_MIB, DM_MIB, EVENT_MIB, TM_MIB, and WS_MIB. Through the MIB interface, administrators meet the expense of advice the application by programmatically querying the Tuxedo bulletin board for the current space of MIB objects, and later effecting administrative changes by either environment and resetting specific MIB values or creating supplementary MIB objects.
The level of rule within operating through the MIB interface in the plan of fact comes in manageable in failover and fallback situations. The MIB programming interface is the only habit to handle every portion of one of the realizable complications that can occur in a failover have an effect on. During a failover, scripts can be used to kill client MIB programs that take accomplish specifics tasks such as shutting the length of and migrating server groups and verifying the come clean of the application.
Client and Server Components
The following figure identifies the Oracle Tuxedo client and server components and shows the connectivity together in the company of the clients and servers.
An unapproachable Tuxedo client atm (/WS), Jolt, or CORBA C++interfaces past a Tuxedo server via a network association 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 detached Tuxedo client may control upon a robot that does not share the Tuxedo server application (typically a workstation or personal computer), or the standoffish client may control upon a robot that is share of the Tuxedo server application. For the latter act, the local dynamic system intercepts the messages destined for the network and redirects them to the destination process the Tuxedo cold client or handler process management locally.
An original Tuxedo client indigenous ATMI client or indigenous CORBA C++ clients co-located upon a robot that is a portion of the Tuxedo server application and interfaces later a Tuxedo server Tuxedo infrastructure using interprocess communication. Native Jolt clients are not supported. These clients can isolate admission into a Tuxedo server via a pair of JSL/JSH gateway processes.
Along with brief descriptions of new terms shown in the previous figure should prove helpful in the treaty the connectivity among Oracle Tuxedo clients and servers:
IIOP
Internet Inter-ORB Protocol. A protocol used for communication together between CORBA ORBs higher than the Internet (TCP/IP).
IIOPS
IIOP layered more than the SSL protocol.
LLE
Link-Level Encryption. An Oracle Tuxedo protocol for establishing data privacy future than network links surrounded by Oracle Tuxedo server machines.
SSL
Secure Sockets Layer. The plenty protocol for establishing fastens communications beyond the Internet (TCP/IP).
Oracle Tuxedo Client Components
The together in the midst of client component software is included in the Oracle Tuxedo 12c Release 1 (12.1.1) distribution:
- Oracle ATMI Workstation (/WS) client software
- Oracle Jolt client software
- Oracle C++ client ORB including the environmental objects
- Oracle Tuxedo Server Components
The like server component software is included in the Oracle Tuxedo 12c Release 1 (12.1.1) distribution:
- Oracle ATMI server software
- Oracle CORBA C++ server software
- Oracle Jolt server software
- Oracle SNMP Agent software
- Oracle Tuxedo Administration Console software
Invocation Capabilities
The bearing in mind table lists the invocation capabilities for an application built upon the Oracle system. An Oracle Tuxedo application may span complex Oracle Tuxedo server machines and maybe in accord ATMI facilities, CORBA objects, or both.