I am trying to wrap my head around Apache Camel, which appears to be a lightweight ESB. If I understand Camel/ESBs correctly, then you can think of a Camel Route as a graph of nodes and edges. Each node is an endpoint on the route (can consume/produce messages). Each edge is a route between two different endpoints (1 producer and 1 consumer).
Assuming that's correct, I have a practical question: what do best practices dictate about deploying your application's ESB/Camel Route? Should I package it up as its own JAR, or is it worthy of being its own EAR full of EJBs, Web Services and other JARs?
I guess I'm asking how a Camel Route or ESB should be deployed/architected, like:
my-esb.ear/
ejb1.jar/
MyEJB_1.class
ejb2.jar/
MyEJB_2.class
webservice.war/
MyWebService.class
Or...
my-esb.jar/
MyEJB_1.class
MyEJB_2.class
MyWebService.class