ServiceMix provides a range of different routing facilities for conncecting our many JBI Components together in a high performance, reliable, clustered and scalable SOA network. ServiceMix also supports variety of different process flow topologies, from straight through processing to SEDA based architectures to clustered architectures.
Enhanced JBI routing
We support all the various JBI based routing mechanisms that every JBI platform must support which can suffice for many scenarios.
We also support a pluggable EndpointResolver on the ActivationSpec to allow you to specify an endpoint in a pluggable stategy. Also for cases where there are multiple physical endpoints for a given resolver (e.g. multiple services offering the same interface), we support a pluggable EndpointChooser strategy, such as first choice, random and so forth to use whatever selection policy you wish.
In addition we also provide for Publish Subscribe Routing which allows JBI components to subscribe to the output of another JBI component, using Topic semantic - every applicable subscriber receives a copy of the message in addition to the more usual Queue semantics of routing defined by the JBI specification.
We also provide additional routing mechanisms through custom JBI components.
Smart routing capabilities
- XPath based routing and transformations
- rules based routing using Drools
- BPEL routing and orchestration
- high performance distributed content based routing using XPath selectors using ActiveMQ and our in built JCA container
- Scripting based routing using any JSR 223 compliant scripting engine such as Groovy
- Java based routing using our POJO Support for JBI routing written using lightweight Java code