stringtranslate.com

Tuxedo (software)

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 adquirió BEA Systems . Tuxedo es ahora parte de Oracle Fusion Middleware .

Historia

Desde sus inicios en 1983, AT&T diseñó Tuxedo para ofrecer alta disponibilidad y aplicaciones extremadamente escalables que admitieran aplicaciones que requerían miles de transacciones por segundo en sistemas distribuidos de uso común. El desarrollo original apuntaba a la creación y administración de sistemas de soporte de operaciones para la compañía telefónica estadounidense que requerían capacidades de procesamiento de transacciones en línea (OLTP).

Los conceptos de Tuxedo se derivaron del Loop Maintenance Operations System (LMOS). Tuxedo permitió trasladar la aplicación LMOS de los sistemas mainframe que utilizaban el Information Management System (IMS) de IBM a sistemas distribuidos mucho más económicos que ejecutaban Unix (el propio de AT&T) . [1]

El equipo original de Tuxedo estaba formado por miembros del equipo LMOS, entre ellos 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 lo denominó el monitor de procesamiento de transacciones distribuidas "más conocido", que se ejecutaba en 25 plataformas diferentes. [3] En febrero de 1996, BEA Systems hizo un acuerdo exclusivo con Novell para desarrollar y distribuir Tuxedo en plataformas que no fueran NetWare , y la mayoría de los empleados de Novell que trabajaban con Tuxedo se unieron 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 varias herramientas de desarrollo de aplicaciones de múltiples niveles. El 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 los años 1990. [9] [10] Más tarde se convirtió en la base de algunos proyectos de investigación. [11] [12] [13]

Características

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 recursos de comunicación entre procesos basados ​​en memoria para poner en cola las solicitudes en los servidores. El solicitante no sabe dónde se encuentra el servidor que procesa realmente la solicitud ni cómo está implementado. En esencia, Tuxedo proporcionó los elementos de la arquitectura orientada a servicios (SOA) décadas antes de que se acuñara el término. Tuxedo puede utilizar el contenido del mensaje para determinar qué servidores se deben utilizar para recibir la solicitud mediante un enrutamiento dependiente de los datos.

Agrupamiento

El corazón del sistema Tuxedo es el tablón de anuncios (BB). Se trata de un segmento de memoria compartida que contiene la configuración y el estado de un dominio Tuxedo. Los servidores, servicios, transacciones y clientes se registran en el BB, lo que proporciona una visión global de su estado en todas las máquinas de un dominio. Para coordinar las actualizaciones del BB, se ejecuta un proceso denominado Bulletin Board Liaison (BBL) en cada máquina para mantener actualizada la copia local del BB. Una máquina maestra ejecuta un proceso denominado "Distinguished Bulletin Board Liaison" que coordina las actualizaciones del BB. Esto permite que cada máquina tenga una visión de qué servidores, servicios, transacciones y clientes hay en cada máquina del dominio.

Otro proceso en cada máquina, llamado Bridge, es responsable de pasar 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 caso 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 tener diferentes arquitecturas (x86, IA32, SPARC, P-Series, etc.), Bridge también es responsable de manejar diferencias en cosas como el orden de bytes .

En Oracle Exalogic, Tuxedo aprovecha las capacidades RDMA de InfiniBand para eludir el puente. Esto permite que el cliente de un servicio en una máquina realice una solicitud directamente a un servidor en otra máquina.

Formatos de buffer flexibles

Las aplicaciones Tuxedo pueden utilizar una variedad de formatos de mensajes según el tipo de datos que se van a pasar. Uno de los formatos más populares es el formato de búfer FML, que es muy parecido a un formato binario XML o ASN.1. Los búferes FML pueden contener una cantidad arbitraria de campos con nombre de tipo arbitrario. Los campos se pueden repetir y anidar. Como es un formato binario autodescriptivo, el procesamiento de los 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 libros 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 los 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 de forma automática y transparente búferes FML a búferes XML y viceversa.

También hay soporte para tipos de buffer desarrollados por el usuario (por ejemplo, buffers JamFlex definidos por la versión Tuxedo del conjunto de herramientas Panther RAD ).

Concentradores de comunicación

Para los clientes remotos (Java, CORBA o WS), Tuxedo proporciona concentradores de comunicación denominados controladores/escucha que gestionan la comunicación de red remota. Los clientes se conectan a estos concentradores de comunicación, que actúan como servidores proxy para los clientes. A medida que los clientes realizan solicitudes, el controlador/escucha utiliza la infraestructura local de Tuxedo para realizar la solicitud en nombre del cliente. Luego, Tuxedo equilibra la carga de las solicitudes en 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 equilibrio de carga lo realiza el cliente, que realiza solicitudes a diferentes máquinas con el clúster.

