Lightweight and different deployment topologies
Camel itself is very light. The Camel core is only around 2 MB, and contains everything required to run Camel. As it's based on a pluggable architecture, all Camel components are provided as external modules, allowing you to install only what you need, without installing superfluous and needlessly heavy modules.
As we saw, Camel is based on simple POJO, which means that the Camel core doesn't depend on other frameworks: it's an atomic framework and is ready to use. All other modules (components, DSL, and so on) are built on top of this Camel core.
Moreover, Camel is not tied to one container for deployment. Camel supports a wide range of containers to run. They are as follows:
- A J2EE application server such as WebSphere, WebLogic, JBoss, and so on
- A Web container such as Apache Tomcat
- An OSGi container such as Apache Karaf
- A standalone application using frameworks such as Spring
Camel gives a lot of flexibility, allowing you to embed it into your application or to use an enterprise-ready container.