Search code examples
apache-camelosgiesbapache-servicemix

Advice for ServiceMix bundle design?


I am implementing an ESB solution using ServiceMix

  • I have my own system with a bunch of web services
  • And several external systems with different services (most with WS interfaces, some with others)
  • These are to be connected with ServiceMix / Camel. Some message routing, transformation and other EIP is happening here. The solution is likely utilizing JMS queues for between-bundles communication.

Any advice on a good bundle design structure for this solution? Should I just put everything in one bundle, should I have routing in one bundle and transformations for each external system in own bundle for each, or....what kind of structure would give enough benefits of modularity while not being overly complex to maintain? What should I take into account when making the decision?

Any best practices or reference material for this kind of design problem?

I'm just looking for some general guidelines but I haven't found much yet.


Solution

  • in my experience...the best thing you can do is try to clearly define the behavior/lifecycle/dependencies of your application and figure out where lines can be drawn to provide enough modularity to meet your system requirements, but limit unnecessary modularity (sorry, vague I know).

    you might checkout this book to help with the basic concepts: http://www.packtpub.com/open-services-gateway-initiative-starter/book