WS-Reliable Messaging
WS-Reliable Messaging (Verlässliche Nachrichtenübermittlung) ist eine Spezifikation aus dem Bereich WS-*, die garantiert, dass gesendete Nachrichten auch im Fall von Versagen einzelner Softwarekomponenten beim Empfänger ankommen.
Dazu sind quasi auf Sender- und Empfängerseite je ein Vermittler auf Middleware-Ebene dazwischengeschaltet.
Unterspezifikationen
WSRM beinhaltet die Unterspezifikation WS-Reliable Messaging Policy Assertion, die mögliche Richtlinien aus dem Bereich Reliable Messaging spezifiziert. Diese Assertions können dann über WS-Policy eingebunden werden.
Ablauf einer Kommunikation
- Der Sender übergibt seine Nachricht an seinen Vermittler.
- Dieser Vermittler stellt eine Verbindung zum Vermittler auf Empfängerseite her.
- Die Nachricht wird von Vermittler zu Vermittler übertragen.
- Der Nachrichteneingang wird vom Empfängervermittler bestätigt.
- Der Vermittler auf Empfängerseite liefert die Nachricht an den eigentlichen Empfänger aus.
Durch diesen Ablauf ist sichergestellt, dass a) der Empfänger die Nachricht wirklich bekommen hat und b) der Sender auch darüber Bescheid weiß.
Funktionsweise und Beispiel
Dies kann auch über eine längere Kette von Nachrichten funktionieren, indem der Vermittler beim Sender in den SOAP-Header zusätzlich noch einen Identifier sowie eine Nachrichtennummer einfügt. Ist eine Nachricht die letzte aus einer ganzen Reihe von Nachrichten, so wird zusätzlich noch ein Element <wsrm:LastMessage/> eingefügt, das dem Vermittler auf Empfängerseite zeigt, dass keine weitere Nachricht mehr kommen wird. In den jeweiligen Eingangsbestätigungen gibt der Vermittler auf Empfängerseite dann zusätzlich an, auf welchen Identifier er sich bezieht sowie die Nummern der Nachrichten, die er bereits erhalten hat, bzw. die noch fehlen. Beispielsweise würde folgender Antwortausschnitt besagen, dass die Nachrichten 1, 2 und 4 bis 7 erhalten wurden und 3 noch fehlt:
<!-- usw. -->
<wsrm:AcknowledgementRange Upper="2" Lower="1"/>
<wsrm:AcknowledgementRange Upper="7" Lower="4"/>
<wsrm:Nack>3</wsrm:Nack>
<!-- usw. -->
Es gibt vier mögliche Liefergarantien („delivery assurances“):
AtLeastOnce: Jede Nachricht wird mindestens einmal zugestellt, dabei ist es auch möglich, dass sie bedeutend öfter ankommt. Sollte eine Zustellung nicht möglich sein, muss ein Fehler gemeldet werden.AtMostOnce: Jede Nachricht wird maximal einmal zugestellt. Es ist möglich, dass eine Nachricht gar nicht ankommt, aber der Empfänger wird nie eine Nachricht mehrfach erhalten.ExactlyOnce: Jede Nachricht wird genau einmal zugestellt. Duplikate sind ausgeschlossen und Nachrichten können nicht verloren gehen. Sollte eine Zustellung nicht möglich sein, wird eine Fehlermeldung ausgelöst.InOrder: Alle Nachrichten werden genau in der Reihenfolge ankommen, in der sie abgesendet wurden. Diese Garantie kann mit jeder der drei vorangehenden Liefergarantien kombiniert werden.
Siehe auch
- WS-Reliability (konkurrierende Spezifikation, aber im Gegensatz zu WS-Reliable Messaging nicht auf die übrigen WS-*-Spezifikationen abgestimmt)
Weblinks
- WS-ReliableMessaging v1.2 OASIS Standard
- WS-ReliableMessaging v1.1 OASIS Standard
- WS-ReliableMessaging 2005/02 (PDF; 305 kB)
- Spezifikation ( vom 2. April 2012 im Internet Archive) (englisch)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.