Table of Contents Previous Next PDF


Introducing Oracle Tuxedo

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
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:
ATMI, for Application-to-Transaction Monitor Interface, is the main API for the Tuxedo system. It includes transaction management functions (routines, verbs); request/response, conversational, queuing, and publish-and-subscribe message-handling functions; service interface functions; and buffer management functions for distributed application communication.
CORBA, for Common Object Request Broker Architecture, is a language-independent, distributed-object model specified by the Object Management Group (OMG). The CORBA programming interface consists of C++ and Java ORBs. An ORB, or Object Request Broker, is a library that enables CORBA objects to locate and communicate with one another.
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.
The transaction processing application server oversees all aspects of a distributed ATMI transaction, regardless of the systems or resource managers used. It provides the run-time engines for running ATMI transactions on top of ordinary computer hardware and operating systems.
The object application server, based on the CORBA Object Transaction Service (OTS), combines the Tuxedo ATMI transaction processing technology with the Oracle CORBA C++ ORB to provide high performance for distributed-object applications using transactions.
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 Chapter 2, ?$paratext[ChapHead]>.?
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 Chapter 3, ?$paratext[ChapHead]>.?
Release 8.1
Release 8.1 introduced the following features and enhancements:
Enables customers to install and interface with the Tuxedo system in English or Japanese.
Provides a new ATMI application typed buffer to handle multibyte character encoding.
Incorporates the Apache Xerces C++ Version 1.7 parser into Tuxedo for use by customer applications to read and write XML data.
Enables customers to use the Oracle WebLogic Server Administration Console to administer security for both Oracle Tuxedo and Oracle WebLogic Server.
Improves the performance of the Tuxedo domain gateway process without any changes in the user interface.
Changes the behavior of the ON_STARTUP type connection policy of the Tuxedo domain gateway process to allow customers to selectively establish connections on a per remote domain basis.
Keeps interdomain connections open through firewalls during extended periods of no application activity and enables the Tuxedo domain gateway process to quickly detect interdomain connection failures.
Allows users to configure the Tuxedo Bridge process for multithreaded execution (as opposed to single-threaded execution) to improve Bridge performance.
Increases the maximum allowable length of certain Tuxedo configuration parameters from 64 or 78 characters to 256 characters.
Adds a global maximum transaction timeout parameter to cap ATMI transaction timeout values that are excessively long.
Enables CORBA C++ clients to participate in global transactions with WebLogic Server application servers in the same way that WebLogic Server T3 clients do.
In addition, both the Oracle Jolt product and the Oracle SNMP Agent product are bundled with Oracle Tuxedo 8.1.
Release 9.0
Release 9.0 introduced the following features and enhancements:
Provides XML schema and transformation (XML to and from FML) support. Also provides a Tuxedo service metadata repository that provides access to Tuxedo service definitions. It is designed to process interactive queries by developers and administrators during application development or modification, and is not designed for the processing of high volumes of automated queries during the application production phase.
The Tuxedo .NET workstation client provides customers with access to the Tuxedo system using the .NET Framework environment. It is implemented as a set of APIs and development utilities for developers.
In addition, both the Oracle Jolt product and the Oracle SNMP Agent product are bundled with Oracle Tuxedo 9.0.
Release 9.1
Release 9.1 introduced the following features and enhancements:
Supports clustering of machines that utilize replicated Oracle database services accessing the same Oracle database. For more information, see Using Tuxedo with Oracle Real Application Clusters (RAC) in Setting Up an Oracle Tuxedo Application.
A facilitating tool that helps to efficiently develop Tuxedo .NET Workstation Client applications leveraging the benefit of Microsoft’s .NET Framework. For more information, see Creating Tuxedo .NET Workstation Client Applications in Using the Tuxedo .NET Workstation Client.
Allows Tuxedo to start up, be accessed and shut down using MS Windows Remote Desktop.
Release 10.0
Release 10.0 introduced the following new features and enhancements:
Oracle 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. The Oracle TSAM Agent provides an open plug-in framework which can be used to customize performance metrics collection and send this information to management tools other than the Oracle TSAM Manager.
The Oracle TSAM Agent can be used in conjunction with the Oracle TSAM Manager. The Oracle TSAM Manager provides a graphical user interface to correlate and aggregate performance metrics collected from one or more Tuxedo domains. It displays the information in real time.
This feature provides support for SSL encryption over all network links in Tuxedo where LLE encryption is available. For more in formation, see Introducing ATMI Security, in “Using Security in ATMI Applications.”
The MQ Adapter provides bi-directional, transactional connectivity to and from WebSphere MQSeries. For more information, see Running the Tuxedo MQ Adapter.
Generic AUTHSVR is a new Tuxedo system server (GAUTHSVR) that enables Tuxedo users to be authenticated with LDAP based directory servers without need to write custom code. For more information, see Implementing Single Point Security Administration, in “Using Security in ATMI Applications.”
Provides Tuxedo TDomain domain gateway features used to defend against DoS attacks, and Tuxedo Domain improved password pair configuration flexibility. For more information, see Introducing ATMI Security in “Using Security in ATMI Applications.”
In Tuxedo 10.0, buildclient/buildserver can accept COBOL source files and generate C stub code automatically using ACUCOBOL compiler version 6.2.0 or above.
Tuxedo 10.0 PKI plug-in added support for OpenLDAP for X.509 certificate lookup. For more information, see Administering Security,Cert-C PKI Encryption Plug-In Configuration, and Configure Certificate Lookup in Using Security in ATMI Applications.
Release 10g Release 3 (10.3)
Release 10gR3 introduced the following new features and enhancements:
IPv6 is the next generation protocol designed by the IETF to replace the current version Internet Protocol, IP Version 4 (IPv4). The most obvious improvement in IPv6 over the IPv4 is that IP addresses are lengthened from 32 bits to 128 bits. It also adds many improvements to IPv4 in areas such as routing and network autoconfiguration.
For more information on using IPv6 with Oracle Tuxedo 10gR3, see Enabling IPv6 in the Oracle Tuxedo Programming Guide.
Two new APIs, tpappthrinit(3c) and tpappthrterm(3c) are provided for application-created thread in ATMI server to create and terminate separate Tuxedo context. In context created using tpappthrinit(3c), the application-created server thread can initiate service requests and define transactions.
For more information, see Programming a Multithreaded and Multicontexted ATMI Application in the Oracle Tuxedo Administration Guide.
Assists Tuxedo client administrators to monitor application validity at runtime. You can record application high water client count, current client count, and named users.
Increased from 256 to 1024.
Increased from 30 to 254.
tlisten password encryption
tlisten.pw file is system-encrypted. To change password, you must use tlistpwd(1).
Allows re-configuring the listening address of the remote domain gateway without shutting down the local domain.
Local domain with a PERSISTENT_DISCONNECT connection policy will neither connect to nor accept connect request from any remote domain.
Release 11g Release 1 (11.1.1.1.0)
Release 11gR1 introduced the following features and enhancements:
The Oracle Tuxedo Client/Server Affinity feature provides the flexibility to set up a simple session-aware application model. It creates a "virtual" request routing scope using the Oracle Tuxedo ATMI RPC infrastructure. When a session is established, all subsequent calls are impacted by the routing scope until the session is terminated (explicitly or implicitly). With Client/Server Affinity, you can retain session context resources inside the client/server affinity scope.
The maximum Oracle Tuxedo ATMI service name length is increased to 127 characters.
When configured, ON_STARTUP domain gateway continuously re-tries to establish connection to remote domain when domain password pair validation fails.
If configured in Microsoft Windows, processes booted in an Oracle Tuxedo domain are owned by the user who executed the tmboot command, instead of the user who starts the TUXIPC system service.
Release 11g Release 1 (11.1.1.2.0)
Release 11gR1 (11.1.1.2.0) introduced the following new features and enhancements:
Oracle Tuxedo now supports multiple Resource Managers (RMs) in one group, so every group application server has the ability to communicate with multiple RMs in one global transaction. For more information, see the Oracle Tuxedo ATMI COBOL Function Reference, Oracle Tuxedo ATMI C Function Reference, Oracle Tuxedo File Formats, and Data Descriptions, MIBs, and System Processes Reference..
Previous Oracle Tuxedo releases have supported views. In Release 11.1.1.2.0 view functionality has been extedned to support nested views. For more information, see Managing Typed Buffers in Programming an Oracle Tuxedo ATMI Application Using C.
Release 11g Release 1 (11.1.1.3.0)
Release 11gR1 (11.1.1.3.0) introduced the following new features and enhancements:
Allows you to dynamically tune SPINCOUNT while taking the runtime environment into consideration, thus improve performance especially when there are heavy load on the system using XA without administrator configure SPINCOUNT with a static value.
For more information, see Oracle Tuxedo/Oracle Exalogic Users Guide and File Formats, Data Descriptions, MIBs, and System Processes Reference in the Oracle Tuxedo Reference Guide.
In Oracle Tuxedo applications, processes on separate machines communicate with each other through bridge processes using a socket. The communication between bridges can be considerably slow.
This feature utilizes RMDA through which processes on separate Exalogic machines can communicate with each other directly. If Oracle Tuxedo application processes use RDMA instead of bridge processes overall performance is improved.
For more information, see Oracle Tuxedo/Oracle Exalogic Users Guide
This feature allows Oracle Tuxedo user to configure which protocol to use, either SDP or normal TCP between Oracle Tuxedo components including Domain gateware, bridge, work station client and WSH, Jolt client and JSH t to leverage the advantages Exalogic provides such as high bandwidth, low latency as well as reduced CPU involvement.
For more information, see File Formats, Data Descriptions, MIBs, and System Processes Reference, Command Reference, and ATMI C Function Reference in the Oracle Tuxedo Reference Guide. Also, Configuring the Oracle Jolt System in Using Oracle Jolt in the Oracle Tuxedo Users Guide.
Allows you the flexibility of using an Oracle database instead of file system to store the TLOG. You can also leverage various high availability Oracle database features in disaster recovery as needed.
For more information, see About Transactions in Setting Up an Oracle Tuxedo Application in the Oracle Tuxedo Users Guide, File Formats, Data Descriptions, MIBs, and System Processes Reference and Command Reference in the Oracle Tuxedo Reference Guide.
Release 12c Release 1 (12.1.1)
Release 12c Release 1 (12.1.1) introduces the following new major features and enhancements:
Oracle Tuxedo 12c significantly enhances performance of Tuxedo applications on Exalogic with use of shared memory queues instead of IPC Message Queues for inter process communication on the same Tuxedo node. With the use of shared memory queues, the sender and receiver processes can exchange pre-allocated messages in shared memory, thus eliminating the need to copy messages several times before message reaches its intended target and resulting in much better throughput and lower latency.
For more information, see How to Create TUXCONFIG File in Administering an Oracle Tuxedo Application at Run Time, ATMI C Function Reference, File Formats, Data Descriptions, MIBs, and System Processes Reference, and Command Reference.
With Oracle Tuxedo 12c, one can share application directory (APPDIR) among many compute nodes of the storage appliance on an Exalogic system, making it easier to manage application deployment.
For more information, see the configuration of UBBCONFIG in File Formats, Data Descriptions, MIBs, and System Processes Reference.
Optimized Distributed Transaction processing within and across Tuxedo domains for read-only transaction, including global transaction across Tuxedo domain and WTC( in WLS 12.1.1 - Contact Oracle Support for a patch, or higher release of WLS). One of the typical scenarios is every branch of the global transaction access the same Oracle Database instance.
In order to use this feature with WebLogic Server, minimum patch requirement for WebLogic Server must be met. This feature is not supported for CORBA applications.
For more information, see the RESOURCE and T_DOMAIN sections in File Formats, Data Descriptions, MIBs, and System Processes Reference.
Common global transaction identifier (GTRID) is introduced in default to make branches within a global transaction crossing domains using common GTRID. The branches would be tightly coupled if they are running on same database (if the database allows).
For more information, see Oracle Tuxedo on Exalogic Users Guide.
Oracle Tuxedo 12c introduces a new concept of application packages. An application package is self-contained deployable unit. Application packages contain application binaries and required configuration artifacts, and can be automatically deployed/undeployed to an already running Tuxedo application domain. Application packaging and deployment feature includes in this release provide infrastructure for private cloud applications.
For more information, see Oracle Tuxedo Application Packaging and Deployment in Setting up an Oracle Tuxedo Application.
With this feature, one can develop new Tuxedo services using Java programming language in order to extend existing C/C++/COBOL applications. Java services are deployed and coexist in the same container as C/C++/COBOL services, allowing one to manage and monitor applications written in different programming languages using same set of tools. Coexistence in the same container also optimizes transaction coordination across services written in different languages. Java services development includes following major features in the 12c release:
For more information, see Oracle Tuxedo Java Server and Java Programming.
Following new features are added to the IBM WebSphere MQSeries Adapter:
For more information, see File Formats, Data Descriptions, MIBs, and System Processes Reference, Command Reference, and Tuxedo MQ Adapters.
This feature provides a configuration-driven way to deploy different versions of Tuxedo services in an application domain or across domains without changing the existing code. By use of version, one can logically partition the existing Tuxedo applications into different virtual application domains, machines, and server groups based on current Tuxedo management hierarchy, so as to respond to several of special business access logics and on the other hand satisfy upgrade requirements in non-stop mode.
For more information, see Applying Service Version to Tuxedo Applications in Setting up an Oracle Tuxedo Application.
With this feature, multiple server groups can be configured for the same data range, thus allowing incoming requests to failover to an alternate group, if primary group is not available, increasing the availability of the application. This feature can be used either within a domain or across the domains.
For more information, see ROUTING Section in File Formats, Data Descriptions, MIBs, and System Processes Reference.
With this feature, one can use XPath for much greater flexibility in specifying routing criteria if XML buffer type is used for data dependent routing.
For more information, see the configuration of UBBCONFIG and TM_MIB in File Formats, Data Descriptions, MIBs, and System Processes Reference.
Oracle Tuxedo 12c provides a flexible authentication and authorization framework that can be used to store credentials and Access Control Lists (ACLs) in LDAP or another 3rd party framework.
Generic LDAP authentication and authorization framework includes following major features:
For more information, see How to Enable Generic LDAP Based Security in Using Security in ATMI Applications.
With this feature, an ECID (Execution Context ID) is propagated with each request within Tuxedo and across various products in Oracle stack. Propagation of ECID allows easy correlation of requests across Tuxedo domains and Oracle products, such as WebLogic Server, Database and so on, making it faster easier to diagnose application problems.
For more information, see Configuring Tuxedo for Propagating ECID in Setting up an Oracle Tuxedo Application.
This feature enables automatic migration of master node to designated back up without any manual intervention, thus minimizing the application downtime and increasing the availability. Similarly this feature also enables automatic migration of server groups.
For more information, see Migrating Your Application in Administering an Oracle Tuxedo Application at Run Time.
This feature introduces millisecond granularity for various Tuxedo timeouts, and other configuration parameters, such as for SCANUNIT. Millisecond granularity allows faster cleanup, restart, and migration of failed servers and nodes as well as faster transaction timeouts, enabling enforcement of tighter service level agreements, such as in algorithmic trading applications.
For more information, see ATMI C Function Reference, ATMI COBOL Function Reference, and File Formats, Data Descriptions, MIBs, and System Processes Reference.
This feature allows subscribe, unsubscribe, and post of brokered events across Tuxedo domains as can be done in a local Tuxedo domain.
For more information, see Subscribing to Events in Administering an Oracle Tuxedo Application at Run Time.
If a service definition is in Tuxedo Metadata Repository, this definition can be used to generate server pseudo code in 'C' programming language using tmunloadrepos command. Server side pseudo code is generated in addition to client pseudo code, which can be done in prior releases.
For more information, see tmunloadrepos in File Formats, Data Descriptions, MIBs, and System Processes Reference.
Nested Views for Jolt are now supported in the 12c release
For more information, see Creating the Oracle Tuxedo Service Metadata Repository in Setting up an Oracle Tuxedo Application, and Using Oracle Jolt.
Oracle Tuxedo 12c now includes a new programming model that makes it extremely simple to develop new Tuxedo applications in C++. The programming model, based on SCA and originally released in SALT 10gR3, is now part of Tuxedo installation and customers upgrading to Tuxedo 12c can use the new programming model without need for any additional product.
For more information, see Service Component Architecture.
Oracle Tuxedo 12c now includes framework to develop Tuxedo services in PHP, Python, and Ruby dynamic languages. The framework originally released in SALT 10gR3 is now included in Tuxedo 12c installer and customers upgrading to Tuxedo 12c release can use this framework to develop Tuxedo services in these dynamic languages. The framework also includes client API for these languages and Apache Web server plugin to allow development of Web applications accessing Tuxedo services on the backend.
For more information, see Service Component Architecture.
Release 12c Release 2 (12.1.3)
Release 12c Release 2 (12.1.3) introduces the following new major features and enhancements:
For more information, see Oracle Tuxedo/Oracle Exalogic Users Guide.
XA affinity provides the ability to route all database requests within one global transaction to the same Oracle RAC instance; no matter if the requests come from an Oracle Tuxedo application server or Oracle WebLogic Server. This feature can reduce the cost of redirecting database requests to a new Oracle RAC instance, and thus can improve overall application performance.
For more information, see Using Tuxedo with Oracle Real Application Clusters (RAC).
With the common XID (transaction branch identifier) feature in this release, Tuxedo shares the XID of the coordinator group with all other groups within the same global transaction. This is as opposed to each group having its own XID and thus requiring two-phase commit in earlier releases if multiple groups are participating.
Common XID eliminates the need to XA commit operations for groups that connect to the same Oracle RAC instance through the same service by using the coordinator branch directly.
In other cases, where all groups in a global transaction use the coordinator branch directly, one-phase commit protocol is used instead of two-phase commit protocol, and thus avoid writing to TLOG.
For more information, see Using Tuxedo with Oracle Real Application Clusters (RAC).
This feature eliminates the need to use singleton RAC service when multiple servers in a server group participate in the same global transaction. If servers in the same server group and same global transaction happen to connect to different RAC instances, a different transaction branch is used. This enables such applications to perform load balancing across available RAC instances.
For more information, see Using Tuxedo with Oracle Real Application Clusters (RAC).
FAN (Fast Application Notifications) are events published by Oracle RAC to indicate configuration changes. A system server, TMFAN, is introduced to monitor FAN events and automatically reconfigure Tuxedo server connection to the appropriate Oracle RAC instance for planned DOWN events, UP events, LBA (Load Balancing Advisor) notifications, etc.
For more information, see Using Tuxedo with Oracle Real Application Clusters (RAC).
This feature enables application in a Tuxedo domain to directly communicate with another application in another domain using RDMA technology on Exalogic. Applications can directly access IPC queues of remote applications removing GWTDOMAIN as a potential bottleneck, thus reducing the latency and improving throughput and scalability.
For more information, see Direct Cross-Domain Communication Leveraging RDMA on Exalogic.
The following optimizations are supported on both Linux platforms on Oracle Exalogic and Solaris platforms on SPARC SuperCluster.
This feature enables creation of TLOG in Oracle Database. This feature is now available on all platforms supported in Oracle Tuxedo 12c Release 2 (12.1.3).
For more information about this feature, see About Transactions in Setting Up an Oracle Tuxedo Application in the Oracle Tuxedo Users Guide, File Formats, Data Descriptions, MIBs, and System Processes Reference and Command Reference in the Oracle Tuxedo Reference Guide.
Diagnostic tool provides a convenient way for system administrators to collect Oracle Tuxedo system runtime information and store it locally. You can choose to provide this information to Oracle support as this information can be very helpful to Oracle support engineers in analyzing Oracle Tuxedo system issues, especially for issues that can only be reproduced in production environments.
For more information, see About Oracle Tuxedo Diagnostic Tool.
Oracle Tuxedo increases the maximum number of outstanding tpacall() to 2048, making it possible to invoke more tpacall() before tpgetrply().
Oracle Tuxedo integrates with Oracle Entitlements Server (OES), allowing organizations to protect resources by defining and managing policies that control access to/usage of these resources.
For more information, see File Formats, Data Descriptions, MIBs, and System Processes Reference and ATMI C Function Reference in the Oracle Tuxedo Reference Guide, and How to Enable Security Service for OES.
Oracle Tuxedo Plug-in for Oracle Virtual Assembly Builder supports Oracle Tuxedo Application Runtime for IMS and the following Oracle VM Server in this release:
For more information, see Oracle Tuxedo Plug-in for Oracle Virtual Assembly Builder.
The eGen utility maps a COBOL copybook into a Java class. The specified COBOL copybook is parsed a Java source file is generated. This utility can also create corresponding DTD and XML schema if XML support is needed. The generated artifacts can be used from a Java application, whether running within Tuxedo, in another application server or as a standalone application to access COBOL services hosted in Tuxedo or on mainframes within CICS/IMS application environments.
For more information, see Generating a Java Application with the eGen Application Generator.
Oracle Tuxedo Mainframe Transaction Publisher greatly simplifies access to mainframe transaction from Oracle Service Bus (OSB) by providing an Oracle JDeveloper based graphical user interface. This GUI tool, imports COBOL copybooks of mainframe transactions and generates all the artifacts required, including Java Beans and OSB configurations, to access mainframe transactions through Oracle Tuxedo Mainframe Adapters.
For more information, see Tuxedo Mainframe Transaction Publisher.
Oracle Tuxedo enhances the way of developing new applications using Java.
For more information, see Oracle Tuxedo Java Server and Java Programming.
This release provides a JTA compliant transaction manager interface for Spring applications. Transaction manager interface can be specified in the Spring Framework application context configuration file and instantiated by Spring Framework. With the transaction manager, Spring applications can invoke Java server APIs to access existing Oracle Tuxedo application services, enqueue/dequeue message to/from Tuxedo persistent queue devices, execute database operations via the connection Java server creates, and perform event related operations in a distributed transaction environment.
For more information, see Oracle Tuxedo Java Server.
The RECORD facility is particularly useful when the data is transferred between COBOL language and C language. Under such condition, RECORD buffer type can be used in C language, and copybook is used in COBOL language.
The RECORD facility has the following features:
The cpy2record tool is used to generate record descriptions (stored in binary format) that are interpreted by your application programs at run time.
For more information, see cpy2record(1) in Oracle Tuxedo Command Reference, Programming An Oracle Tuxedo ATMI Application Using FML, Managing Typed Buffers in Programming An Oracle Tuxedo ATMI Application Using C, and Setting Up Data Translations in Oracle Tuxedo Mainframe Adapter for SNA User's Guide.
Release 12c Release 2 (12.2.2)
 
