Introducción
Enviado por admin el Jue, 17/09/2009 - 11:00pm.
Básicamente, las colas se utilizan para pasar información entre procesos o bien entre fases de un mismo proceso.
Ejemplos:
- Workflow: Podemos tener una cola por cada estado del workflow. Así, el paso de una cola a otra indica los distintos estados del item.
- En la práctica, los workflows se suelen implementar con una sola cola y un campo de estado.
- Procesos productor consumidor. En informática existen muchos procesos de este tipo. Vamos a ver ejemplos:
- En un proceso de facturación, las factura emitidas se deben contabilizar, emitir recibos etc.
- Una forma de implementarlo es que el proceso de facturación encole cada factura terminada en la cola de pendientes de contabilizar y pendientes de emitir recibo
- Sendos procesos irán leyendo posteriormente de estas colas y contabilizarán las facturas o emitirán los recibos.
- En estos ejemplos de procesos encadenados, observamos:
- Puede haber varios procesos creando información (varios procesos de facturación)
- Si cada factura es independiente, puede haber varios procesos contabilizando y las colas nos aseguran que se van a tratar todos las facturas (no se va a perder ninguna), que cada factura se va a procesar una sola vez y que se van a procesar por orden FIFO (según el orden en que se hayan encolado).
- En un proceso de facturación, las factura emitidas se deben contabilizar, emitir recibos etc.
Podemos indicar que las colas:
- Están indicadas para pasar información entre procesos desligados. De hecho, la utilización de colas hace que los procesos sean desligados entre sí.
- No importa que estos procesos estén en la misma Base de Datos o en Bases de Datos distintas: La propagación de la información entre colas que están en la misma Base de Datos o en Bases de Datos distintas se realiza por configuración de las colas y es transparente a los programas.
- Las colas nos aseguran que cada item se va a tratar una y solo una vez (salvo rollback).
- Las colas nos aseguran la permanencia de la información aunque la Base de Datos se pare.
- La información que puede guardar una cola es la que el usuario (programador) precise. Veremos que un item de una cola es un Type de Oracle y puede ser tan complejo como se precise.
