# IBM MQ

IBM MQ (bis 2002: MQSeries, bis 2014: WebSphere MQ) ist eine plattformunabhängige Message-orientierte Middleware-Software (MoM) des Unternehmens IBM, die 1993 eingeführt wurde und auf dem Prinzip des Message Queueing basiert.

## Eigenschaften

Das Konzept des Message Queueing (auf Deutsch etwa: „Warteschlange für Nachrichten“) ermöglicht die Kommunikation von Programmen über ein Netzwerk von unterschiedlichen Hard- und Softwarekomponenten. Die Programme können Informationen austauschen, ohne dass eine direkte Verbindung zwischen ihnen besteht. Die Kommunikation findet statt, indem die Programme ihre Nachrichten in Message-Queues (deutsch „Nachrichten-Warteschlangen“) ablegen und daraus entnehmen.
IBM MQ reiht Nachrichten in Queues (Warteschlangen) ein, von wo aus die Empfänger-Applikation sie asynchron abholen kann (eine Art Briefkastenprinzip mit FIFO-Regel).
IBM MQ unterstützt Security: “Supports industry standard Secure Sockets Layer (SSL) security and offers an Extended Security Edition for advanced security features.”

## Vor- und Nachteile

Vorteile von IBM MQ:
* Austausch von Nachrichten zwischen heterogenen Anwendungen auf verschiedenen Plattformen
* Viele Plattformen werden unterstützt (z. B. Workstation, Mainframe z/OS, Desktop, i5)
* Asynchrone Datenübertragung
* Weite Verbreitung
* IBM MQ bietet standardmäßig OAM (Object Authority Manager) und SSL Security für Kommunikation
Nachteile von IBM MQ:
* Sicherheitsmechanismen sind standardmäßig nicht eingerichtet, sondern müssen extra eingerichtet werden

## Message Queue Interface (MQI)

Die Programmierschnittstelle wird MQI genannt. Sie bietet folgende Funktionen:
* MQCONN – mit dem Queue-Manager verbinden
* MQDISC – vom Queue-Manager trennen
* MQOPEN – Message Queue öffnen
* MQCLOSE – Message Queue schließen
* MQGET – Lesen aus Message Queue
* MQPUT – Schreiben in Message Queue
* MQPUT1 – Öffnen, Schreiben & Schließen
* MQBEGIN – Transaktion beginnen
* MQBACK – Transaktion zurücknehmen
* MQCMIT – Transaktion bestätigen
* MQINQ – Attribute eines MQ-Objekts abfragen
* MQSET – Attribute eines MQ-Objekts setzen

## Versionen

| Bezeichnung | Veröffentlichung |
| IBM MQ 9.3 LTS | 23. Juni 2022 |
| IBM MQ 9.2 LTS | 23. Juli 2020 |
| IBM MQ 9.1 LTS | 23. Juli 2018 |
| IBM MQ on IBM Cloud | 13. März 2018 |
| IBM MQ for HPE Nonstop 8.0 | 23. Juni 2017 |
| IBM MQ 9.0 LTS | 2. Juni 2016 |
| IBM MQ 8.0 | 23. Mai 2014 |
| WebSphere MQ 7.5 | 15. Juni 2012 |
| WebSphere MQ 7.1 | November 2011 |
| WebSphere MQ 7.0 z/OS | Juni 2008 |
| WebSphere MQ 7.0 (Distributed, iSeries) | Mai 2008 |
| WebSphere MQ 6.0 z/OS | Juni 2005 |
| WebSphere MQ 6.0 (Distributed, iSeries) | Mai 2005 |
| WebSphere MQ 5.3 z/OS | Juni 2002 |
| WebSphere MQ 5.3 (Distributed, iSeries) | Juni, Juli, Oktober, November 2002 |
| MQSeries 5.2 (Distributed) | Dezember 2000 |
| MQSeries for OS/390 V5.2 | November 2000 |
| MQSeries for AS/400 V5.1 | Juli–August 2000 |
| MQSeries for OS/390 V2.1 | Februar 1999 |
| MQSeries 5.1 | April (NT), Juni 1999 |
| MQSeries for AS/400 V4.2 | Februar 1998 |
| MQSeries 5.0 | Oktober 1997 |
| MQSeries for MVS/ESA 1.2 | 29. August 1997 |
| MQSeries for MVS 1.1.4, | Juni 1996 |
| MQSeries 2.2 (Sun OS/Solaris, DC/OSx) | Juni, Juli 1996 |
| MQSeries 2.0 Windows NT | 2. Quartal 1996 |
| MQSeries 2.2 (HP, SCO) | 4. Quartal 1995 |
| MQSeries for MVS 1.1.3 | Mai 1995 |
| MQSeries 2.0 (OS/2, AIX) | Februar 1995 |
| MQM/400 V3 | 4. Quartal 1994 |
| ezBridge Transact for MQSeries 3.0 | Juli 1994 |
| MQSeries for MVS 1.1.2 | Juni 1994 |
| MQM/400 V2.3 | Februar/April 1994 |
| ezBridge Transact for MQSeries | März, September, November, Dezember 1993 |
| MQSeries for MVS V1.1.1 | 31. Dezember 1993 |