Transacciones - Escenarios y ejemplos
ESCENARIOS DE PROCESOS
TRANSACCIONALES
A
la hora de construir procesos transaccionales debemos considerar diferentes
escenarios. Nos referimos al gestor como el proceso controlador de la
transacción y los procesos como módulos o rutinas que procesan una parte de la
información.
Escenario
|
Descripción
|
Enfoque transaccional
|
Procesos de corta duración en un sistema centralizado
|
Varios procesos de corta duración
que persisten datos en un sistema centralizado. El gestor de base de datos y
los procesos residen en el mismo sistema.
|
Transacción atómica. El gestor se
encarga de ejecutar secuencialmente cada proceso y de verificar antes de la
siguiente ejecución que todo ha terminado correctamente. El gestor se encarga
de la persistencia de datos.
|
Procesos de corta y larga duración
en un sistema distribuido
|
Varios procesos en un sistema
distribuido que persisten datos. Algunos son de corta y otros de larga
duración. Las bases de datos y los procesos pueden residir en diferentes
sistemas.
|
Transacción de larga duración. El
gestor ejecuta secuencialmente cada proceso. Cada proceso realiza su propia
persistencia de datos informando al gestor si todo ha ido bien o mal. El gestor se encarga de mantener el estado
general del proceso y de ejecutar operaciones de compensación para todo el
sistema si alguno de los procesos falla.
|
Transacciones atómicas en un
sistema centralizado
|
Se ejecutan varias transacciones
en un sistema centralizado
persistiendo sus datos. Las bases de datos y las transacciones residen
en el mismo sistema.
|
Transacción atómica. Cada
transacción informa al gestor si ha ido bien y mal. El gestor se encarga de
mantener el estado general del proceso y de ejecutar operaciones de
compensación para todo el sistema si alguna de las transacciones ha ido mal.
|
Transacciones atómicas en sistema
distribuido
|
Se ejecutan varias transacciones
en un sistema distribuido. Cada una de ellas persiste sus datos. Las bases de
datos y las transacciones residen en sistemas diferentes.
|
Transacción atómica. Cada
transacción informa al gestor si ha ido bien y mal. El gestor se encarga de mantener
el estado general del proceso y de ejecutar operaciones de compensación para
todo el sistema si alguna de las transacciones ha ido mal.
|
Transacciones atómicas y de larga
duración en un sistema centralizado
|
Se ejecutan varias transacciones
en un sistema centralizado persistiendo sus datos. Algunas de ellas son atómicas y otras de
larga duración. Las bases de datos y las transacciones residen en el mismo
sistema. El tiempo de respuesta entre transacciones puede ser largo.
|
Transacción de larga duración. El
gestor ejecuta secuencialmente cada proceso. Cada proceso realiza su propia
persistencia de datos. El gestor se
encarga de mantener el estado general del proceso y de ejecutar operaciones
de compensación para todo el sistema si alguno de los procesos falla.
|
Transacciones de larga duración en
un sistema distribuido
|
Se ejecutan varias transacciones
en un sistema distribuido persistiendo sus datos. Las bases de datos y las
transacciones residen en diferentes sistemas. El tiempo de respuesta entre
transacciones puede ser largo.
|
Transacción de larga duración. El
gestor ejecuta secuencialmente cada transacción. Cada transacción realiza su propia persistencia de datos
informando al gestor si todo ha ido bien o mal. El gestor se encarga de mantener el estado
general del proceso y de ejecutar operaciones de compensación para todo el
sistema si alguno de las transacciones falla.
|
Transacciones atómicas y de larga
duración en un sistema distribuido
|
Se ejecutan varias transacciones
en un sistema distribuido persistiendo sus datos. Las bases de datos y las
transacciones residen en diferentes sistemas. El tiempo de respuesta entre
transacciones puede ser largo.
|
Transacción de larga duración. El
gestor ejecuta secuencialmente cada transacción. Cada transacción realiza su propia persistencia de datos
informando al gestor si todo ha ido bien o mal. El gestor se encarga de mantener el estado
general del proceso y de ejecutar operaciones de compensación para todo el
sistema si alguno de las transacciones falla.
|
EJEMPLOS DE ESCENARIOS
Escenario
|
Ejemplos
|
Procesos de corta duración en un sistema centralizado
|
Programa COBOL que llama a módulos
que escriben en la base de datos DB2. Si todas las llamadas prosperan, el
programa principal COBOL realiza un
COMMIT. En caso contrario, realiza un ROLLBACK de todos los datos y termina
el proceso transaccional.
|
Procesos de corta y larga duración en un sistema
distribuido
|
Una aplicación BizTalk o
MessageBroker incluye un Human Workflow y varias transacciones atómicas en
una orquestación.
|
Transacciones atómicas en un
sistema centralizado
|
Transacciones CICS que permiten
que el frontal de negocio acceda a la capa de negocio y a los datos del
backend.
|
Transacciones atómicas en sistema
distribuido
|
Aplicaciones de escritorio o Web
que actualizan bases de datos. La aplicación puede estar desplegada en un
ordenador Windows mientras que la base de datos se ejecuta en un servidor AIX
o zOS. Al realizar operaciones de actualización (UPDATE o INSERT) se realizan
operaciones de persistencia de datos (COMMIT y ROLLBACK)
|
Transacciones atómicas y de larga
duración en un sistema centralizado
|
Un proceso Batch típico. Cada paso
de JCL se comporta como una transacción atómica persistiendo datos y estado e
indicando al JCL si ha terminado correctamente o no. El JCL hace de proceso
controlador, decidiendo que pasos hay que ejecutar y cuáles no y termina con
cero si todo ha ido bien o con un código distinto de cero si ha habido algún
error, o sea termina (cadena terminada) o no termina (cadena “cascada”). Al mantenerse estado es
posible relanzar el JCL en un paso específico. En dependencia del proceso
Batch y del volumen de datos puede durar desde unos pocos segundos hasta
horas en ejecución.
|
Transacciones de larga duración en
un sistema distribuido
|
Orquestaciones de BizTalk que
incluyen procesos de Workflow Foundation (WWF).
|
Transacciones atómicas y de larga
duración en un sistema distribuido
|
Orquestaciones de BizTalk o
Message Broker que incluyen consulta asincrónicas a servicios externos
recibiendo los datos de respuesta en forma de mensajes en colas MQ.
|
0 comentarios:
Publicar un comentario