Tuxedo (Transactions for Unix , Extended for Distributed Operations) es una plataforma de middleware que se utiliza para gestionar el procesamiento de transacciones distribuidas en entornos informáticos distribuidos . Tuxedo es un sistema de procesamiento de transacciones o middleware orientado a transacciones, o servidor de aplicaciones empresariales para una variedad de sistemas y lenguajes de programación. Desarrollado por AT&T en la década de 1980, se convirtió en un producto de software de Oracle Corporation en 2008 cuando adquirieron BEA Systems . Tuxedo ahora es parte de Oracle Fusion Middleware .
Desarrollador (es) | Oracle Corporation |
---|---|
Lanzamiento estable | 12.2.2 / 30 de abril de 2016 |
Escrito en | C , C ++ , COBOL , Java , Python , Ruby , PHP |
Sistema operativo | Multiplataforma |
Tipo | Servidor de aplicaciones |
Licencia | Propiedad |
Sitio web | www |
Historia
Desde el comienzo en 1983, AT&T diseñó Tuxedo para una alta disponibilidad y para proporcionar aplicaciones extremadamente escalables para soportar aplicaciones que requieren miles de transacciones por segundo en sistemas distribuidos comúnmente disponibles. El desarrollo original tenía como objetivo la creación y administración de sistemas de soporte de operaciones para la compañía telefónica de EE. UU. Que requería capacidades de procesamiento de transacciones en línea (OLTP).
Los conceptos de Tuxedo derivados del Sistema de Operaciones de Mantenimiento de Loop (LMOS). Tuxedo admite mover la aplicación OVM fuera de los sistemas mainframe que utilizan Information Management System (IMS) de IBM a sistemas distribuidos mucho más baratos que funcionan (AT & T propia) Unix . [1]
El equipo original de Tuxedo estaba compuesto por miembros del equipo de LMOS, incluidos Juan M. Andrade, Mark T. Carges, Terrence Dwyer y Stephen Felts. [2] En 1993, Novell adquirió la división Unix System Laboratories (USL) de AT&T, que era responsable del desarrollo de Tuxedo en ese momento. En septiembre de 1993 se denominó el monitor de procesamiento de transacciones distribuidas "más conocido", que se ejecuta en 25 plataformas diferentes. [3] En febrero de 1996, BEA Systems firmó un acuerdo exclusivo con Novell para desarrollar y distribuir Tuxedo en plataformas que no sean NetWare , y la mayoría de los empleados de Novell que trabajan con Tuxedo se unen a BEA. [4] [5] En 2008, Oracle Corporation adquirió BEA Systems y TUXEDO se comercializó como parte de la línea de productos Oracle Fusion Middleware . [6] [7]
Tuxedo ha sido utilizado como middleware transaccional por una serie de herramientas de desarrollo de aplicaciones de varios niveles. Open Group utilizó algunas de las interfaces de Tuxedo como base de sus estándares, como X / Open XA y XATMI. [8]
Los desarrolladores de Tuxedo publicaron artículos al respecto a principios de la década de 1990. [9] [10] Posteriormente se convirtió en la base de algunos proyectos de investigación. [11] [12] [13]
Características
- API basadas en estándares: SCA , The Open Group XATMI, Object Management Group CORBA
- Tipos de comunicación: síncrona, asincrónica, conversacional, notificaciones no solicitadas, publicación / suscripción
- Búferes escritos
- FML / FML32: búferes de campo autodescriptivos similares a la notación de sintaxis abstracta uno o al conjunto de información rápido
- XML
- STRING y cadenas multibyte MBSTRING
- Manchas binarias CARRAY
- VIEW / VIEW32 registros descritos externamente
- RECORD que representa las estructuras de registros COBOL
- Gestión de transacciones - Transacciones globales - Protocolo de confirmación de dos fases - X / Open XA
- / D - Agrupación en clústeres - Dominios
- / WS - Clientes remotos
- WTC - Conector Tuxedo de Weblogic
- Clientes Java: Jolt [14]
- Integración Java EE (J2EE) - Adaptador Tuxedo JCA [15]
- Servicios web SOAP y REST bidireccionales - SALT [16]
- / Q - Colas transitorias (en memoria) y persistentes (también llamadas Colas confiables)
- Enrutamiento dependiente de datos (DDR)
- Event Broker (también llamado mensajería de publicación y suscripción)
- Seguridad: autenticación, autorización, auditoría y cifrado y firma de mensajes basados en infraestructura de clave pública
- Administración programada y soporte SNMP
- Supervisión del rendimiento del sistema y de las aplicaciones: TSAM Plus [17]
- Equilibrio de carga, generación y deterioro del servidor
- Conectividad de mainframe: TMA [18]
- Admite aplicaciones C , C ++ , COBOL , Python , Ruby , PHP y Java en la mayoría de las plataformas Unix , Linux , Microsoft Windows y otras plataformas propietarias como OpenVMS e IBM i .
Núcleo de mensajería
Tuxedo es, en esencia, un sistema de enrutamiento y cola de mensajes. Las solicitudes se envían a servicios con nombre y Tuxedo utiliza instalaciones de comunicación entre procesos basadas en memoria para poner las solicitudes en cola a los servidores. El solicitante no sabe dónde se encuentra el servidor que realmente procesa la solicitud o cómo se implementa. En esencia, Tuxedo proporcionó los elementos de la arquitectura orientada a servicios (SOA) décadas antes de que se acuñara la frase. Tuxedo puede utilizar el contenido del mensaje para determinar qué servidores se deben utilizar para recibir la solicitud mediante el enrutamiento dependiente de los datos.
Agrupación
El corazón del sistema Tuxedo es el tablón de anuncios (BB). Este es un segmento de memoria compartida que contiene la configuración y el estado de un dominio Tuxedo. Los servidores, los servicios, las transacciones y los clientes se registran en el BB, lo que proporciona una vista global de su estado en todas las máquinas dentro de un dominio. Para coordinar las actualizaciones del BB, se ejecuta un proceso llamado Bulletin Board Liaison (BBL) en cada máquina para mantener actualizada la copia local del BB. Una máquina maestra ejecuta un proceso llamado "Enlace distinguido del tablero de anuncios" que coordina las actualizaciones del BB. Esto permite que cada máquina tenga una vista de qué servidores, servicios, transacciones y clientes hay en cada máquina dentro del dominio.
Otro proceso en cada máquina llamado Puente es responsable de pasar las solicitudes de una máquina a otra. Esto permite que Tuxedo distribuya la carga entre las distintas máquinas dentro de un dominio y permite que los servidores y servicios se ejecuten en varias máquinas. Además, BBL y Bridge se monitorean entre sí y reinician el otro si uno falla. En el advenimiento de una falla de la máquina maestra, otra máquina designada como maestra de respaldo puede asumir la función de máquina maestra. Además, dado que las máquinas dentro de un solo dominio pueden ser de diferentes arquitecturas (x86, IA32, SPARC, P-Series, etc.), Bridge también es responsable de manejar las diferencias en cosas como la endianidad .
En Oracle, Exalogic Tuxedo aprovecha las capacidades RDMA de InfiniBand para evitar el puente. Esto permite al cliente de un servicio en una máquina realizar directamente una solicitud de un servidor en otra máquina.
Formatos de búfer flexibles
Las aplicaciones de Tuxedo pueden utilizar una variedad de formatos de mensajes dependiendo del tipo de datos que se van a pasar. Uno de los formatos más populares es el formato de búfer FML, que se parece mucho a un formato XML o ASN.1 binario . Los búferes FML pueden contener un número arbitrario de campos con nombre de tipo arbitrario. Los campos se pueden repetir y anidar. Como es un formato binario autodescriptivo, el procesamiento de campos incurre en muy poca sobrecarga en comparación con el análisis necesario para admitir algo como XML. Los búferes VIEW son esencialmente registros, estructuras C o cuadernos de copias COBOL. Un búfer VIEW tiene una descripción externa que permite a Tuxedo acceder a los campos dentro de él si es necesario para cosas como el enrutamiento dependiente de datos. Otros formatos de búfer incluyen XML, CARRAY (datos binarios opacos), STRING y MBSTRING (un búfer de cadena que contiene caracteres multibyte). Tuxedo puede convertir búferes FML de forma automática y transparente hacia y desde búferes XML.
También hay soporte para tipos de búfer desarrollados por el usuario (por ejemplo, búferes JamFlex definidos por la versión Tuxedo del conjunto de herramientas Panther RAD ).
Concentradores de comunicación
Para clientes remotos (Java, CORBA o / WS), Tuxedo proporciona concentradores de comunicación llamados escucha / manejadores que manejan la comunicación de red remota. Los clientes se conectan a estos concentradores de comunicaciones, que actúan como apoderados para los clientes. A medida que los clientes realizan solicitudes, el oyente / controlador utiliza la infraestructura local de Tuxedo para realizar la solicitud en nombre del cliente. Luego, Tuxedo equilibra la carga de las solicitudes entre los servidores dentro del dominio que ofrecen el servicio, incluso si el servidor no está en la máquina local. Esto contrasta con la mayoría de los servidores de aplicaciones Java EE , donde el cliente realiza el equilibrio de carga al realizar solicitudes a diferentes máquinas con el clúster.
Pasarelas
Para facilitar el intercambio de servicios entre dominios, Tuxedo proporciona puertas de enlace de dominio. Una puerta de enlace de dominio permite importar y exportar servicios desde dominios remotos. Esto permite que el dominio local vea los servicios en dominios remotos como si fueran servicios locales. Las puertas de enlace de dominio son responsables de propagar la seguridad y el contexto de la transacción al dominio remoto. Además de conectar los dominios Tuxedo, existen puertas de enlace de dominio para sistemas mainframe que utilizan TCP / IP , la arquitectura de red de sistemas (SNA) de IBM o los protocolos OSI y los servidores de aplicaciones Java Platform, Enterprise Edition . Para las puertas de enlace de mainframe, cada sistema ve los servicios importados del sistema remoto como servicios locales y utiliza la infraestructura de los sistemas locales para interactuar con esos servicios. Esto significa que Tuxedo ve una transacción CICS como un servicio Tuxedo y CICS ve un servicio Tuxedo como una transacción CICS.
Recuperación de fallas
La BBL de cada máquina supervisa el estado de todos los servidores y puede reiniciar automáticamente los servidores fallidos. También puede detectar servidores bloqueados y eliminarlos / reiniciarlos según sea necesario. El proceso BRIDGE en un entorno agrupado monitorea a BBL, por lo que no hay puntos únicos de falla. Todas las transacciones que se vean afectadas por una falla del servidor o de la máquina y que no hayan completado la fase de preparación se revierten. Las transacciones que hayan completado la fase de preparación pero no la fase de confirmación se confirmarán como parte de la secuencia de inicio de Tuxedo.
Seguimiento y coordinación de transacciones
Las aplicaciones Tuxedo pueden solicitar que todas las invocaciones de servicios y sus actualizaciones asociadas a los recursos controlados por los administradores de recursos (como las bases de datos) sean controladas por una transacción. Una vez que la aplicación inicia una transacción, todas las invocaciones de servicios posteriores y las invocaciones anidadas se incluyen como parte de esa transacción, incluso aquellos servicios que se ejecutaron en dominios remotos. Luego, Tuxedo coordina el procesamiento de confirmación con los administradores de recursos para garantizar actualizaciones atómicas a todos los recursos afectados. Las transacciones pueden ser controladas por la aplicación o controladas automáticamente por la configuración de Tuxedo, es decir, transacciones administradas por contenedor.
Subsistema de cola
Tuxedo proporciona un subsistema de cola llamado / Q. Esta función proporciona colas transitorias y persistentes que permiten que las aplicaciones pongan en cola y retiren mensajes de las colas con nombre de forma explícita. Las colas se pueden ordenar por tiempo de disponibilidad del mensaje, tiempo de vencimiento, prioridad, LIFO, FIFO o una combinación. Las colas son administradas por un administrador de recursos compatible con XA que permite que las operaciones de cola participen en transacciones distribuidas. Se proporciona un servidor de reenvío de cola automatizado que eliminará las entradas de una cola e invocará los servicios de Tuxedo asociados, colocando el mensaje de respuesta en una cola de respuesta asociada.
Subsistema de eventos
El subsistema de eventos dentro de Tuxedo brinda soporte tanto para eventos no solicitados como para eventos negociados. Los eventos no solicitados permiten que las aplicaciones de Tuxedo envíen notificaciones fuera de banda a los clientes que no necesariamente están esperando una respuesta. Los eventos negociados permiten que la aplicación se suscriba a eventos de interés y cuando otra aplicación publica un evento, todas las aplicaciones suscritas a ese evento lo reciben. Esto permite que las aplicaciones utilicen un modelo impulsado por eventos en lugar del modelo de solicitud / respuesta más típico. Además, esto proporciona un modelo de mensajería de publicación y suscripción que se puede combinar con / Q.
Productos complementarios
Oracle ofrece una serie de productos complementarios a Tuxedo.
Rehospedaje de mainframe
En marzo de 2010, Oracle anunció dos nuevos productos. [19] Application Runtime para CICS y Batch junto con el Oracle Tuxedo Application Rehosting Workbench asociado permite la migración de IBM Customer Information Control System (CICS) y aplicaciones por lotes a Tuxedo en sistemas distribuidos. Al proporcionar herramientas de conversión automatizadas, expansión de macro de preprocesador de API equivalente a CICS y un entorno de ejecución por lotes similar a JES-2, la migración de aplicaciones de mainframe se simplifica enormemente.
SAL
Este producto proporciona una puerta de enlace SOAP / HTTP (S) de servicios web bidireccional. Esta puerta de enlace permite que los clientes SOAP externos accedan a los servicios de Tuxedo sin realizar ningún cambio en el servicio de Tuxedo. Asimismo, las aplicaciones Tuxedo pueden llamar a un servicio web externo como si fuera un servicio Tuxedo local. La última versión de SALT admite WS-AtomicTransactions y módulos para Apache Web Server, Oracle HTTP Server y Oracle iPlanet Web Server, que permite la creación de contenido web dinámico llamando a los servicios de Tuxedo. En la versión 12.1.3 SALT se agregó soporte para servicios RESTful .
TSAM Plus
Este producto proporciona capacidades de monitoreo centralizado para múltiples dominios de Tuxedo. Los agentes de TSAM Plus se implementan en las máquinas de un dominio de Tuxedo. Estos agentes recopilan datos de métricas de los procesos de Tuxedo en ejecución según una política configurada y envían los datos a TSAM Plus Manager, donde se utilizan históricamente o en tiempo real. TSAM Plus proporciona información de configuración, ruta de llamada, patrón de llamada, ejecución del servicio, transacción y más métricas de monitoreo. TSAM Plus también supervisa las aplicaciones Tuxedo ART CICS y Batch. Un componente adicional de TSAM Plus es un complemento para Oracle Enterprise Manager Cloud Control que proporciona operación, configuración, administración y gestión completas de una aplicación Tuxedo.
Adaptadores de mainframe Tuxedo (TMA)
Este producto proporciona un conjunto de procesos de puerta de enlace que se ejecutan en Tuxedo y que se comunican con un mainframe mediante sus protocolos nativos. Esta puerta de enlace proporciona integración bidireccional entre las plataformas mainframe y Tuxedo y hace que Tuxedo aparezca como una región CICS o IMS remota para la mainframe, y la región CICS o IMS remota como otro dominio Tuxedo para la aplicación Tuxedo local.
Adaptador JCA
El adaptador Tuxedo JCA proporciona un adaptador de recursos compatible con JCA 1.5 que se puede implementar en cualquier contenedor JCA de Java EE (J2EE) 1.5 o posterior. El adaptador es compatible con la interfaz de cliente común JCA o CCI, así como con la interfaz JATMI compatible con el componente Oracle WebLogic Tuxedo Connector de Oracle WebLogic Server. La entrada y salida de mensajes es compatible con el soporte de transacciones distribuidas.
Cola de mensajes de esmoquin
Proporciona capacidades de mensajería empresarial que combinan las funciones de Oracle MessageQ con Tuxedo. Esto amplía la función de cola de mensajes / Q existente de Tuxedo al proporcionar elementos como notificación de entrega, mensajería fuera de línea y capacidad de almacenamiento y reenvío.
Referencias
- ^ Philip A. Bernstein; Eric Newcomer (2009). Principios del procesamiento de transacciones . Morgan Kaufmann. págs. 330–336. ISBN 978-1-55860-623-4.
- ^ "Juan M. Andrade" . Biografía del autor . Pearson Education InformIT . Consultado el 11 de octubre de 2011 .
- ^ Paul Korzeniowski (13 de septiembre de 1993). "Potencie su LAN con procesamiento de transacciones en línea" . InfoWorld . 15 (37). pag. 70 . Consultado el 11 de octubre de 2011 .
- ^ "Novell y BEA Systems, Inc. Completan la transición de TUXEDO a BEA" . Comunicado de prensa . BEA Systems, Inc. 28 de febrero de 1996. Archivado desde el original el 1 de julio de 2003 . Consultado el 11 de octubre de 2011 .
BEA es el desarrollador y distribuidor exclusivo del sistema TUXEDO en UNIX, NT y todas las plataformas que no son NetWare, y Novell desarrollará aplicaciones basadas en TUXEDO para NetWare. Además, la mayoría de los empleados de Novell TUXEDO, incluido el personal de desarrollo y marketing, se han unido a BEA, y BEA ha asumido todos los contratos con los socios, distribuidores y clientes de TUXEDO. BEA tiene derechos exclusivos sobre la marca registrada TUXEDO.
- ^ Paul Krill (5 de febrero de 1996). "Novell alquila el desarrollo de esmoquin" . InfoWorld . 18 (6). pag. 12 . Consultado el 11 de octubre de 2011 .
- ^ Juan M. Andrade, Mark T. Carges, Terrence Dwyer y Stephen Felts (1996). El sistema TUXEDO: software para la construcción y gestión de aplicaciones comerciales distribuidas . Addison-Wesley. pag. xxxiv. ISBN 978-0-201-63493-8.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ "Número 1 en middleware: Oracle revela el papel de BEA en la estrategia de productos para middleware de próxima generación" (comunicado de prensa). Oracle Corporation. 1 de julio de 2008 . Consultado el 11 de octubre de 2011 .
- ^ Carl Hall (2 de febrero de 1996). Construyendo aplicaciones cliente / servidor usando TUXEDO . John Wiley e hijos. pag. 35. ISBN 978-0-471-12958-5.
- ^ Juan M. Andrade, Mark T. Carges, MR MacBlane (24 de febrero de 1992). Abra el procesamiento de transacciones en línea con el sistema TUXEDO . Conferencia Internacional de la IEEE Computer Society, (COMPCON) Digest of Papers . 37 . págs. 366–371. doi : 10.1109 / CMPCON.1992.186740 . ISBN 978-0-8186-2655-5.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ EP Felt (20 de enero de 1993). Procesamiento de transacciones distribuidas en el sistema TUXEDO . Actas de la Segunda Conferencia Internacional sobre Sistemas de Información Paralelos y Distribuidos . 2 . págs. 366–371. doi : 10.1109 / PDIS.1993.253082 . ISBN 978-0-8186-3330-0.
- ^ H. Kaufmann, H.-J. Schek (18 de diciembre de 1996). Ampliación de monitores TP para el paralelismo intratransacción . Cuarta Conferencia Internacional sobre Sistemas de Información Paralelos y Distribuidos . 4 . IEEE. págs. 250–261. doi : 10.1109 / PDIS.1996.568686 . ISBN 978-0-8186-7475-4.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ T. Altiok, Wei Xiong, M. Gunduc (9 de diciembre de 2001). Una herramienta de planificación de capacidad para el middleware Tuxedo que se utiliza en los sistemas de procesamiento de transacciones . Actas de la Conferencia de simulación de invierno . 1 . IEEE. págs. 502–507. CiteSeerX 10.1.1.78.2871 . doi : 10.1109 / WSC.2001.977330 . ISBN 978-0-7803-7307-5.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Yin Wen, He Jingsha (9 de diciembre de 2001). La aplicación del middleware Tuxedo en el sistema bancario . IEEE 3rd International Conference on Communication Software and Networks . 3 . págs. 594–597. doi : 10.1109 / ICCSN.2011.6013904 . ISBN 978-1-61284-485-5.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ "Documentación de Oracle Tuxedo 12c R2" . docs.oracle.com .
- ^ "Documentación de Oracle Tuxedo JCA 12cR1 (12.1.1)" . docs.oracle.com .
- ^ "Documentación de Oracle SALT 12.1.3" . docs.oracle.com .
- ^ "Documentación de Oracle TSAM Plus 12cR2 (12.1.3)" . docs.oracle.com .
- ^ "Documentación de Oracle Tuxedo 12c R2" . docs.oracle.com .
- ^ "Oracle lanza nuevos productos de rehospedaje de mainframe para Oracle Tuxedo 11g" . Comunicado de prensa . Oracle Corporation. 31 de marzo de 2010 . Consultado el 11 de octubre de 2011 .
Otras lecturas
- Laboratorios del sistema UNIX (febrero de 1992). Versión 4.1 del sistema TUXEDO: Manual de referencia del administrador de transacciones . Prentice Hall.
enlaces externos
- Sitio web de Oracle Tuxedo