Java Message Service

Java Message Service
Información sobre la plantilla
CreadorSun Microsystems

Java Message Service (JMS). Especificación que describe una forma para crear, enviar, recibir y leer mensaje en un entorno distribuido.

Modelos

Esta solución hace posible la comunicación de manera síncrona y asíncrona en ambos casos. Existen dos modelos de la API JMS, los cuales son:

Punto a Punto: este modelo cuenta con solo dos clientes, uno que envía el mensaje y otro que lo recibe. Este modelo asegura la llegada del mensaje ya que si el receptor no está disponible para aceptar el mensaje o atenderlo, de cualquier forma se le envía el mensaje y este se encola en una pila del tipo FIFO para luego ser recibido según haya entrado.

Publicador/Suscriptor: este modelo cuenta con varios clientes, unos que publican temas(tópicos) o eventos, y los que ven estos tópicos, a diferencia del modelo punto a punto este modelo tiende a tener más de un consumidor.

Arquitectura JMS

Una aplicación JMS consta de los siguientes elementos:

  • Clientes JMSA, son plicaciones que envian o reciben mensajes a través de JMS.
  • Mensajes, los mensajes que se intercambian.
  • Objetos administrados, son el punto al que se comunican los clientes JMS para enviar o recibir mensajes, se denominan así por que los crea el administrador en la implementación. Implementan las interfaces JMS y se sitúan en el espacio de nombres para que los clientes puedan solicitarlos.
  • Proveedor JMS,es el sistema de mensajería que implementa JMS además de las funcionalidades administrativas y de control requeridas para un producto de mensajería.

Características

Las características primarias o más fundamentales de la JMS son:

  • Las factorías de conexiones son usadas en JMS para crear conexiones a un proveedor especifico de JMS.
  • Los modelos de Publish/Subscribe y Point-to-Point están implementadas y definidas por interfaces separadas para que los proveedores JMS no necesiten soportar a las dos.
  • La JMS define el concepto de Topic o Queue como el blanco para un mensaje. Los Topic son usados en el modelo Publish/Subscribe y el Queue en el modelo Point-to-Point.
  • Los códigos del proveedor están definidas por interfaces en JMS, librando a la implementación de limitaciones de subclases.
  • Los proveedores JMS soportan transacciones distribuidas.
  • La JMS es una interfaz pura. A la hora de transportar y enrutar mensajes, requiere una forma equivalente a un motor de mensajería.
  • La especificación de la JMS no facilita la interoperabilidad entre diferentes implementaciones. Si la especificación no manda un protocolo de transporte, entonces no puede haber una interoperabilidad.

Ver además

Referencia