MOM (message oriented middleware)

Message Oriented Middleware (MOM) ist die Basis für eine asynchrone Kommunikation zwischen Client und Server in einer verteilten Anwendung. Diese Form der Kommunikation steht im Gegensatz dazu, wenn Client und Server direkt und zeitgleich - also synchron - miteinander in Verbindung stehen und sich damit ebenso blockieren können.


MOM wird daher auch als eine lose Kopplung zwischen den Teilnehmern bezeichnet. Der MOM-Server übernimmt die Verwaltung der asynchronen Nachrichten in Regel in Form einer Warteschlange. Dadurch kann der Empfänger die Nachrichten zu einem beliebigen Zeitpunkt aus dieser Warteschlange abholen.

Der zentrale Gesichtspunkt eines MOM-Servers ist die unabhängige Vermittlung von Nachrichten. Damit steht ein MOM-Server im Vorteil gegenüber klassischen verteilten Systemen, die auf Remote Procedure Call (RPC) basieren. Durch Dienste wie die Bündelung von Nachrichten ist eine Steigerung der Performance beim Austausch von Nachrichten erzielbar. Message Oriented Middleware bietet damit ein Konzept zum Austausch von Nachrichten unabhängig von Programmiersprachen und Plattformen. Jedoch existieren Programmierschnittstellen (API) für verschiedene Programmiersprachen, zum Beispiel der Java Message Service (JMS).

Die Architektur der Message Oriented Middleware

Architektur von Message Oriented Middleware (MOM)

Architektur von Message Oriented Middleware (MOM)

Die Abbildung verdeutlicht die grundlegende Architektur von Message Oriented Middleware, einem sehr populären Modell für die Entwicklung verteilter Systeme.

Die Basis ist dabei ein nachrichtenorientiertes Modell, das den asynchronen Austausch von Nachrichten zwischen verschiedenen Prozessen organisiert. Häufig werden die folgenden Bezeichnungen für diese Konzept verwendet: Messaging, Message Queuing, Message Oriented Middleware (MOM). In der Regel wird dabei die Technik der Warteschlangen (Queue) eingesetzt:

  • Der Sender stellt eine Nachricht in die Queue des Empfängers.
  • Dabei wirken Sender und Empfänger immer unabhängig voneinander.
  • Der Sender agiert weiter, ohne dass er Kenntnis vom Status seiner Nachricht hat.
  • Der Empfänger holt die Nachricht zu einem beliebigen Zeitpunkt aus seiner Queue.

Die Komponenten der Message Oriented Middleware

Zentrale Komponente in der gezeigten Architektur ist der Verwalter der Warteschlange, der auch als Manager oder Provider bezeichnet wird. Dieser ist zuständig für die Einordnung der Nachrichten in die Queues der Empfänger, die Benachrichtigung der Empfänger, die Initialisierung und Kontrolle der Queues und für die Zugriffsschnittstellen und das Übertragungsprotokoll.

Neben dem bereits erwähnten asynchronen Modus sollte eine Message Oriented Middleware folgende weitere Merkmale haben: Die Kopplung der Komponenten sollte lose sein, da nur so keine Komponente die Referenz für eine weitere hat, und die Komponenten sind nicht nur verteilt sondern haben auch einen unterschiedlichen Status hinsichtlich ihrer Verfügbarkeit - siehe zum Beispiel Anwendungen auf Laptops, Handys etc.

Für die asynchrone Übermittlung von Nachrichten gibt es noch die folgenden Ergänzungen des MOM-Modells.

Request-Reply-Modell

Request-Reply-Modell

Request-Reply-Modell. Siehe hierzu die Abbildung. Hier wird die grundsätzlich asynchrone Infrastruktur zur Simulation einer synchronen Kommunikation genutzt. Damit bleibt der Sender solange blockiert, bis er die Antwortnachricht erhalten hat. Dabei ist sowohl die Variante mit temporären Queues für Antwortnachrichten möglich als dass auch sogenannte Identifikatoren zusammengehörige Nachrichten kennzeichnen, wobei dann eine Queue auch mehrere parallele Verbindungen unterstützen kann. Beide Möglichkeiten führen in jedem Fall zu einer engeren Kopplung.

Publish-Subscribe-Modell

Publish-Subscribe-Modell

Publish-Subscribe-Modell. Siehe hierzu die Abbildung. In diesem Modell wird ein System von Abonnenten realisiert. Dabei veröffentlicht ein Publisher Nachrichten zu einem Thema (Topic), die von einem Subscriber abonniert und durch den Broker verteilt werden. Typische Anwendungen dieses Modells sind Börsendienste oder RSS-Feeds.

Informationen zum Artikel
Deutsch:
Englisch: message oriented middleware - MOM
Veröffentlicht: 28.10.2013
Wörter: 555
Tags: #Computer- Ausführungen
Links: API (application programming interface), Architektur, Asynchrone Kommunikation, Broker, Bündelung