style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Mensajería en las aplicaciones(Parte 1)

Como trabaja un sistema de mensajería?
Para comprender esto tomemos por ejemplo un envío de juguetes DHL

1) Santa lleva 100 juguetes a la paquetería DHL en el polo norte, estos serán enviados niños diferentes.
2) Entrega los paquetes al reno encargado y le declara una prioridad de envío.
3) El reno (para evitar confusiones, lo llamaremos Fecal)toma los juguetes y le da una nota con su guía mientras su compañera Foxy coloca los datos de entrega en cada uno de estos.
4) El camión llega por los paquetes y los lleva al aeropuerto.
5) En el punto de entrega del aeropuerto, los paquetes son separados por País. En este caso se toman los paquetes enviados a Mongolia.
6) Los paquetes son enviados y al llegar a Mongolia son separados por prioridad. Esto es para saber que paquetes se entregan primero.
Para este punto pongamos un ejemplo:
Llegan 3 paquetes a ser entregados, 2 de Santa y 1 de Cupido. Los paquetes enviados por Mr. Claus deben ser entregados hoy antes de las 12pm al niño Chin Gong y a Ma li Tang respectivamente. La única diferencia entre estos es que como el niño Gong se porto muy bien, debe recibir su juguete primero, por lo que Santa le coloco la prioridad máxima, no así para la niña Li Tang que por andar de zorra con sus cuates debe esperar mas para su regalo ya que no se mocho con Santa, y este le coloco una prioridad de no tan urgente.
El paquete de cupido debe ser entregado antes del 14 de febrero así que este se deja guardado en las instalaciones hasta que le toque su turno.

7) Son entregados al repartidor los paquetes que deben ser despachados el día de hoy y este se va en su bici a trabajar.
8) Los paquetes son entregados
9) Ma li tang se mocha con Santa(pero esta es otra historia) :P

Ahora… como aterrizamos esto a una aplicación?

Pongamos el mismo ejemplo. 1 aplicación llamada Santa y la otra Cupido, estos envían mensajes a nuestro MQ. Este los toma y los envía a los destinatarios finales.

esquema jms

Dados estos componentes… ¿Cómo quedaría la aplicación?
Cola de mensajes: DHL
Productores de mensajes: Santa, Cupido
Consumidores de mensajes: Despachador
Destinos: Niños y enamorado
diagrama de proyecto Santa

Mensajería en Java

Define un estándar llamado Enterprise Messaging, también conocido como Messaging Oriented Middleware(MOM).
JMS nos permite crear, enviar, recibir o leer mensajes de forma asíncrona. Esta API es parte fundamental de J2EE y nos da algunas opciones de enviar estos mensajes descritos a continuación:

1. Point-Point(Queue): Permite enviar un mensaje y que un consumidor tome el mensaje. Este puede ser enviado de cliente a cliente o de cliente a un MessageQueue y este mensaje es despachado por un consumidor (MessageListener). Este puede ser mostrado con el ejemplo de una oficina de correos. Llega una carta y el primer cartero que la tome, es el que la despacha y ya no queda disponible para los demás carteros
2. Publish –Subscribe (Topic): Cuando múltiples aplicaciones necesitan recibir el mismo mensaje se utiliza esta forma de envío la cual simula una suscripción a una revista. Supongamos que Mosca libera el numero 23 edición especial NIN, al momento de liberarlo, obtiene sus suscriptores de su BD y se los envía a TODOS sin excepción alguna.

Algunos MQ del mercado son los siguientes:
1. WebSphereMQ(IBM)
2. ActiveMQ(Apache)
3. OpenMQ(Sun)
4. MSMQ(Microsoft)

En la siguiente entrega (link aquí )
Componentes, ejemplo

Saludos y cualquier aportación es buena

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Shadonwk

:o :o me has dejado sin

:o :o me has dejado sin palabras muy buen contenido esperamos la proxima entrega. saludos

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">