Die logische Baumstruktur ist die interne (Broker) Darstellung einer Nachricht.
Wenn eine Nachricht den Broker erreicht, wird sie von einem Empfangsknoten empfangen, den Sie in einem Nachrichtenfluss konfiguriert haben. Bevor die Nachricht vom Nachrichtenfluss verarbeitet werden kann, muss sie von einem oder mehreren Parsern interpretiert werden, die eine logische Baumdarstellung vom Bitstrom der Nachrichtendaten erstellen.
Das Baumformat enthält den gleichen Inhalt wie der Bitstrom, von dem es erstellt wird, aber es ist einfacher, innerhalb des Nachrichtenflusses Änderungen vorzunehmen. Viele der integrierten Nachrichtenflussknoten stellen Ihnen eine Schnittstelle bereit, um Nachrichteninhalt innerhalb der Baumstruktur abzufragen und zu aktualisieren und um andere Aktionen an Nachrichten und Datenbanken durchzuführen, damit Sie in jedem Knoten die erforderliche Funktion bereitstellen können.
Es werden drei Schnittstellen bereitgestellt:
Die von den Parsern erzeugte Baumstruktur ist zum großen Teil vom Nachrichtenformat (z. B. XML) unabhängig. Die Ausnahme hierzu ist die untergeordnete Baumstruktur, die als Teil der Nachrichtenbaumstruktur erstellt wird und den Hauptteil der Nachricht darstellt. Diese untergeordnete Baumstruktur ist abhängig von der Nachricht; ihr Inhalt wird nicht weiter beschrieben.
Der Empfangsknoten erzeugt die logische Baumstruktur, die wiederum aus vier untergeordneten Baumstrukturen besteht:
Die erste dieser Baumstrukturen wird mit dem Inhalt des Empfangsnachrichtbitstroms aufgefüllt (s. hierzu Belegung der Nachrichtenbaumstruktur): Die drei anderen bleiben anfangs leer.
Jeder der vier erstellten Strukturbäume verfügt über ein Stammelement (mit einem bestimmten Namen für jeden Strukturbaum). Jeder Strukturbaum besteht aus einer Reihe von diskreten Einzelinformationen mit der Bezeichnung Element. Das Stammelement hat kein übergeordnetes Element und kein gleichgeordnetes Element (gleichgeordnete Elemente sind Elemente, die das gleiche übergeordnete Element haben). Das Stammelement ist das übergeordnete Element der untergeordneten Elemente. Jedes untergeordnete Element muss über ein übergeordnetes Element verfügen, kann kein oder mehrere gleichgeordnete Elemente aufweisen und über kein oder mehrere untergeordnete Elemente verfügen.
Die vier Strukturbäume werden sowohl für integrierte als auch für benutzerdefinierte Empfangsknoten und Parser erstellt.
Der Empfangsknoten übergibt die von ihm erstellte logische Baumstruktur an die nachfolgenden Nachrichtenverarbeitungsknoten im Nachrichtenfluss:
Um zu bestimmen, welche der anderen Baumstrukturen einbezogen werden, müssen Sie einen Wert für die Eigenschaft Compute mode (Berechnungsmodus) des Knotens (wird auf der Registerkarte 'Erweitert' angezeigt) angeben. Die Standardaktion ist nur für die Nachricht zu erstellen. Es kann jede Kombination aus Nachricht, LocalEnvironment- und ExceptionList-Baumstruktur angegeben werden, die in der Ausgabebaumstruktur erstellt werden soll.
Wenn die Ausgabebaumstruktur eine vollständige Kopie der Empfangsnachrichtenbaumstruktur enthalten soll, können Sie eine einzelne ESQL SET-Anweisung codieren, um die Kopie anzufertigen. Soll die Ausgabenachricht eine Untergruppe der Empfangsnachrichtenbaumstruktur enthalten, codieren Sie ESQL, um die von Ihnen gewünschten Teile zu kopieren. In beiden Fällen muss Ihre Auswahl von Compute mode (Berechnungsmodus) Message (Nachricht) beinhalten.
Damit die Ausgabebaumstruktur alle oder einen Teil der empfangenden LocalEnvironment- oder ExceptionList-Baumstrukturinhalten enthält, codieren Sie das entsprechende ESQL, um die Informationen zu kopieren, die in dieser Baumstruktur beibehalten werden sollen. Ihre Auswahl von Compute mode (Berechnungsmodus) muss LocalEnvironment (lokale Umgebung) oder Exception (Ausnahme) oder beides enthalten.
Sie können ebenfalls ESQL codieren, um die Ausgabenachricht, Environment-, LocalEnvironment-, oder ExceptionList-Baumstruktur mit Informationen aufzufüllen, die nicht von der Empfangsbaumstruktur kopiert werden. Beispiel: Sie können Daten von einer Datenbank abfragen oder von den Eingabenachrichtsdaten Inhalt berechnen.