Tuxedo (logiciel)
# Tuxedo (logiciel)

Tuxedo est un logiciel middleware destiné à gérer les transactions dans un environnement distribué : c'est un moniteur transactionnel pour systèmes Unix dont le nom signifie Transactions for Unix, Extended for Distributed Operations.

## Historique

Il a été développé à l'origine par AT&T en 1983 pour la création et l'administration de systèmes d'aide opérationnelle incluant un processus de transaction en ligne OLTP, repris par BEA Systems en 1996 puis racheté en 2008, par Oracle Corporation qui a intégré Tuxedo dans son offre. Tuxedo détient 40% du marché des moniteurs transactionnels en 2015. La dernière version, 12cR2 (12.2.2), a été publiée en avril 2016.

## Concepts

Le concept de Tuxedo a été conçu par le groupe de travail du programme informatique LMOS dont provenaient de manière saisonnière les membres de l'équipe Tuxedo. En 1993 Novell fit l'acquisition de la division des Laboratoires du système UNIX (USL) d'AT&T qui, à l'époque, était responsable du développement de Tuxedo. En 1996, BEA Systems conclut un accord exclusif avec Novell afin de développer et distribuer Tuxedo sur les plateformes non-NetWare, avec la plupart des employés de Novell travaillant avec Tuxedo en se joignant aux équipes de BEA Systems.

Tuxedo est à la base un système de routage de messages et de gestion de files d'attente. Les requêtes sont envoyées à des services, et Tuxedo utilise des mécanismes de communication inter-processus pour envoyer les requêtes dans les files d'attente des serveurs cible.

## Utilisation

Tuxedo peut être utilisé conjointement à Weblogic, permettant ainsi de fournir un socle solide pour n'importe quel service électronique.

Avec en 2008 le rachat de BEA Systems par Oracle, une première version Oracle Tuxedo 10gR3 voit le jour, puis en mars 2010 une version 11gR1 avec une extension "émulateur" CICS appelée Tuxedo/ART.

## Caractéristiques principales

Les caractéristiques du produit telles que communiquée par Oracle sont :

* APIs standard CORBA (Common Object Request Broker Architecture)
* APIs standard ATMI (Application to Transaction Monitor Interface)
* APIs standard SCA pour C++ (avec SALT 10gR3)
* Types de communication : Synchrone, Asynchrone, Conversationnel
* Gestion de transactions
* Cluster
* clients Java- Jolt (Java Object Library for Tuxedo)
* /QUEUE - files d'attente en mémoire
* Sécurité - authentification, gestion des autorisations, Audit, cryptage et signature
* Support SNMP
* Monitoring des performances - TSAM (Tuxedo System and Application Monitor)
* Equilibrage de charge
* Support de C, C++, et COBOL sur la plupart des plateformes Unix, Linux, Microsoft Windows, etc.
