Java Messaging Services

Si tratta di un insieme di API (application program interface) capaci di fornire servizi di messaggistica nel software; più precisamente si tratta di una serie d’interfacce che permettono di accedere e di utilizzare i servizi di un sistema di middleware orientato ai messaggi, utilizzando Java come linguaggio.
In sostanza JMS fornisce un metodo standard tramite il quale le applicazioni possono creare, inviare e ricevere i messaggi.
Determinante a riguardo l’oggetto Queue (coda) per l’arrivo e la distribuzione dei messaggi stessi (processati poi, ad esempio, tramite un Message Driven Bean).
L’attività di mapping verso gli oggetti di tipo Queue avviene tramite la creazione di specifici contesti (Context) all’interno di un processo di identificazione (Naming).
Suddetto processo è possibile tramite l’utilizzo di ulteriori API di interfaccia, le Java Naming Directory Interface (JNDI).

Tramite l’utilizzo dell'interfaccia JNDI (Java Naming Directory Interface) JMS si trova a disporre di una struttura in grado di gestire la comunicazione fra moduli software la cui funzione principale (Naming) è quella di associare (mapping) nomi ad oggetti.
Il processo di Naming è reso più lineare grazie all’utilizzo di oggetti contesto (Context).
Un Contesto è un insieme di associazioni nome-oggetto.
Ad ogni contesto è associata una naming convention, questa offre un servizio di recupero (lookup) dei nomi, tramite il quale è possibile riferirsi all'oggetto desiderato.

L'applicazione Java vede solamente le API della JNDI, la quale al suo interno ha una struttura a livelli; le JNDI API utilizzano a loro volta un NAMING MANAGER, da poter utilizzare eventualmente anche a prescindere dall’interfaccia, ed una JNDI SPI (Service-Provider Interface).
L’ultimo livello, con cui colloquiano le JNDI SPI, è rappresentato proprio dal protocollo di comunicazione; la versione 1.3 delle SDK di Java2 contiene le classi che implementano i seguenti protocolli:

  • Java Remote Method Invocation (RMI) Registry 
  • Lightweight Directory Access Protocol (LDAP)
  • CORBA services (COS) naming service.

Per ulteriori informazioni: Basic JMS API Concepts

Torna su