TIBCO – Panoramica di JMS

()

Java Message Service (JMS) è una specifica del framework Java per la messaggistica tra applicazioni. Questa specifica è stata sviluppata per fornire un’interfaccia di messaggistica uniforme tra le applicazioni aziendali.

L’utilizzo di un servizio di messaggistica consente di integrare le applicazioni all’interno di un’azienda. Ad esempio, potresti avere diverse applicazioni: una per le relazioni con i clienti, una per l’inventario dei prodotti e un’altra per il monitoraggio delle materie prime. Ogni applicazione è fondamentale per il funzionamento dell’azienda, ma ancora più cruciale è la comunicazione tra le applicazioni per garantire il flusso regolare dei processi aziendali. Il middleware orientato ai messaggi (MOM) crea un protocollo di comunicazione comune tra queste applicazioni e consente di integrare facilmente applicazioni nuove ed esistenti nell’ambiente informatico aziendale.

Il framework JMS (una specifica di interfaccia, non un’implementazione) è progettato per fornire una base per lo sviluppo di MOM. TIBCO Enterprise Message Service implementa JMS e integra il supporto per la connessione di altri servizi di messaggistica, come TIBCO FTL, TIBCO Rendezvous e TIBCO SmartSockets. Questo capitolo descrive i concetti di JMS e la sua implementazione in TIBCO Enterprise Message Service. Per ulteriori informazioni sui requisiti e sulle funzionalità di JMS, consultare le seguenti fonti:

  • Specifica Java Message Service, disponibile tramite http://www.oracle.com/technetwork/java/jms/index.html .
  • Servizio messaggi Java di Richard Monson-Haefel e David A. Chappell, O’Reilly and Associates, Sebastopol, California, 2001.

Conformità JMS

TIBCO Enterprise Message Service 8.5 ha superato i test Oracle Technology Compatibility Kit (TCK) per Java Message Service 2.0 (JMS 2.0). Pertanto, Enterprise Message Service 8.5 è conforme alla specifica Java Message Service 2.0, presupponendo che siano soddisfatti i seguenti requisiti:

  • Sia il client Java che il server EMS devono essere versione software 8.0 o successiva.
  • Tutto il software EMS deve essere eseguito su un sistema operativo supportato. I sistemi supportati sono elencati nel file readme.
  • Il software EMS deve essere installato correttamente per includere le versioni corrette del software da cui dipende EMS.
  • Il parametro di configurazione del server EMS jms_2_0_compliance deve essere impostato su VERO.

Nota: tutti i test Oracle Technology Compatibility Kit (TCK) sono stati eseguiti utilizzando Oracle Java SE v.8, poiché la versione corrente del TCK non supporta le versioni Java successive.

Modelli di messaggi JMS

JMS si basa sulla creazione e la consegna dei messaggi. I messaggi sono dati strutturati che un’applicazione invia a un’altra.

Il creatore del messaggio è noto come produttore e il destinatario del messaggio è noto come consumatore . Il server TIBCO EMS funge da intermediario per il messaggio e ne gestisce la consegna alla destinazione corretta. Il server fornisce inoltre funzionalità di classe enterprise come tolleranza agli errori, instradamento dei messaggi e comunicazione con altri sistemi di messaggistica, come TIBCO FTL, TIBCO Rendezvous e TIBCO SmartSockets.

L’immagine seguente illustra un’applicazione che produce un messaggio, lo invia tramite il server e un’applicazione diversa che riceve il messaggio.

JMS supporta questi modelli di messaggistica:

  • Punto a punto (code)
  • Pubblica e iscriviti (argomenti)

Punto a punto

La messaggistica punto a punto ha un produttore e un consumatore per messaggio. Questo stile di messaggistica utilizza una coda per archiviare i messaggi finché non vengono ricevuti. Il produttore del messaggio invia il messaggio alla coda; il consumatore del messaggio recupera i messaggi dalla coda e invia la conferma di ricezione del messaggio.

Più di un produttore può inviare messaggi alla stessa coda e più di un consumatore può recuperare messaggi dalla stessa coda. La coda può essere configurata per essere esclusiva, se lo si desidera. Se la coda è esclusiva, tutti i messaggi della coda possono essere recuperati solo dal primo consumer specificato per la coda. Le code esclusive sono utili quando si desidera che una sola applicazione riceva i messaggi per una coda specifica. Se la coda non è esclusiva, un numero qualsiasi di destinatari può recuperare i messaggi dalla coda. Le code non esclusive sono utili per bilanciare il carico dei messaggi in arrivo su più destinatari. Indipendentemente dal fatto che la coda sia esclusiva o meno, un solo consumatore può consumare ogni messaggio inserito nella coda.

