Tuxedo (Transactions for Unix, Extended for Distributed Operations) is a middleware platform used to manage transaction processing in distributed computing environments. Developed in the 1980s, as of 2008 it is a product of Oracle Corporation.
Tuxedo (Transactions for Unix, Extended for Distributed Operations) is a middleware platform used to manage transaction processing in Unix based distributed computing environments. It was developed at Bell Labs in Cherry Hill, NJ by a team lead by Marc Carges. TUXEDO started out life as a Bell Labs project call TUX (Transactions for UniX). TUX set out to do for Unix databases what IBM IMS (Information Management System) did for IBM Mainframe Databases, that being manage the resources required by a client application needing access to a database resource.
IMS introduced a third tier in the application stack, instead of the client directly accessing the database, IMS forced the mainframe application (Mostly COBOL applications) to access the database via a middle tier, IMS. The mainframe application would communicate with the IMS layer, and the IMS layer would communicate with the mainframe database. This allowed IMS to manage the database resource, and take steps to ensure the database resource was being utilized in the most efficient way possible.
For example, prior to the arrival of IMS in the mainframe world, a Cobol application that needed access to a mainframe database would open a private and dedicated connection to the mainframe database. If there were 200 instances of this COBOL application, the mainframe database would have to manage 200 connections. When IMS was introduced, the IMS middle tier would open ONE connection to the mainframe database, and multiplex that ONE connection to the 200 COBOL applications needing access, (session concentration).
This is one of the main features the TUX middleware brought to Unix database based applications, session concentration. It was originally deployed on the internal Bell Labs system that managed patents. The Bell Labs patent search application wasn't scaling, and the introduction of the TUX middleware to the search application was a great success, allowing it to remain performant as the number of concurrent users increased. Once proven on the patent search application, TUX was rolled out to AT&T's OSS (Operational Support System).
So TUX was established as a 'must have' feature internally at Bell Labs. Then TCP/IP got wired into Bell Labs Unix. When that happened, the TUX team set about to make TUX distributed, and TUXEDO was born (TUX Extended for Distributed Operations). TUXEDO kept to it's original goal, introduce a middle tier who's main goal is to make access to the database resources efficient), but now do so when the database resources are Distributed!
Distributed databases in the Unix world, at that time, implied the XA protocol, so TUXEDO had to incorporate the XA protocol, so it could manage database transactions that spanned multiples hosts/database engines. So for example, if you declare an autonomic update, and there are two separate databases involved, so long as they both supported the XA protocol, the automiticity could be enforced by TUXEDO. I.e. one table is Oracle on host A, one table is Sybase on host B, TUXEDO would enable an atomic update involving both databases.
Around the 1989 timeframe, several small development shops acquired the rights to the TUXEDO product from AT&T. They established boutique consulting operations focused on high transaction throughput applications on Unix. These boutique consultants would build very large scale transactional systems for their clients using TUXEDO middleware.
By 1996 there were approximately 11 TUXEDO boutique consultants. In 1996 BEA systems was born, with the goal of acquiring TUXEDO from AT&T and creating a middleware company. Alas AT&T would not agree to sell TUXEDO to BEA. So instead of acquiring the rights to TUXEDO, BEA instead bought all 11 TUXEDO boutique consultancies. All of a sudden, BEA owned all of the companies that were paying royalties to AT&T for TUXEDO! Soon a deal was reached, and BEA became the owner of TUXEDO.
BEA acquired the entire TUXEDO development team from Bell Labs (Marc Carges, etc.) and acquired the TUXEDO development talent from the 11 boutique consultancy practices, all of which had TUXEDO source and had modified TUXEDO for their own purposes. BEA then set out to unify all of the boutique modifications into a new production release. From early 1996 BEA made a business out of selling their TUXEDO product to customers who needed to build highly scalable Unix based systems.
In September 1998, BEA acquired Weblogic, a J2EE based Application Server. At this point in time J2EE and Java application servers were the hot item. BEA's sales increased substantially due to their acquisition of WebLogic. At first, BEA tried to blend the features of TUXEDO with J2EE in a product called 'WebLogic Enterprise' and later called 'M3'. These products failed, due mostly to the fact that they weren't Weblogic, but more generic J2EE containers.
Starting from 2000, BEA shifted to selling Weblogic, relegating TUXEDO sales to 'special case' status, i.e. if it absolutely won't scale in the Weblogic world, and you've exhausted all 'consulting resources', and it still won't scale with Weblogic, then sell TUXEDO.
In January 2008, Oracle acquired BEA. The WebLogic app server was morphed into the 'Oracle Weblogic Server' product moniker. TUXEDO is still a special case at Oracle. It is only considered when high concurrent user loads are paramount, or an application is distributed amongst several hosts/databases. TUXEDO is still used by Oracle to report TPC benchmark results. The highest TPC-C benchmark results from Oracle are reported when using TUXEDO.