Die logische Baumstruktur ist die interne (Broker)-Darstellung einer Nachricht.
Wenn eine Nachricht bei einem Broker ankommt, wird sie von einem Empfangsknoten, der in einem Nachrichtenfluss konfiguriert wurde, entgegengenommen. Bevor die Nachricht vom Nachrichtenfluss verarbeitet werden kann, muss sie von einem oder mehreren Parsern, die eine logische Baumstrukturdarstellung aus dem Bitstrom der Nachrichtendaten erstellen, interpretiert werden.
Der Inhalt des Baumstrukturformats ist mit dem des Bitstroms, aus dem es erstellt wird, identisch, kann jedoch innerhalb des Nachrichtenflusses leichter bearbeitet werden. Viele der integrierten Nachrichtenflussknoten stellen eine Schnittstelle zum Abfragen und Aktualisieren des Nachrichteninhalts innerhalb der Baumstruktur zur Verfügung und führen weitere Aktionen für Nachrichten und Datenbanken aus, mit deren Hilfe die erforderliche Funktion in jedem Knoten bereitgestellt werden kann.
Es werden drei Schnittstellen bereitgestellt:
Die von den Parsern erstellte Baumstruktur ist weitgehende unabhängig von irgendwelchen Nachrichtenformaten (z. B. XML). Eine Ausnahme bildet die untergeordnete Baumstruktur, die als Teil der Nachrichtenbaumstruktur erstellt wird und den Hauptteil einer Nachricht (Nachrichtentext) darstellt. Diese untergeordnete Baumstruktur ist nachrichtenabhängig; ihr Inhalt wird nicht weiter beschrieben.
Der Empfangsknoten erstellt die logische Baumstruktur, die aus vier untergeordneten Baumstrukturen besteht:
Die erste dieser Baumstrukturen wird mit dem Inhalt des Empfangsnachrichtbitstroms aufgefüllt (s. hierzu Nachrichtenbaumstruktur füllen): Die drei anderen bleiben anfangs leer.
Jede der vier erstellten Baumstrukturen hat ein Stammelement (mit einem Namen, der für die jeweilige Baumstruktur spezifisch ist). Jede Baumstruktur besteht aus einer Anzahl von diskreten Einzelinformationen, den so genannten Elementen. Das Stammelement besitzt kein übergeordnetes Element und keine gleichgeordneten Elemente (Elemente mit einem gemeinsamen übergeordneten Element). Das Stammelement ist das übergeordnete Element für eine Reihe von untergeordneten Elementen. Jedes untergeordnete Element muss ein übergeordnetes Element haben, kann keine oder mehrere gleichgeordnete Elemente und keine oder mehrere untergeordnete Elemente haben.
Die vier Baumstrukturen werden sowohl für integrierte als auch für benutzerspezifische Empfangsknoten und Parser erstellt.
Der Empfangsknoten übergibt die von ihm erstellte logische Baumstruktur an nachfolgende Nachrichtenverarbeitungsknoten im Nachrichtenfluss:
Um festzulegen, welche der anderen Baumstrukturen eingeschlossen werden, müssen Sie einen Wert für die Eigenschaft Rechenmodus des Knotens angeben (wird auf der Registerkarte 'Erweitert' angezeigt). Die Standardaktion gilt nur für die zu erstellende Nachricht. Sie können jede beliebige Kombination aus Nachrichten-, LocalEnvironment- und ExceptionList-Baumstrukturen zur Erstellung in der Ausgabebaumstruktur angeben.
Wenn die Ausgabebaumstruktur eine vollständige Kopie der Eingabebaumstruktur enthalten soll, können Sie eine einzelne ESQL SET-Anweisung zum Durchführen der Kopie schreiben. Wenn die Ausgabenachricht eine Untermenge der Eingabebaumstruktur enthalten soll, schreiben Sie einen ESQL-Code, um die gewünschten Teile zu kopieren. In beiden Fällen muss Ihre Auswahl für Rechenmodus die Angabe Nachricht einschließen.
Wenn die Ausgabebaumstruktur den gesamten oder einen Teil des Inhalts der empfangenen LocalEnvironment- oder ExceptionList-Baumstruktur enthalten soll, schreiben Sie den entsprechenden ESQL-Code, um die Informationen, die in der Ausgabebaumstruktur erhalten bleiben sollen, zu kopieren. Ihre Auswahl für Rechenmodus muss Lokale Umgebung, Ausnahme oder beides einschließen.
Sie können auch einen ESQL-Code schreiben, um die Ausgabenachrichten-, Environment-, LocalEnvironment- oder ExceptionList-Baumstruktur mit Informationen zu füllen, die nicht aus der Eingabebaumstruktur kopiert werden. Beispielsweise können Sie Daten aus einer Datenbank abrufen oder Inhalt aus den Eingabenachrichtendaten berechnen.