WebSphere Message Broker stellt keine eindeutigen Programmierschnittstellen zur Verfügung, sondern unterstützt mehrere Programmierschnittstellen, die heute bereits von Messaging-Anwendungen genutzt werden.
Die Nachrichtenwarteschlangenschnittstelle (MQI) stellt eine kleine Anzahl an Aufrufen zur Verfügung, mit denen eine Anwendung mit anderen Anwendungen in einem Netz aus WebSphere MQ-Warteschlangenmanagern interagieren kann. Die Aufrufe unterstützen eine breite Palette an Parametern, die für alle denkbaren Nachrichten eine große Auswahl an Verarbeitungsoptionen bieten.
Clientanwendungen, von denen die MQI verwendet wird, können auf jedem von WebSphere MQ unterstützten Betriebssystem ausgeführt werden. Aus diesem Grund hängen eventuelle Einschränkungen, die durch die Sprache oder Funktion bedingt sind, vom jeweiligen Produkt für dieses Betriebssystem ab.
Weitere Informationen zur MQI finden Sie in den Abschnitten Application Programming Reference und Application Programming Guide im WebSphere MQ Version 6 Information Center online oder (für WebSphere MQ Version 5.3) in den Handbüchern Application Programming Guide und Application Programming Reference der Webseite der Bibliothek zu WebSphere MQ. In diesen Büchern erfahren Sie ebenfalls Details zur Programmiersprache- und Betriebssystemunterstützung, die für Clients verfügbar ist, welche diese Schnittstelle verwenden.
Die AMI (Application Messaging Interface) wurde zur Vereinfachung der Aufgaben von Anwendungsprogrammierern entwickelt. Sie bietet eine Zentralisierung der Auswahl optionaler Parameter außerhalb des Anwendungsprogramms. Darüberhinaus unterstützt sie die erweiterten Funktionen, die über den Nachrichtenbroker zur Verfügung stehen. Die AMI wurde für Anwendungen zur allgemeinen Nachrichtenübertragung (Messaging) mit und ohne Broker entwickelt.
Die Hauptfunktionen der AMI werden in Form von Optionspaketen bereitgestellt, die als 'Richtlinien' und 'Services' bezeichnet und vom Administrator definiert werden. Eine Anwendung gibt einen Service an, um die erforderliche zugrunde liegende Messaging-Unterstützung zu bestimmen, und sie ordnet dem Senden und Empfangen einer Nachricht eine Richtlinie zu, um die Attribute (beispielsweise die Priorität) für die Nachrichtenverarbeitung zu steuern.
Die Richtlinien und Services bedeuten, dass die Anwendung die Details des MQRFH2-Headers und der MQI-Schnittstelle nicht verstehen muss.
Clientanwendungen, die die AMI verwenden, sind auf die Betriebssysteme und Programmiersprachen beschränkt, die von dieser Schnittstelle unterstützt werden. Die AMI ist definiert im Abschnitt Publish/Subscribe User's Guide im WebSphere MQ Version 6 Information Center online oder (bei WebSphere MQ Version 5.3) im Publish/Subscribe User's Guide auf der Webseite der Bibliothek zu WebSphere MQ.
JMS ist eine Anwendungsprogrammierschnittstelle, die Java-Funktionen zur Verarbeitung von Nachrichten zur Verfügung stellt. Die Anwendungsprogrammierschnittstelle JMS wurde von Messaging-Softwareanbietern (einschließlich IBM in Partnerschaft mit Sun Microsystems Inc.) entwickelt und bietet eine gemeinsame Oberfläche für den Zugriff auf verschiedene Messaging-Systeme für Unternehmen, einschließlich WebSphere MQ. Diese Schnittstelle eignet sich für Punkt-zu-Punkt- und Publish/Subscribe-Anwendungen.
Die Messaging-Clients von JMS werden als JMS-Clients und das Messaging-System als JMS-Provider bezeichnet. Bei einer JMS-Anwendung handelt es sich um ein Business-System, das JMS-Clients und mindestens einen JMS-Provider beinhaltet. Clientanwendungen, welche die JMS-Schnittstelle nutzen, sind in der Java-Programmiersprache geschrieben und aus diesem Grund auf die JVM-Ebenen beschränkt, die vom entsprechenden Betriebssystem unterstützt werden.
Weitere Informationen finden Sie im Abschnitt Using Java im WebSphere MQ Version 6 Information Center online oder (für WebSphere MQ Version 5.3) im Handbuch Using Java der Webseite der Bibliothek zu WebSphere MQ.
Diese werden in WebSphere MQ Mobile Transport beschrieben.
Diese Nachrichten werden in WebSphere MQ Telemetry Transport beschrieben.
Falls Sie bereits über Endbenutzeranwendungen verfügen, die für diese Schnittstellen geschrieben wurden, können diese normalerweise unverändert in einer Brokerumgebung ausgeführt werden. Sie müssen die Nachrichtenflüsse für die Interaktion mit diesen Anwendungen über die unterstützten Protokolle und unter Verwendung der Empfangs- und Sendeknoten erstellen. WebSphere Message Broker stellt integrierte Empfangs- und Sendeknoten für die unterstützten Protokolle bereit, und Sie können bei Bedarf Ihre eigenen benutzerdefinierten Knoten erstellen, um zusätzliche Protokolle zu unterstützen.
Sie können auch neue Endbenutzeranwendungen für die Interaktion mit dem Broker erstellen.
Da WebSphere Message Broker für viele WebSphere MQ-Header Parser bereitstellt, können über die Protokolle WebSphere MQ Enterprise Transport, WebSphere MQ Mobile Transport und WebSphere MQ Telemetry Transport Nachrichten akzeptiert werden, die solche Header enthalten.
Bei dem ersten Header in den Nachrichten muss es sich um den WebSphere MQ-Nachrichtendeskriptor (MQMD) handeln, der in jeder Nachricht vor den Benutzer- oder Anwendungsdaten stehen muss. Der MQMD enthält grundlegende Steuerinformationen, die mit der Nachricht gesendet werden müssen. Dazu gehören folgende:
Wenn eine Nachricht von einem WebSphere Message Broker-Broker verarbeitet wird, weist sie typischerweise (aber nicht notwendigerweise) einen oder mehrere zusätzliche Header auf. Der Header, der dem MQMD folgt, wird immer im Formatfeld des MQMD angegeben und enthält selbst ein weiteres Formatfeld, in dem entweder der nachfolgende Header oder das Format der Benutzerdaten angegeben wird.
Bei den zusätzlichen Headern kann es sich um folgende handeln:
Verwenden Sie den MQRFH2-Header in allen neuen Anwendungen, die für die WebSphere Message Broker-Umgebung geschrieben wurden und ein unterstütztes Protokoll auf Basis der WebSphere MQ-Technologie verwenden. Der MQRFH2-Header sollte unmittelbar vor dem Hauptteil der Nachricht (d. h. dem letzten Header) stehen.
Wenn kein MQRFH2-Header enthalten ist (was bei einer Anwendung, die ein unterstütztes Protokoll verwendet, das nicht auf der WebSphere MQ-Technologie basiert, normalerweise der Fall ist), müssen Sie den Nachrichtenfluss, der ihre Nachrichten verarbeitet, so konfigurieren (durch die Festlegung der Eigenschaften des Empfangsknotens), dass die Nachrichtenmerkmale angegeben werden.