L’immagine seguente illustra la messaggistica point-to-point utilizzando una coda non esclusiva. Ogni consumatore di messaggi riceve un messaggio dalla coda e conferma la ricezione del messaggio. Il messaggio viene rimosso dalla coda in modo che nessun altro consumatore possa riceverlo.

Pubblica e iscriviti

In un sistema di messaggistica di pubblicazione e sottoscrizione, i produttori indirizzano i messaggi a un argomento . In questo modello, il produttore è noto come editore e il consumatore è noto come abbonato .

Molti editori possono pubblicare sullo stesso argomento e un messaggio da un singolo editore può essere ricevuto da più abbonati. Gli abbonati si iscrivono agli argomenti e tutti i messaggi pubblicati sull’argomento vengono ricevuti da tutti gli abbonati all’argomento. Questo tipo di protocollo di messaggi è noto anche come messaggistica di trasmissione perché i messaggi vengono inviati sulla rete e ricevuti da tutti gli abbonati interessati, in modo simile a come vengono trasmessi e ricevuti i segnali radiofonici o televisivi.

L’immagine seguente illustra la pubblicazione e la sottoscrizione dei messaggi. Ogni consumatore di messaggi si iscrive a un argomento. Quando un messaggio viene pubblicato in quell’argomento, tutti i consumer sottoscritti ricevono il messaggio.

Funzioni di destinazione EMS

TIBCO Enterprise Message Service consente di configurare le destinazioni per migliorare la funzionalità di ciascun modello di messaggistica.

Le funzionalità di destinazione EMS ti consentono di:

  • Impostare un sicuro modalità per il controllo dell’accesso a livello di coda o argomento, in modo che alcune destinazioni possano richiedere l’autorizzazione e altre no.
  • Impostare i limiti di soglia per la quantità di memoria utilizzata dal server EMS per archiviare i messaggi per un argomento o una coda e ottimizzare la risposta del server quando viene superata la soglia. 
  • Instradare i messaggi inviati alle destinazioni ad altri server. 
  • Crea ponti tra destinazioni dello stesso tipo o di tipi diversi per creare un modello di messaggistica ibrido per la tua applicazione. Ciò può essere utile se l’applicazione richiede l’invio dello stesso messaggio sia a un argomento che a una coda. Per ulteriori informazioni sulla creazione di ponti tra destinazioni e situazioni in cui ciò può essere utile,
  • Controlla il flusso di messaggi verso una destinazione. Ciò è utile quando i produttori di messaggi inviano messaggi molto più velocemente di quanto i consumatori possano riceverli. Per ulteriori informazioni sul controllo del flusso,
  • Scambia messaggi con altri servizi di messaggistica, come TIBCO FTL, TIBCO Rendezvous e TIBCO SmartSockets. Le code possono ricevere messaggi da uno qualsiasi di questi servizi. Gli argomenti possono ricevere o inviare messaggi. .
  • Imposta le code come esclusive o non esclusive. Solo un destinatario può ricevere messaggi da una coda esclusiva. Più di un destinatario può ricevere messaggi da code non esclusive. Vedere esclusivo.
  • Specificare una politica di riconsegna per le code. Quando i messaggi devono essere riconsegnati, è possibile specificare una proprietà nella coda che determina il numero massimo di volte in cui un messaggio deve essere riconsegnato. 
  • Traccia e registra tutti i messaggi che passano attraverso una destinazione. 
  • Includere il nome utente del produttore del messaggio nel messaggio. 
  • Le operazioni dell’amministratore possono utilizzare caratteri jolly nei nomi di destinazione. Il nome di destinazione con caratteri jolly è il padre e tutti i nomi che corrispondono al nome di destinazione con caratteri jolly ereditano le proprietà del padre. 
  • Usa il negozioproprietà per far sì che i messaggi inviati a una destinazione vengano scritti in un file di archivio. Imposta il negozio di destinazione su store=$sys.failsafeper indirizzare il server a scrivere i messaggi nel file in modo sincrono e garantire che i messaggi non vengano persi in nessun caso. 
  • Specifica che un consumatore deve ricevere batch di messaggi in background per migliorare le prestazioni. In alternativa, è possibile specificare che i destinatari della coda devono ricevere un solo messaggio alla volta. 



/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?