Hi, I'd like to clarify my understanding about the ServiceMix usage. ESB is frequently referred as a central part of the universe that is responsible for all communications happening in the distributed system.
Unfortunately, it does not seem to be a good idea to call all my services through an ESB. Let's say I have a distributed system with a few standalone components, each of them maintains a bunch of SOAP services. Why should I plug them to the ESB? Instead, I'd like to discover those services through UDDI and consume them directly from my application. ServiceMix is definitely useful in the following cases: 1) When I need to plug the legacy application and expose it as a service. 2) When some of my native services have to be replaced with third-party services without causing an impact to my existing applications. Then I plug those new services to ESB and set up transformation rules so that my new service look like the old one. 3) When I'd like to consume some service who speaks protocol A through the protocol B. Then ESB does impedance matching. 4) When I need automatic routing for the service calls and document transformations. This list can be easily extended but still do you think that ESB should be a central part of the distributed system?