Messaging-Stile in Anwendungen
Anwendungen können Punkt-zu-Punkt- und Publish/Subscribe-Messaging verwenden. Diese Messaging-Stile können auf folgende Arten verwendet werden: unidirektional, Anforderung/Antwort, unidirektional und Weiterleitung.
- Punkt-zu-Punkt
- Punkt-zu-Punkt-Anwendungen verwenden Warteschlangen, um Nachrichten miteinander auszutauschen. Eine Anwendung sendet eine Anforderung an eine andere Anwendung. Dazu gibt sie, implizit oder explizit, eine Zielwarteschlange an. Das zugrunde liegende Messaging- und Warteschlangensystem empfängt die Nachricht von der sendenden Anwendung und leitet sie an die Zielwarteschlange weiter. Die empfangende Anwendung kann die Nachricht dann aus der Warteschlange abrufen.
- Publish/Subscribe
- Beim Publish/Subscribe-Messaging gibt es zwei Anwendungstypen: Publisher (Bereitsteller) und Subskribenten (Abonnenten).
Ein Publisher stellt Informationen in Form von Nachrichten bereit. Wenn ein Publisher eine Nachricht veröffentlicht, gibt er ein Topic an, das das Thema der in der Nachricht enthaltenen Informationen angibt.
Ein Subskribent konsumiert die bereitgestellten Informationen. Er gibt die Topics an, an denen er interessiert ist, indem er Subskriptionsanforderungen an einen Publish/Subscribe-Broker sendet. Der Broker empfängt bereitgestellte Nachrichten von Publishern und Subskriptionsanforderungen von Subskribenten. Außerdem leitet er bereitgestellte Nachrichten an Subskribenten weiter. Ein Subskribent empfängt Nachrichten nur zu den Topics, die er abonniert hat.
- Einweg (One-way)
- Eine Anwendung sendet eine Nachricht, ohne eine Antwort zu erwarten. Eine Nachricht dieses Typs wird auch als Datagramm bezeichnet.
- Einweg und Weiterleitung (One-way and forward)
- Eine Anwendung sendet eine Anforderung an eine andere Anwendung, die daraufhin eine Nachricht an eine weitere Anwendung sendet.
- Anforderung und Antwort
- Eine Anwendung sendet eine Anforderung an eine
andere Anwendung und erwartet darauf eine Antwort.
Ein typisches JMS-Messaging-Muster ist eine anfordernde Anwendung, die eine Nachricht zur Verarbeitung durch einen Messaging-Service (z. B. eine nachrichtengesteuerte Bean) an eine JMS-Warteschlange sendet. Wenn die anfordernde Anwendung die Anforderungsnachricht sendet, enthält die Nachricht eine andere JMS-Warteschlange, an die der Service eine Antwortnachricht senden soll. Nach dem Senden der Anforderungsnachricht wartet die anfordernde Anwendung entweder auf die Antwortnachricht, oder sie stellt zu einem späteren Zeitpunkt die Verbindung wieder her, um die Antwortnachricht abzurufen.
Diese Messaging-Techniken sind miteinander kombinierbar, was zu einer Vielzahl von Szenarien für asynchrones Messaging führt.
Weitere Informationen zu diesen Messaging-Techniken und zu Java™ Message Service (JMS) finden Sie auf der Webseite Sun's Java Message Service (JMS) specification documentation (http://developer.java.sun.com/developer/technicalArticles/Networking/messaging/).
Nähere Informationen zur Unterstützung von MDBs und eingehenden Nachrichten finden Sie in der Spezifikation für Enterprise JavaBeans von Sun (http://java.sun.com/products/ejb/docs.html).
Nähere Informationen zur Verarbeitung eingehender JCA-Nachrichten finden Sie in der Spezifikation der J2EE Connector Architecture von Sun (http://java.sun.com/j2ee/connector/download.html).