
Bei asynchroner Message-Verarbeitung unterscheiden sich die technischen Namen der Eingangs- und Ausgangswarteschlangen (Queues) je nach Rolle der Integration Engine als
Die Integration Engine besitzt Eingangs- und Ausgangs-Queues.
Die Integration Engine besitzt Sender- und Empfänger-Queues.
Zusätzlich werden weitere Queues für die Verarbeitung von Acknowledgment-Messages benötigt, sowie Queues für die Verarbeitung von besonders großen Messages. Letztere werden nur für die Exactly-Once-Verarbeitung benötigt.
Weitere Informationen: Konfigurationsparameter EO_MSG_SIZE_LIMIT und EO_MSG_SIZE_LIMIT_PARALLEL der Kategorie Tuning.
Damit alle Messages einschließlich der Acknowledgment-Messages automatisch verarbeitet werden können, müssen Sie die von der Integration Engine benutzten Queues mit der Transaktion SMQR registrieren .
Bei der Namensgebung dieser Queues gelten die nachfolgenden Konventionen für das Präfix. Hierbei steht EO für Quality-of-Service Exactly Once und EOIO für Quality-of-Service Exactly Once In Order.
Name der Queues (maximal 24 Stellen lang)
| Sender | Eingangs | Ausgangs | Empfänger | Acknowledgment | Large Message | |
|---|---|---|---|---|---|---|
|
EO |
XBTSx XBT1x XBT9x |
XBTIx XBT1x XBT9x |
XBTOx XBTAx XBTZx |
XBTRx XBTAx XBTZx |
XBTBx XBTXx XBTYx |
XBTLx XBTMx |
|
EOIO |
XBQSx XBQ1x XBQ9x |
XBQIx XBQ1x XBQ9x |
XBQOx XBQAx XBQZx |
XBQRx XBQAx XBQZx |
XBQBx XBQXx XBQYx |
Wenn Sie das Switch-Verfahren zur Überserialisierung der EOIO-Queues verwenden, wird ein neues Set von EOIO-Queues erzeugt mit dem Präfix XB2 (statt XBQ). Zusätzlich werden die Fehlerqueues XBQE, XBQF und XBQG angelegt.
Weitere Informationen: Anzahl der EOIO-Queues ändern .
Das Suffix x des Queue-Namens wird je nach Zustellungsart unterschiedlich ermittelt, wobei das Suffix bei den Sender-, Empfänger- und Eingangs--Queues jeweils auf die gleiche Art und Weise ermittelt wird.
Zustellungsart EO
Bei der Zustellungsart EO wird zur Ermittlung des Suffix der Sender-, Empfänger- und Eingangs-Queues mit einem Zufallsalgorithmus eine vierstellige Zahl zur Ergänzung des Queue-Namens generiert. Somit können mehrere Messages parallel in verschiedenen Queues verarbeitet werden.
Den für den Zufallsalgorithmus gültigen Bereich können Sie über den Konfigurationsparameter EO_INBOUND_PARALLEL der Kategorie Tuning bestimmen. Mit Hilfe der Subparameter SENDER, CENTRAL und RECEIVER können Sie separate Bereiche für die Sender-Queue, die Eingangs-Queue und die Empfänger-Queue festlegen.
Ermittelte Zufallszahl: 38
Queue-Name: XBTI0038
Auf dem zentralen Integration Server werden die Messages nach der Eingangsverarbeitung erneut persistiert und zum Versenden an die ermittelten Empfänger eingeplant. Um ein Blockieren von Messages zu vermeiden, werden diese nach Empfängern gebündelt und in die den jeweiligen Empfängern zugeordneten Ausgangs-Queues gestellt. Die jeweilige Queue wird über eine vierstellige Verschlüsselung des Empfängernamens ermittelt.
Tritt bei der Verarbeitung ein Fehler auf, der einen manuellen Restart verlangt, wird die entsprechende Message aus der Queue entfernt und die nachfolgenden Messages werden weiter verarbeitet. Tritt ein Fehler auf, bei dem die Message automatisch neu gestartet wird (zum Beispiel bei Verbindungsproblemen zum Empfänger), blockiert die Message nach dem letzten (erfolglosen) Versuch die Queue, um zu verhindern, dass die nachfolgenden Messages auf den gleichen Fehler laufen.
Name des Empfängers: KUNDE_XYZ
Name verschlüsselt: 3___
Queue-Name: XBTO3___
Gehen viele Messages an den gleichen Empfänger, können Sie mit dem Konfigurationsparameter EO_OUTBOUND_PARALLEL der Kategorie Tuning einstellen, ob Sie die Messages parallel in verschiedenen Queues verarbeiten möchten. Auch hier wird über einen Zufallsalgorithmus eine vierstellige Zahl zur Ergänzung des Queue-Namens generiert. Hierzu müssen Sie in der Spalte Subparameter den Empfänger sowie in der Spalte Wert den für den Zufallsalgorithmus gültigen Bereich eingeben.
Name des Empfängers: KUNDE_XYZ
Name verschlüsselt: 3___
Ermittelte Zufallszahl: 17
Queue-Name: XBTO3___0017
Sollen prinzipiell alle Messages in parallelen Ausgangs-Queues verarbeitet werden, geben Sie mit dem Konfigurationsparameter nur den Bereich für den Zufallsalgorithmus an, ohne einen speziellen Empfänger einzugeben.
Nach erfolgreichem Versenden wird eine Message erneut persistiert. Im Zielsystem führt die Integration Engine nach erfolgreicher Verarbeitung ein implizites Datenbank-Commit aus. Tritt während der Verarbeitung ein Fehler auf, führt sie ein implizites Datenbank-Rollback durch.
Zustellungsart EOIO
Zur Ermittlung des Suffix der Sender-, Empfänger- und Eingangs-Queues wird der von der Anwendung mitgelieferte Queue-Namen herangezogen. Dieser Name darf höchstens 16 Stellen lang sein und wird an das Präfix des Queue-Namens angehängt. Erlaubte Zeichen sind Ziffern (0 bis 9), Großbuchstaben (A bis Z), sowie Unterstrich (_) und Schrägstrich (/).
Name der Queue aus der Anwendung: APPQUEUENAME (maximal 16 Stellen)
Name der Eingangs-Queue: XBQIAPPQUEUENAME
Zum Bündeln von Messages nach Empfänger wird auf dem zentralen Integration Server der Name der entsprechenden Ausgangs-Queue ermittelt. Dies geschieht über den Namen des ermittelten Empfängers . Der Name der Anwendungsqueue wird in diesem Fall mit übernommen.
Name des Empfängers: KUNDE_XYZ
Name verschlüsselt: 3___
Name der Ausgangs-Queue: XBQO3___APPQUEUENAME (maximal 24 Stellen)
Eingehende Messages mit gleichem Empfänger werden in der gleichen Reihenfolge verarbeitet wie sie eingegangen sind. In dieser Reihenfolge werden sie auch an ihre jeweiligen Empfänger verschickt, da sie aufgrund des gleichen, aus der Anwendung mitgelieferten Queue-Namens in die gleiche Ausgangs-Queue gestellt werden.
Tritt ein Fehler in der Verarbeitung auf, blockiert die fehlerhafte Message die Queue, um die Reihenfolge der Verarbeitung zu garantieren.
Bei unterschiedlichen Empfängern kann die Reihenfolge jedoch abweichen.
Nach erfolgreichem Versenden wird eine Message erneut persistiert. Im Zielsystem führt die Integration Engine nach erfolgreicher Verarbeitung ein implizites Datenbank-Commit durch; andernfalls ein implizites Datenbank-Rollback.