Puertas de enlace

Para facilitar el uso compartido 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 transacción al dominio remoto. Además de conectar dominios Tuxedo entre sí, 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 servidores de aplicaciones Java Platform, Enterprise Edition . Para las puertas de enlace de mainframe, cada sistema ve los servicios importados desde el sistema remoto como servicios locales y utiliza la infraestructura de 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 fallos

El BBL de cada máquina supervisa el estado de todos los servidores y puede reiniciar automáticamente los servidores que fallaron. También puede detectar servidores colgados y eliminarlos o reiniciarlos según sea necesario. El proceso BRIDGE en un entorno en clúster supervisa el BBL, por lo que no hay puntos únicos de falla. Cualquier transacción que se vea afectada por una falla del servidor o de la máquina y que no haya completado la fase de preparación se revierte. 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 arranque de Tuxedo.

Seguimiento y coordinación de transacciones

Las aplicaciones Tuxedo pueden solicitar que todas las invocaciones de servicios y sus actualizaciones asociadas a cualquier recurso controlado por los administradores de recursos (como bases de datos) sean controladas por una transacción. Una vez que la aplicación comienza una transacción, todas las invocaciones de servicios subsiguientes y las invocaciones anidadas se incluyen como parte de esa transacción, incluso aquellos servicios que se ejecutaron en dominios remotos. Tuxedo luego coordina el procesamiento de confirmación con los administradores de recursos para garantizar actualizaciones atómicas para 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 colas

Tuxedo proporciona un subsistema de colas llamado /Q. Esta función proporciona colas transitorias y persistentes que permiten a las aplicaciones poner y quitar mensajes de colas con nombre de forma explícita. Las colas se pueden ordenar por tiempo de disponibilidad del mensaje, tiempo de expiración, prioridad, LIFO, FIFO o una combinación de ambos. 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 colas automatizado que eliminará las entradas de una cola e invocará un servicio Tuxedo asociado, colocando el mensaje de respuesta en una cola de respuesta asociada.

Subsistema de eventos

El subsistema de eventos de Tuxedo proporciona soporte para eventos no solicitados y eventos gestionados. Los eventos no solicitados permiten que las aplicaciones de Tuxedo envíen notificaciones fuera de banda a clientes que no necesariamente están esperando una respuesta. Los eventos gestionados permiten que las aplicaciones se suscriban 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.

Reubicación del mainframe

En marzo de 2010, Oracle anunció dos nuevos productos. [19] Application Runtime for CICS and Batch junto con 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 macros 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) bidireccional para servicios web. Esta puerta de enlace permite que los clientes SOAP externos accedan a los servicios Tuxedo sin realizar ningún cambio en el servicio 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, lo que permite la creación de contenido web dinámico llamando a los servicios Tuxedo. En la versión 12.1.3, SALT agregó compatibilidad con servicios RESTful .

TSAM Plus

Este producto proporciona capacidades de monitoreo centralizado para varios dominios Tuxedo. Los agentes TSAM Plus se implementan en las máquinas de un dominio Tuxedo. Estos agentes recopilan datos de métricas de los procesos 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 de servicio, transacción y más métricas de monitoreo. TSAM Plus también monitorea 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 se comunican con un mainframe mediante sus protocolos nativos. Esta puerta de enlace proporciona una integración bidireccional entre el mainframe y las plataformas Tuxedo y hace que Tuxedo aparezca como una región remota de CICS o IMS para el mainframe, y la región remota de CICS o IMS como otro dominio de Tuxedo para la aplicación local de Tuxedo.

Adaptador JCA

El adaptador Tuxedo JCA proporciona un adaptador de recursos compatible con JCA 1.5 que se puede implementar en cualquier contenedor JCA Java EE (J2EE) 1.5 o posterior. El adaptador admite tanto la interfaz de cliente común JCA o CCI, como la interfaz JATMI compatible con el componente Oracle WebLogic Tuxedo Connector de Oracle WebLogic Server. Se admite la entrada y salida de mensajes junto con la compatibilidad con transacciones distribuidas.

Cola de mensajes de Tuxedo

Proporciona capacidades de mensajería empresarial que combinan las características de Oracle MessageQ con Tuxedo. Esto amplía la función de cola de mensajes /Q existente de Tuxedo al proporcionar funciones como notificación de entrega, mensajería sin conexión y capacidad de almacenamiento y reenvío.

