WebSphere Message Broker non fornisce alcuna interfaccia di programmazione univoca, ma supporta diverse interfacce di programmazione che sono oggi già utilizzate dalle applicazioni di messaggistica.
L'MQI fornisce un numero ridotto di chiamate che consentono ad un'applicazione di interagire con le altre applicazioni attraverso una rete WebSphere MQ di gestori code. Le chiamate supportano un'ampia gamma di parametri che consentono un'ampia scelta di opzioni di elaborazione per ogni messaggio.
Le applicazioni client che utilizzano MQI possono essere in esecuzione su qualsiasi sistema operativo WebSphere MQ supportato e quindi tutte le limitazioni relative al linguaggio o alla funzione sono definite dal prodotto attinente a quel sistema operativo.
MQI è descritta nei manuali WebSphere MQ Application Programming Guide e WebSphere MQ Application Programming Reference. Questi manuali forniscono inoltre i dettagli del linguaggio di programmazione e il supporto del sistema operativo disponibile per i client che utilizzano questa interfaccia.
L'AMI è progettata per semplificare l'attività del programmatore dell'applicazione centralizzando la selezione dei parametri facoltativi al di fuori del programma dell'applicazione. L'AMI fornisce inoltre supporto per le funzioni più avanzate messe a disposizione dal broker dei messaggi. L'AMI è progettata per le applicazioni di messaggistica generali con e senza un broker.
Le funzioni principali dell'AMI sono pacchetti di opzioni definiti dall'amministratore noti come politiche e servizi. Un'applicazione specifica un servizio per determinare il supporto di messaggistica sottostante richiesto e associa una politica all'invio o alla ricezione di un messaggio per controllare gli attributi per l'elaborazione del messaggio, come la priorità.
Le politiche e i servizi comportano che l'applicazione non debba conoscere i dettagli dell'intestazione MQRFH2 e dell'interfaccia MQI.
Le applicazioni client che utilizzano l'AMI sono limitate ai sistemi operativi e ai linguaggi di programmazione supportati da questa interfaccia. Verificare nel livello attuale del manuale WebSphere MQ Application Messaging Interface i dettagli o visitare il sito Web di WebSphere MQ.
JMS è un'API (application programming interface) che fornisce funzioni del linguaggio Java per la gestione dei messaggi. Sviluppata dai fornitori di messaggistica, compresa IBM in cooperazione con Sun Microsystems Inc., l'API JMS fornisce un'interfaccia comune per accedere a sistemi di messaggistica aziendale diversi, incluso WebSphere MQ. Quest'interfaccia è appropriata per le applicazioni di pubblicazione/sottoscrizione e point-to-point.
I client di messaggistica in JMS sono detti client JMS e il sistema di messaggistica provider JMS. Un'applicazione JMS è un sistema aziendale che comprende i client JMS e almeno un provider JMS. Le applicazioni client che utilizzano l'interfaccia JMS sono scritte nel linguaggio di programmazione Java e sono quindi limitate ai livelli di JVM supportati sul sistema operativo in questione. Per ulteriori informazioni, consultare il manuale WebSphere MQ Using Java o visitare il sito Web di WebSphere MQ.
Queste chiamate sono descritte in WebSphere MQ Mobile Transport.
Questi messaggi sono descritti in WebSphere MQ Telemetry Transport.
Se si dispone di applicazioni utente finale esistenti scritte in queste interfacce, esse possono, in genere, venir eseguite senza modifiche in un ambiente broker. E' necessario creare i flussi di messaggi in modo che interagiscano con queste applicazioni sui protocolli supportati, utilizzando i nodi di input e output appropriati. WebSphere Message Broker fornisce nodi di input e di output integrati per i propri protocolli supportati e, se si preferisce, è possibile creare i propri nodi definiti dall'utente per supportare protocolli aggiuntivi.
E' anche possibile creare nuove applicazioni utente finale per interagire con il broker.
WebSphere Message Broker fornisce programmi di analisi per un numero elevato di intestazioni WebSphere MQ e può quindi accettare messaggi che contengono queste intestazioni sui protocolli WebSphere MQ Enterprise Transport, WebSphere MQ Mobile Transport e WebSphere MQ Telemetry Transport.
E' necessario che i messaggi includano un MQMD (WebSphere MQ Message Descriptor) come prima intestazione, che deve precedere i dati utente o applicazione in ogni messaggio. MQMD contiene informazioni di controllo base che vanno trasmesse con il messaggio, compresi:
Quando un messaggio è elaborato da un broker WebSphere Message Broker, esso contiene in genere (ma non necessariamente) una o più intestazioni aggiuntive. L'intestazione che segue MQMD è sempre identificata nel campo del formato all'interno di MQMD ed essa stessa contiene un altro campo del formato per identificare l'intestazione che segue o il formato dei dati utenti.
Le intestazioni aggiuntive possono includere:
Usare l'intestazione MQRFH2 in tutte le nuove applicazioni scritte per l'ambiente WebSphere Message Broker che utilizzano un protocollo supportato, basato sulla tecnologia WebSphere MQ. L'intestazione MQRFH2 dovrebbe essere immediatamente precedente al contenuto del messaggio (cioè, l'ultima intestazione).
Se un'intestazione MQRFH2 non è inclusa (normalmente il caso dell'applicazione che utilizza un protocollo supportato non basato sulla tecnologia WebSphere MQ), è necessario configurare il flusso di messaggi che elabora i propri messaggi in modo da specificare le caratteristiche del messaggio (impostando le proprietà del nodo di input).