WebSphere Message Broker abilita la trasmissione di informazioni compresse come messaggi tra le diverse applicazioni aziendali, che vanno dai sistemi legacy di grandi dimensioni a dispositivi automatizzati come i sensori negli oleodotti.
Esistono due modi in cui WebSphere Message Broker può agire sui messaggi.
E' possibile instradare i messaggi dal mittente al destinatario in base al contenuto del messaggio.
I flussi di messaggi progettati dall'utente controllano l'instradamento del messaggio. Un flusso di messaggi descrive le operazioni da eseguire sul messaggio in entrata e la sequenza in cui eseguirle.
Ogni flusso di messaggi è composto da:
IBM fornisce nodi integrati ed esempi per molte funzioni comuni. Se sono necessarie ulteriori funzioni, è possibile scrivere i propri nodi definiti dall'utente.
I flussi di messaggi si creano nel Message Brokers Toolkit; un ambiente di sviluppo integrato ed una console di gestione del dominio broker.
E' possibile trasformare i messaggi prima che vengano inviati:
Le trasformazioni possono essere effettuate da vari nodi in un flusso di messaggi. Ma prima che un nodo del flusso di messaggi possa eseguire operazioni su un messaggio in entrata, è necessario che conosca la struttura di quel messaggio.
Le definizioni dei messaggi progettate dall'utente vengono create all'interno di una serie di messaggi, che contenga una o più definizioni dei messaggi. Le serie di messaggi, inoltre, categorizzano le definizioni dei messaggi. La funzione di categorizzazione, che è possibile estendere utilizzando gli script XSLT, viene utilizzata per la creazione di WSDL (Web Services Description Language) e della documentazione.
L'operazione di instradamento e trasformazione dei messaggi avviene in un broker. I broker contengono diversi gruppi di esecuzione; processi in cui vengono eseguiti i flussi di messaggi.
I broker sono raggruppati in domini broker. Ogni dominio è coordinato da una Gestione configurazione. Possono esistere diversi broker e ciascuno può essere eseguito su un sistema diverso. In questo modo, viene fornita protezione in caso di errori ed è possibile separare il lavoro in diverse divisioni nell'azienda.
L'amministratore del sistema crea la Gestione configurazione con un'istruzione della riga comandi. La Gestione configurazione utilizza un archivio interno per memorizzare informazioni relative al proprio dominio broker.
Allo stesso modo, l'amministratore di sistema crea uno o più broker, collegandoli ad una particolare Gestione configurazione, rendendoli quindi parte del dominio controllato da quella Gestione configurazione. Ciascun broker utilizza un database per memorizzare le informazioni necessarie per l'elaborazione dei messaggi durante il runtime.
La Gestione configurazione inoltre visualizza gli utenti e i gruppi negli ACL (Access control list) che si utilizzano per impostare le autorizzazioni utente, consultare Pubblicazione/sottoscrizione di seguito.
Una volta che l'amministratore di sistema ha creato e connesso i componenti del dominio broker, uno sviluppatore dell'applicazione crea e modifica i flussi di messaggi e le definizioni di messaggi utilizzando il workbench.
Vengono utilizzate differenti prospettive nel workbench per sviluppare i flussi di messaggi e le serie di messaggi così come per amministrare uno o più domini broker.
E' possibile utilizzare un archivio per fornire il controllo degli accessi e il controllo della versione. Un archivio, inoltre, consente a più sviluppatori di lavorare in parallelo sulle stesse risorse.
Una volta creati i flussi di messaggi e le serie di messaggi utilizzando il workbench, i dati eseguibili si possono distribuire (trasferire) su uno o più broker.
Quando si distribuiscono i flussi di messaggi e le serie di messaggi, questi vengono compilati e inseriti in un file bar (broker archive) e inviati alla Gestione configurazione. Il file bar ha proprietà di sistema configurabili. E' possibile sovrascrivere proprietà quali i nomi coda e database, senza la necessità di modificare i file di origine o sviluppare nuovamente il flusso di messaggi. In questo modo, è più semplice trasferire le definizioni tra i sistemi.
Gestione configurazione apre l'archivio, rimuove il contenuto, crea un record delle informazioni ricevute e instrada le informazioni verso i broker appropriati. (L'archivio viene eliminato quando le informazioni in esso contenute sono state richiamate.) Ogni broker memorizza le informazioni nel proprio database locale. Questo significa che, quando un broker ha informazioni sufficienti, può continuare ad elaborare messaggi anche se non è più connesso alla relativa Gestione configurazione.
Gestione configurazione coordina tutte le attività (ad esempio, modifiche a una serie di messaggi) in corso tra il workbench e i broker all'interno del proprio dominio. Il sistema di messaggistica WebSphere MQ viene utilizzato tra il workbench, Gestione configurazione e i broker.
Il modo più semplice per indirizzare i messaggi è quello di utilizzare il tipo di messaggistica point-to-point, inviando i messaggi direttamente da un'applicazione ad un'altra. Pubblicazione/sottoscrizione fornisce uno stile alternativo di messaggistica.
Un'applicazione di pubblicazione invia ad un broker un messaggio relativo ad un argomento definito. Il broker invia il messaggio pubblicato a quelle applicazioni che hanno mostrato interesse per quel particolare argomento. L'autore (publisher) e il sottoscrittore non sono a conoscenza della reciproca esistenza.
Il broker gestisce la distribuzione dei messaggi tra le applicazioni di pubblicazione e quelle di sottoscrizione. Le applicazioni possono eseguire pubblicazioni in molti argomenti re oppure essere iscritte a molti argomenti così come applicare meccanismi di filtraggio più sofisticati.
Un Server nomi utente facoltativo nel dominio broker controlla chi è autorizzato ad eseguire pubblicazioni o sottoscrizioni agli argomenti. La sicurezza in base all'argomento viene impostata e gestita dal workbench.
Le autorizzazioni utente a livello di gruppo o individuale si impostano utilizzando gli ACL (Access control list).