Referencias

  1. ^ Philip A. Bernstein; Eric Newcomer (2009). Principios del procesamiento de transacciones. Morgan Kaufmann. pp. 330–336. ISBN 978-1-55860-623-4.
  2. ^ "Juan M. Andrade". Biografía del autor . Pearson Education InformIT . Consultado el 11 de octubre de 2011 .
  3. ^ Paul Korzeniowski (13 de septiembre de 1993). "Supercharge your LAN with On-Line Transaction Processing" (Mejore su red local con el procesamiento de transacciones en línea). InfoWorld . Vol. 15, núm. 37. pág. 70. Consultado el 11 de octubre de 2011 .
  4. ^ "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 sean 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 comercial TUXEDO.
  5. ^ Paul Krill (5 de febrero de 1996). "Novell alquila Tuxedo Development". InfoWorld . Vol. 18, núm. 6. pág. 12. Consultado el 11 de octubre de 2011 .
  6. ^ Juan M. Andrade; Mark T. Carges; Terrence Dwyer; Stephen Felts (1996). El sistema TUXEDO: software para construir y gestionar aplicaciones empresariales distribuidas . Addison-Wesley. pág. xxxiv. ISBN 978-0-201-63493-8.
  7. ^ "Número 1 en middleware: Oracle revela el rol de BEA en la estrategia de productos para middleware de próxima generación" (nota de prensa). Oracle Corporation. 1 de julio de 2008. Consultado el 11 de octubre de 2011 .
  8. ^ Carl Hall (2 de febrero de 1996). Creación de aplicaciones cliente/servidor con TUXEDO. John Wiley & Sons. pág. 35. ISBN 978-0-471-12958-5.
  9. ^ Juan M. Andrade; Mark T. Carges; MR MacBlane (24 de febrero de 1992). "Procesamiento de transacciones en línea abiertas con el sistema TUXEDO". Compendio de artículos COMPCON primavera de 1992. Vol. 37. págs. 366–371. doi :10.1109/CMPCON.1992.186740. ISBN 978-0-8186-2655-5.S2CID43607004  .​
  10. ^ EP Felt (20 de enero de 1993). "Procesamiento de transacciones distribuidas en el sistema TUXEDO". [1993] Actas de la Segunda Conferencia Internacional sobre Sistemas de Información Paralelos y Distribuidos . Vol. 2. págs. 366–371. doi :10.1109/PDIS.1993.253082. ISBN 978-0-8186-3330-0. Número de identificación del sujeto  45235735.
  11. ^ H. Kaufmann; H.-J. Schek (18 de diciembre de 1996). "Extensión de los monitores TP para el paralelismo intratransaccional". Cuarta Conferencia Internacional sobre Sistemas de Información Paralelos y Distribuidos . Vol. 4. IEEE. págs. 250–261. doi :10.1109/PDIS.1996.568686. ISBN. 978-0-8186-7475-4. Número de identificación del sujeto  26548972.
  12. ^ T. Altiok; Wei Xiong; M. Gunduc (9 de diciembre de 2001). "Una herramienta de planificación de capacidad para el middleware Tuxedo utilizado en sistemas de procesamiento de transacciones". Actas de la Conferencia de Simulación de Invierno de 2001 (Cat. N.º 01CH37304) . Vol. 1. IEEE. págs. 502–507. CiteSeerX 10.1.1.78.2871 . doi :10.1109/WSC.2001.977330. ISBN .  978-0-7803-7307-5.S2CID 1766282  .
  13. ^ Yin Wen; He Jingsha (9 de diciembre de 2001). "La aplicación del middleware Tuxedo en el sistema bancario". 2011 IEEE 3rd International Conference on Communication Software and Networks . Vol. 3. págs. 594–597. doi :10.1109/ICCSN.2011.6013904. ISBN 978-1-61284-485-5. Número de identificación del sujeto  17234102.
  14. ^ "Documentación de Oracle Tuxedo 12c R2". docs.oracle.com .
  15. ^ "Documentación de Oracle Tuxedo JCA 12cR1 (12.1.1)". docs.oracle.com .
  16. ^ "Documentación de Oracle SALT 12.1.3". docs.oracle.com .
  17. ^ "Documentación de Oracle TSAM Plus 12cR2 (12.1.3)". docs.oracle.com .
  18. ^ "Documentación de Oracle Tuxedo 12c R2". docs.oracle.com .
  19. ^ "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 .

Lectura adicional

Enlaces externos