Release 12c Release 2 (12.2.2) introduces the following new major features and enhancements:
Distributed caching feature of Tuxedo provides access to a distributed cache to Tuxedo applications. This feature leverages Oracle Coherence as the distributed cache and provides new APIs for cache access. With this feature, one can take advantage of all the benefits that Oracle Coherence has to offer for distributed caching. This feature enables the following use cases:
When data caching is enabled, one can store Tuxedo typed buffer in the distributed cache. Tuxedo applications, running anywhere in Tuxedo domain, can now retrieve the data from the cache. This offers a new way of sharing data between clients and servers as well as a way to cache frequently accessed data, without having to go to the database every time. Most Tuxedo buffer types are supported.
When result caching is enabled, Tuxedo first checks the cache to see if response for the request buffer exists in the cache. This is done based on a criterion, which consists of configurable fields in the request buffer. If cache hit succeeds, response is returned from the cache and service is not invoked. Service is invoked if a current cache entry does not exist. Once service is invoked, results are placed in to the cache.
For more information, see Using Oracle Tuxedo Distributed Caching (TDC).
With this feature, one can significantly improve the start-up time of large applications. Servers configured in an application can be started in parallel. The feature enables specifying startup dependencies of boot sequence at the group and server levels. For more information, see tmboot(1).
This feature enables auditing of Tuxedo services based on Oracle Platform Security Services (OPSS) audit component. Based on the configuration, specific events with relevant data are generated, which can eventually be stored on a file system or eventually in the Database to further analysis using BI tools. Straightforward XML based configuration makes it easy to add/change audit policies without any impact to the application. For more information, see Integrating Audit with Oracle Platform Security Services (OPSS) and Implementing Custom Auditing.
This release allows Tuxedo applications to leverage rich security features of Oracle Access Manager. Tuxedo applications can authenticate and authorize using the credentials and resource authorization policies stored in OAM. This feature also allows single-sign-on of mobile and other applications when accessing Tuxedo services using SALT Web services. For more information, see, Setting up OAUTHSVR as the Authentication Server, and OAUTHSVR (5)
Oracle Tuxedo Java server introduces a module entity to provide better isolation among different applications running within a Tuxedo Java server. Tuxedo Java server also provides dynamic configuration reload capability to allow users to add, remove and update applications with no need to restart Tuxedo Java server. For more information, see Oracle Tuxedo Java Server.
Following XA related enhancements are included in this release:
In this release, SNMP agent has been upgraded to support SNMPv3. As a result of this upgrade, two important security features are introduced:
Provides authentication and privacy (encryption) functions and operates at the message level.
Determines whether a given principal is allowed access to a particular MIB object to perform specific functions and operates at the PDU level.
For more information, see Using SNMPv3.
This release of Tuxedo introduces a new console for managing Tuxedo services. The easy-to-use and cool looking UI provides following functionality in this release:
A new Tuxedo system server, TMADMSVR, is configured in UBBCONFIG in order to use this console. For more information, see TMADMSVR and MTP.
This release includes the following enhancements to the RECORD buffer type:
Support for REDEFINES in the RECORD buffer
For more information, see RECORD Features, RECORD Functions, File Formats, Data Descriptions, MIBs, And System Processes Reference, and Command Reference.
With this feature enabled, a Tuxedo request can be sent to a specific MSSQ server instance. This is made possible via a new API tpadvertisex(3c), which allows to advertise a singleton service, a service which can be advertised by one and only one server instance.With this feature enabled, XA affinity feature can work in MSSQ configurations. For more information, see Advertising and Unadvertising Services and tpadvertisex(3c).
For more information, see Installing the Oracle Tuxedo System.
This feature gathers statistics for the remote Oracle Tuxedo domain service calls, and flushes the statistics trace to the audit log file in a specific interval time. This feature makes it easier for you to track cross domain activities. For more information, see tmtrace(5) and tmadmin(1).
This release of Tuxedo allows tmtrace to be enabled at the service level. You can now trace one particular service in a server, which may have many services. For more information, see tmtrace(5)and tmadmin(1).
This release of Tuxedo Jolt includes tmtrace for Jolt clients, providing workstation client equivalent tracing. This release also includes ECID propagation via Jolt clients, if running in WebLogic Server. For more information, see tmtrace(5)and tmadmin(1).
Release 12c Release 2 (12.2.2) deprecated the following functionality:
Jolt Repository is deprecated and removed in this release. All service definitions stored in Jolt repository can be loaded in the Tuxedo metadata repository using the bulk loader tool.
The original Jolt repository server
JREPSVR is also deprecated, and all services that JREPSVR provided are now provided by TMMETADATA. If tmloadcf detects presence of JREPSR in UBBCONFIG, it automatically removes JREPSVR and adds TMETADATA if not already configured.
Using one repository (Tuxedo metadata repository), and one server (TMMETADATA), improve operational effectiveness and reduces the risk of service definitions getting out of sync.
For more information, see Using Oracle Jolt and Managing The Oracle Tuxedo Service Metadata Repository.
Oracle Tuxedo Administration Console is deprecated and removed in this release.
 
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:
Internet Protocol Version 6 (IPv6)—The next generation protocol designed by the IETF to replace the current version Internet Protocol, IP Version 4 (IPv4)
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 12c Release 2 (12.2.2), see Oracle Tuxedo 12c Release 2 (12.2.2) Platform Data Sheets 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:
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 ATMI and 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 Time and 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
For more information on security in ATMI and CORBA applications, see Using Security in ATMI Applications and 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
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.
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 Command Reference. 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
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 12c Release 2 (12.2.2) distribution:
Oracle Jolt 12c Release 2 (12.2.2) client software
Oracle Tuxedo Server Components
The following server component software is included in the Oracle Tuxedo 12c Release 2 (12.2.2) distribution:
Oracle Jolt 12c Release 2 (12.2.2) server software
Oracle SNMP Agent 12c Release 2 (12.2.2) software
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.
 
