Do I need a separate server to implement an ESB (e.g. Apache Camel, Mule)?
Do I need a separate server to impl开发者_运维技巧ement an ESB (e.g. Apache Camel, Mule) ?
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).
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 Java EE 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 Java EE container may be a better choice.
There is more information on deployment options for Mule ESB at http://www.mulesoft.org
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.
精彩评论