The Celtix Enterprise router does more than simply direct messages to the appropriate target endpoints. Its features include:
bridging between endpoints that use different messaging systems.
providing a fail-over mechanism.
broadcasting messages to multiple endpoints.
load balancing
Operation-based routing allow you to refine a route by specifying a particular operation on which the router will filter messages. By adding an operation-based rule to a route, you direct the router to only act upon messages that originate due to an invocation on a particular operation of the specified port. Messages are routed between logical operations whose arguments are equivalent.
As the name suggests, the Celtix Enterprise router can direct messages to one of a number of target endpoints. One way of determining the destination of a message is to base the decision on the contents of the message. The router supports the use of the following filter types for determining the target endpoint:
XPath expressions
wildcard string filters
boolean filters
One of the problems faced in reusing applications and linking them together is that a disconnect between the message transports used by different applications. For example, if you have an application written to use a JMS message broker as a Web service you are faced with the dilemma of how to expose the messages over HTTP. One solution would be to refactor the application. The other would be to develop an application that handles the bridge between the JMS system and HTTP.
The Celtix Enterprise router provides you with a way to bridge between endpoints that use different transports. The two endpoints do not require any modifications and are never aware that they are not interacting directly with the target endpoint. The only limitations are that the endpoints must use the same interface.
In addition to being able to map messages from one transport protocol to another, the router can also map messages from one binding type to another. For example, if one of your endpoints is developed to use SOAP messages and you need it to interact with an endpoint that uses a different messaging format, you can place the router between the two endpoints. The router will intercept the messages and transform the messages on the fly. Neither endpoint needs to be aware that it is interacting with an intermediary.
As with transport bridging, mapping between different message bindings requires that the two endpoints share identical interfaces.
There are many situations where it is undesirable for a request to fail. The Celtix Enterprise router can be set up to provide fail-over logic. You can configure it so that it will automatically cycle through a series of endpoints if a request fails for some reason. You can control the situations that trigger a fail-over and the situations where the exception or fault message is simply passed back to the endpoint.
Many transports, including HTTP, do not provide a native mechanism for broadcasting messages to a number of endpoints. The Celtix Enterprise router provide the ability to broadcast requests to multiple endpoints.
|
Important |
|---|---|
|
In the case where the broadcasted request generates a response, only the response from the endpoint configured as the default endpoint will be returned. |
The message processing feature of the router allows you to create a router that passes messages through any number of processing steps before being forwarded to the target endpoint. For instance, you could create a router that first encrypted and then added security credentials to all outgoing requests.