Message Routing
With implicit routing, or routing by to logical ID, a to
logical ID
header is used to find an appropriate endpoint. The header is sent
together with the message. The implicit routing is mainly used together with Request-Reply BOD
messaging pattern.
The implicit data flow:
- You model a data flow from Application A to Application B.
- Application A sends a request message,
Process
orGet
, to application B. - Application B generates a reply document,
Acknowledge
orShow
. The logical ID from theFrom Logical ID
request message is added to theto logical ID
in the reply message. - The reply message is received by ION. The
“to logical ID
is read and the message is routed directly to the Application A.
Explicit routing, or routing by data flow, uses the data flow model to find the endpoint. Explicit routing of reply messages means that you can control the flow of reply messages in the same way as for request messages.
The explicit data flow:
- You model a data flow from application A to application B.
- You model a data flow from application B to application A.
- Application A sends a request message,
Process
orGet
, to application B. - Application B generates a reply document,
Acknowledge
orShow
. The logical ID fromto logical ID
request message is added to theto logical ID
in the reply message. - The reply message is received by ION and the relevant data flow is found.
- The message is routed to application A according to data flow for reply message,
to logical ID
is ignored.
Explicit routing of reply messages can be used to control reply messages. In
situations where the to logical ID
cannot be used to route
the message to the correct target. Explicit routing has priority over implicit routing. If a
message with to logical ID
is received and Data Flow is
found, the Data Flow route is used instead of to logical ID
.
to logical ID
, there
are two ways to route. When data flow is active, to logical
ID
is ignored and routing is done according to data flow. When data flow gets
deactivated, routing according to data flow is not possible. The message is delivered with
implicit routing according to to logical ID
possibly to
different connection points.