Transacciones distribuidas
Los sistemas de procesamiento de transacciones (TP) distribuidas se diseñan para facilitar las transacciones que abarcan recursos heterogéneos relacionados con transacciones en un entorno distribuido. Un sistema TP de transacciones distribuidas permite a la aplicación combinar en una unidad transaccional actividades tan diferentes como la recuperación de un mensaje de una cola de Message Queuing, el almacenamiento del mensaje en una base de datos de Microsoft SQL Server y la eliminación de todas las referencias existentes al mensaje en una base de datos de Oracle Server. Como abarcan varios recursos de datos, es importante que las transacciones distribuidas exijan las propiedades ACID para mantener la coherencia de los datos en todos los recursos.
Un sistema TP de transacciones distribuidas está formado por varias entidades cooperadoras, como se describe en las secciones que figuran a continuación. Estas entidades son lógicas y pueden residir en el mismo equipo o en equipos diferentes.
Supervisores del procesamiento de transacciones (TP)
Un supervisor TP consiste en software que se sitúa entre una aplicación relacionada con transacciones y una colección de recursos. Maximiza las actividades del sistema operativo, simplifica las comunicaciones de red y conecta varios clientes con varias aplicaciones que tienen acceso potencial a varios recursos de datos.
En lugar de crear una aplicación que administre un entorno distribuido multiusuario, se crea una aplicación formada por solicitudes de transacciones únicas. El supervisor cambia el tamaño de la aplicación según proceda.
El supervisor TP para Microsoft Windows 2000 es DTC (Coordinador de transacciones distribuidas).
Administradores de transacciones
En una transacción distribuida, cada recurso participante tiene un administrador de transacciones (TM) local para efectuar el seguimiento de las transacciones entrantes y salientes en el equipo. El supervisor TP asigna a un TM la tarea adicional de coordinar todas las actividades entre TM locales. El TM que coordina las actividades de transacción recibe el nombre de TM principal o coordinador.
Un TM coordina y administra todas las funciones del procesamiento de transacciones, pero no está preparado para administrar datos directamente. Los administradores de recursos controlan las actividades relacionadas con datos.
Administradores de recursos
Un administrador de recursos es un servicio de sistema que administra datos persistentes o permanentes en bases de datos, colas de mensajes permanentes o sistemas de archivos transaccionales. El administrador de recursos almacena datos y realiza su recuperación ante un error del sistema.
SQL Server y Message Queuing proporcionan administradores de recursos que participan en transacciones distribuidas. Oracle, Sybase, Informix, IBM (para IBM DB2) e Ingres también proporcionan administradores de recursos compatibles para los correspondientes productos de base de datos.
Dispensadores de recursos
Un dispensador de recursos administra los estados no permanentes que pueden aparecer en las transacciones. Por ejemplo, el dispensador de recursos de Open Database Connectivity (ODBC) administra grupos de conexiones de bases de datos, reclamando cada conexión cuando deja de ser necesaria.