Java Message Service
In informatica Java Message Service (o JMS) è l'insieme di API, appartenente a Java EE, che consente ad applicazioni Java presenti in una rete di scambiarsi messaggi tra loro. JMS è definito dalle specifiche sviluppate sotto il Java Community Process come JSR 914.
JMS è stato distribuito per la prima volta nel 1998. La Sun Microsystems, insieme ad altri produttori, lo svilupparono per creare un'interfaccia che fosse indipendente sia dal sistema operativo che dalla specifica implementazione del sistema di messaging. Tale sistema, detto loosely coupled (a differenza dei sistemi tightly coupled come i socket del protocollo TCP, CORBA o RMI) rende possibile la comunicazione tra applicazioni mediante lo scambio di messaggi attraverso un gestore intermedio (chiamato provider) che in questo caso è una coda.
Componenti
[modifica | modifica wikitesto]Gli elementi componenti di JMS sono:
- JMS provider (anche detto JMS broker)
- una implementazione dell'interfaccia JMS per un MOM (Message-oriented middleware). I provider possono essere implementati sia con JMS Java sia come adattatori di un MOM non Java.
- JMS client
- una applicazione o un processo che invia e/o riceve messaggi
- JMS producer
- un client JMS che crea ed invia messaggi.
- JMS consumer
- un client JMS che riceve messaggi.
- JMS message
- un oggetto che contiene i dati trasferiti tra i JMS client
- JMS queue
- una coda che raccoglie i messaggi inviati che sono in attesa di essere letti, definendo una distribuzione mapping 1:1. I messaggi vengono consegnati nell'ordine in cui vengono inviati ed una volta letti vengono rimossi dalla coda.
- JMS topic
- Un meccanismo di distribuzione per la pubblicazione di messaggi inviati a più client, definendo una distribuzione 1:N.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) JMS sul sito Oracle, su oracle.com.
- (EN) JSR 343: Java™ Message Service 2.0, su jcp.org, Java Community Process, 5 marzo 2013. URL consultato il 16 febbraio 2018 (archiviato il 21 agosto 2017).