* A native Tuxedo ATMI or CORBA C++ client does not use listener or handler gateway processes.
For information on how Oracle Tuxedo 12c Release 2 (12.2.2) interoperates with older releases of Oracle Tuxedo software, Oracle WebLogic Enterprise, and third-party products, or how Oracle Tuxedo 12c Release 2 (12.2.2) interoperates with Oracle WebLogic Server, see Oracle Tuxedo Interoperability.
Note:
Client-to-Server Invocation Capabilities
The following client-to-server invocations are supported by an Oracle Tuxedo application:
For more information about remote ATMI clients, see Using the Oracle Tuxedo ATMI Workstation Component.
For more information about Jolt, see Using Oracle Jolt and the Oracle Jolt API Javadoc reference information.
For details, see Creating CORBA Client Applications.
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
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
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 ?$paratext>? on page 2‑1. For information about interconnecting Tuxedo domains, see ?$paratext>? on page 2‑13.
Oracle Tuxedo Product Family
The Oracle Tuxedo Family is comprised of the following: Oracle Tuxedo, Oracle ART, Oracle JCA, Oracle Jolt, Oracle SALT, Oracle SNMP Agent, and Oracle TSAM.
Excluding Oracle Tuxedo, this section provides a general introduction to the other Oracle Tuxedo family products.
About Oracle ART
Oracle Art Runtime
In a z/OS environment, CICS is used to establish transactional communications between end-users and compiled programs via screens.
CICS is middleware that implements the control and integrity of shared resources, providing developers with APIs (EXEC CICS … END-EXEC statements) to dialog with CICS inside programs mainly developed on z/OS in COBOL, PL1 and Assembler languages.
Once all the components of z/OS CICS applications (COBOL programs and data) are migrated to a UNIX/linux platform using Oracle Tuxedo Application Runtime Workbench, CICS Runtime enables them to be run unchanged using an API emulation on top of the native Oracle Tuxedo features.
Oracle ART Workbench
Oracle Tuxedo Application Rehosting Workbench is part of a packaged and comprehensive solution that enables its users:
To perform a replatforming project with minimum risk and cost;
To run the replatformed applications in a standardized UNIX/Linux, Tuxedo, Oracle environment.
Oracle ART Documentation
For more Oracle runtime and Workbench information, see the following documentation:
http://www.oracle.com/technology/documentation/index.html.
About Oracle JCA
The Oracle Tuxedo JCA Adapter is a JCA-based resource adapter that provides bi-directional service invocation between a JCA 1.5 compliant application servers and the Oracle Tuxedo system. Oracle Tuxedo JCA Adapter supports global and local transactions conforming to JCA transaction standards. It supports connection management, transaction infestation, identity propagation, and link-level security. Link-level security uses industry standard SSL/TLS or a proprietary high performance algorithm.
Oracle JCA Documentation
For more Oracle JCA 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 ?$paratext>? on page 5‑7.
Oracle Jolt Documentation
For more information about Oracle Jolt, see the following documentation:
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 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:
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.

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.