X/Open XA
# X/Open XA

En informática, el estándar XA es una especificación de The Open Group para el procesamiento de transacciones distribuidas (DTP). En él se describe la interfaz entre el gestor de transacciones global y el administrador de los recursos locales. El objetivo de XA es permitir a múltiples recursos (tales como bases de datos, servidores de aplicaciones, colas de mensajes, cachés transaccionales, etc.) poder ser accedidos dentro de la misma transacción, preservando así las propiedades ACID a través de aplicaciones. XA utiliza un commit en dos fases para asegurar que todos los recursos o bien ejecutan commit o rollback sobre cualquier transacción particular consistentemente (todos hacen lo mismo).

XA viene de "eXtended Architecture" y es un estándar del grupo X/Open para ejecutar una "transacción global" que tiene acceso a más de un almacén de datos back-end. XA especifica cómo un gestor de transacciones debe enrollar las transacciones contra los diferentes almacenes de datos en una transacción "atómica" y ejecutar esta con el protocolo de commit en dos fases (2PC) para la transacción. Por lo tanto, XA es un tipo de coordinación de transacciones, a menudo entre bases de datos.

Las transacciones ACID son una característica clave de las bases de datos, pero por lo general las bases de datos sólo proporcionan las garantías ACID para las actividades que ocurren dentro de una sola base de datos. La coordinación de XA permite que muchos recursos (de nuevo, a menudo bases de datos) participen en una operación de actualización atómica, única y coordinada.

La especificación XA describe lo que un gestor de recursos debe hacer para soportar el acceso transaccional. Los gestores de recursos que siguen esta especificación se dice que son compatibles con XA (XA-compliant).

La especificación XA se basa en una interfaz utilizada en el sistema Tuxedo desarrollado en la década de 1980, pero adoptado por varios sistemas desde entonces.

