Show TOC

Inhaltsbasiertes RoutingLocate this document in the navigation structure

Verwendung

In vielen Anwendungsfällen ist es notwendig, Bedingungen festzulegen, anhand derer während des Routings die Empfänger einer Message ermittelt werden. Betrachten Sie z. B. eine Bedingung in folgender Form: „Wenn der Wert eines bestimmten Feldes in der Message x ist, dann leite die Message an Empfänger y weiter.“

Zur Konfigurationszeit können Sie Bedingungen festlegen, die vom Inhalt der Message abhängen. Dies ist sowohl für die Empfänger- als auch für die Interface-Ermittlung möglich.

Die folgende Abbildung zeigt ein einfaches Beispiel für inhaltsbasiertes Routing:

Abbildung 1: Einfaches Beispiel für inhaltsbasiertes Routing

Die folgende Abbildung verdeutlicht diesen Anwendungsfall: Flugbuchungssysteme für verschiedene Fluggesellschaften werden auf verschiedenen Systemen gehostet. Damit die Anfrage zur Flugverfügbarkeitsermittlung an die jeweils richtige Fluggesellschaft geleitet wird, wird die Routing-Bedingung abhängig von der Fluggesellschaft formuliert. Die ID der Fluggesellschaft (Feld AirlineID) steht in der Payload der Message. Die Routing-Bedingung lautet folgendermaßen: „Sende die Message zur Anfrage der Flugverfügbarkeitsermittlung zur Fluggesellschaft Lufthansa , wenn das Feld AirlineID in der Payload der Message den Wert LH (Lufthansa) enthält. Wenn dieses Feld den Wert AA (American Airlines) enthält, dann leite die Message an die Fluggesellschaft American Airlines weiter.“

Sie können inhaltsbasierte Empfängerermittlungen und inhaltsbasierte Interface-Ermittlungen definieren sowie beide Routing-Verfahren in einem Szenario kombinieren.

Eine Routing-Bedingung hat in der Regel folgende Syntax:

<Element in der Message> <Operand> <Wert>

Das Element in der Message wird durch einen Ausdruck der XML Path Language ( XPath ) identifiziert. XPath ist eine Sprache, mit der Sie Teile eines XML-Dokuments ansprechen können.

Wenn Sie eine Routing-Bedingung festlegen, können Sie einen Bedingungseditor verwenden. Wenn Sie einen Bedingungseditor verwenden, müssen Sie sich keine Gedanken um die XPath-Syntax machen, da Sie ein Message-Element bequem beim Durchklicken der im Editor angezeigten Message-Struktur identifizieren können. Außerdem können Sie mithilfe der logischen Operatoren AND und OR mehrere Bedingungen miteinander kombinieren.