jueves, 23 de mayo de 2013

Java Message Service (JMS)

Esta API es creada para solucionar los problemas de uso de colas de mensajería, permite a los componentes de aplicaciones basados en la plataforma Java2 crear, enviar, recibir y leer mensajes y hace posible la comunicación tanto de manera síncrona y asíncrona.
Forma parte de la plataforma J2EE para acceder a Sistemas de mensajería (MOM).

Existen 2 modelos de esta API:
  1. Modelo Punto a Punto:  uno envía el mensaje y otro lo recibe, el receptor envia un acuse de recibo y en caso de que no este disponible se queda guardado en un cola en espera.
  2. Modelo Publicador /Suscriptor: uno publica el mensaje y lo reciben todos los usuarios que estén suscripto al servicio donde se envió ese mensaje.
Los elementos de la Api se dividen en:
  • Clientes JMS: aplicaciones que envian o reciben mensajes a través de JMS
  • Mensajes: los mensajes que se intercambian, se componen de 3 elementos:
    • Header.
    • Properties.
    • Body.
  • Objetos administrados: para enviar o recibir mensajes los clientes tienen que conectarse por medio de los objetos. Hay dos tipos de objetos administrados en JMS:
    • ConnectionFactory: Se usa para crear una conexión al proveedor del sistema de mensajes.
    • Destination: Son los destinos de los mensajes que se envían y el recipiente de los mensajes que se reciben.
 Para enviar o recibir mensajes tienen que tener una serie de pasos :
  • Conseguir un objeto ConnectionFactory a través de JNDI.
  • Conseguir un destino, mediante el objeto Destination a través de JNDI.
  • Usar ConnectionFactory para conseguir un objeto Connection.
  • Usar Destination para crear un objeto Session.
Desde la versión 1.3 de la plataforma J2ee viene integrado esta API: