¿Qué significa Java Message Service?
Java Message Service (JMS) es una interfaz de programación de aplicaciones (API) de Sun Microsystems que funciona como middleware Java orientado a mensajes. Está diseñado para el intercambio de mensajes asíncronos, fiables y poco acoplados entre diferentes componentes de aplicaciones de software (llamados clientes), que se basan en la plataforma Java 2, Enterprise Edition (J2EE).
JMS es un estándar de mensajería capaz de crear, enviar, recibir y leer mensajes como peticiones, informes o eventos consumidos por los componentes de la aplicación de software, no por humanos. JMS permite que programas de sistemas distintos, o escritos en lenguajes de programación diferentes, se coordinen entre sí a través de mensajes.
Diccionario Techopedia: Java Message Service
La API JMS utiliza dos modelos de mensajería:
1.Modelo punto a punto, o de cola
JMS está débilmente acoplado en virtud de un componente intermediario, una cola. Así, los componentes de software se comunican indirectamente. Esto significa que los componentes de software emisores de mensajes no necesitarán conocer el componente de software receptor. Este modelo se caracteriza por:
- Sólo un componente recibe el mensaje.
- El componente fuente no está en funcionamiento cuando el componente receptor recibe el mensaje.
- El componente receptor no está operativo cuando se envía el mensaje.
- El componente receptor acusa recibo de los mensajes procesados correctamente.
2. Modelo de publicación y suscripción
Este modelo funciona como un tablón de anuncios anónimo. Un componente suscriptor puede registrar la necesidad de recibir mensajes sobre un tema específico, pero ninguno de los componentes (publicador o suscriptor) está obligado a conocer al otro. Este modelo se caracteriza por la existencia de varios componentes que reciben el mensaje y una dependencia temporal entre los componentes publicadores y los suscriptores, como se indica a continuación:
- El componente publicador crea un tema de mensaje para que otros componentes se suscriban a él.
- El componente suscriptor sigue pudiendo recibir mensajes, a menos que se establezca una suscripción duradera.
- Si se establece una suscripción duradera, los mensajes publicados mientras el suscriptor no puede recibir mensajes se redistribuirán siempre que el componente receptor vuelva a conectarse.