Message Queue Server transaccional
Una transacción es una serie de modificaciones de un almacén de datos (como una base de datos o un sistema de archivos) que se garantiza que se ejecuten correctamente o que no se ejecuten en absoluto. Para implementar una transacción, se mantiene un registro del estado del almacén de datos antes de que comience la transacción y, si se produce un error en una de las modificaciones, la transacción devuelve un error y el estado inicial se restaura (o se revierte). Las transacciones se usan para mantener la integridad de los datos y, por consiguiente, desempeñan un papel importante en la programación de software empresarial.
A menudo, las aplicaciones se pueden desarrollar mediante una transacción empresarial o un flujo de trabajo que se divide en varias transacciones o actividades más pequeñas. Estas actividades se separan en el tiempo y, a continuación, se conectan mediante colas de mensajes confiables.
- La primera transacción implica la base de datos de entrada de pedidos. Message Queuing mueve el mensaje de una cola a otra, exactamente una vez, mediante funcionalidades de transacción. Si se actualiza la base de datos, hay un mensaje en la cola. Si el mensaje no llega a la cola, se anula y se revierte la base de datos.
- En algún momento, Message Queuing detecta que el servidor está disponible. No hay sondeo de aplicación para la existencia del servidor. Esta es la segunda transacción.
- La tercera transacción implica una consulta de base de datos de envío y la actualización de la base de datos de envío. Si se produce un error en el servidor en medio de esta transacción, la modificación se revierte y el mensaje se devuelve a la cola de entrada. Esto garantiza que la integridad de los datos y las bases de datos se mantenga durante las transacciones.