Asynchrone Messages
Das Adapter-Framework stellt ein transaktionales Konzept zur Verfügung, das eine sichere Lösung für Quality-of-Service Exactly Once für den Message-Fluss aus Senderrichtung und eine nahezu sichere Lösung für den Message-Fluss in Empfängerrichtung liefert. Das Konzept verwendet dazu verteilte Transaktionen (XAResources).
Eine asynchrone Message besitzt immer Quality-of-Service Exactly Once oder Exactly Once In Order. Nähere Informationen hierzu finden Sie unter: Bestandteile der XI-Message
Für asynchrone Messages darf ein Adapter:
· In Empfänger-/Outbound-Richtung keine Response-Message verschicken
· In Sender-/Inbound-Richtung keine Response-Message erwarten.
Folgende Voraussetzung besteht für die Empfänger-/Outbound Richtung:
· Der Adapter muss bekannt geben, welche Arten von Acknowledgment-Messages er nicht unterstützt.
· Der Adapter muss veranlassen, dass die unterstützten Acknowledgment-Messages asynchron oder synchron zum Integration Server zurückgeschickt werden.

Momentan werden für die Sender-/Inbound-Richtung Acknowledgment-Messages nicht unterstützt. Prüfen Sie SAP-Hinweis 766332 bezüglich späterer Änderungen.
Um eine Exactly Once-Auslieferung zu implementieren, sollte der Adapter folgende Services verwenden:
Mit diesem Service können sie eine externe Message-ID auf eine XI-Message-ID mappen. Das Mapping wird in der Datenbank gespeichert und kann in derselben LUW (Logical Unit of Work) wie der Adapter-Framework Messaging-Service ausgeführt werden. Siehe auch: Message-ID Erzeugung, Persistenz und Mapping

Das Adapter-Framework erwartet zwingend, dass der Adapter eine externe Message-ID zur Verfügung stellt. Entweder kann die Message-ID des externen Protokolls verwendet werden, oder es werden Message-IDs durch Algorithmen (z.B. Hash) erzeugt.

Ein Beispiel für eine ID eines externen Protokolls ist die JMS-Message-ID
Sie wird aus folgenden Elementen erzeugt: Dateiname, Dateiverzeichnis und Änderungszeit.
Der SAP J2EE Server stellt die Funktionen des Paketes javax.transaction zur Verfügung. Der TransactionManager wird dazu verwendet, um LUWs zu kontrollieren.

Weitere Informationen hierzu finden Sie im Internet unter: java.sun.com/j2ee/transactions.
Die Message-Verarbeitung sieht in Sender- und Empfängerrichtung unterschiedliche Schritte vor:
· Transaktionen im asynchronen Sender-/Inbound-Message-Fluss
· Transaktionen im asynchronen Empfänger-/Outbound-Message-Fluss
· Informationen zu Acknowledgments finden Sie unter: Erzeugung von Acknowledgment-Messages