views:

255

answers:

3

Do I need a separate server to implement an ESB (e.g. Apache Camel, Mule) ?

A: 

Apache Camel is not an ESB, and requires an ESB to run on. Mule is an ESB.

If you are asking if you need another physical server to run your ESB other than your app server, no. Also, most "enterprise" app servers have their own ESBs; such as JBossESB.

jcm
A: 

Apache Camel does everything an ESB does - but allows you to start simply by embedding it in your application code. Its very simple to use - as it uses a DSL to define routes. If at a later point you want to run it in an managed container - you have a number of options - run it embedded in Apache ServiceMix, or Apache ActiveMQ - or standalone - on top of Apache Felix Karaf (OSGI Container).

Rob Davies
A: 

Mule ESB is flexible and very light weight. It can run stand alone (recommended deployment) or you may embed it in a java, web or JEE application. Many users like to run Mule applications as web apps in Apache Tomcat or MuleSoft Tcat. It all depends on your environment, IT requirements and the SOA architecture you have chosen.

If you are hosting your services in Mule, in addition to using it as your bus, then standalone is usually a good choice. If you are hosting you services in an application server or are deploying to a large datacenter where you already have a standard application server deployed and operation procedures in place, embedding Mule in your web app or JEE container may be a better choice.

There is more information on deployment options for Mule ESB at http://www.mulesoft.org

Ken