| [[WhatisCamel-WhatisCamel]] |
| = What is Camel? |
| |
| Apache Camel (TM) is a versatile open-source integration framework based on |
| known xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration |
| Patterns]. |
| |
| Camel empowers you to define routing and mediation rules in a variety of |
| domain-specific languages, including a Java-based xref:ROOT:dsl.adoc[Fluent |
| API], xref:ROOT:spring.adoc[Spring] or |
| xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint] |
| xref:ROOT:xml-configuration.adoc[XML Configuration] files. |
| This means you get smart completion of |
| routing rules in your IDE, whether in a Java or XML editor. |
| |
| Apache Camel uses xref:ROOT:uris.adoc[URIs] to work directly with any kind of |
| xref:ROOT:transport.adoc[Transport] or messaging model such as |
| xref:components::http-component.adoc[HTTP], xref:components::activemq-component.adoc[ActiveMQ], xref:components::jms-component.adoc[JMS], |
| JBI, SCA, xref:components::mina-component.adoc[MINA] or xref:components::cxf-component.adoc[CXF], as |
| well as pluggable xref:ROOT:component.adoc[Components] and |
| xref:ROOT:data-format.adoc[Data Format] options. Apache Camel is a small |
| library with minimal xref:what-are-the-dependencies.adoc[dependencies] |
| for easy embedding in any Java application. Apache Camel lets you work |
| with the same xref:ROOT:exchange.adoc[API] regardless which kind of |
| xref:ROOT:transport.adoc[Transport] is used -- so learn the API once and you |
| can interact with all the xref:components::index.adoc[Components] provided |
| out-of-box. |
| |
| Apache Camel provides support for xref:ROOT:bean-binding.adoc[Bean Binding] |
| and seamless integration with popular frameworks such as |
| xref:components:others:cdi.adoc[CDI], xref:ROOT:spring.adoc[Spring] and |
| xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint]. |
| Camel also has extensive support for |
| xref:ROOT:testing.adoc[unit testing] your routes. |
| |
| The following projects can leverage Apache Camel as a routing and |
| mediation engine: |
| |
| * http://servicemix.apache.org/[Apache ServiceMix] -- a popular |
| distributed open source ESB and JBI container |
| * http://activemq.apache.org/[Apache ActiveMQ] -- a mature, widely used |
| open source message broker |
| * http://cxf.apache.org/[Apache CXF] -- a smart web services suite |
| (JAX-WS and JAX-RS) |
| * http://karaf.apache.org/[Apache Karaf] -- a small OSGi based runtime in |
| which applications can be deployed |
| * http://mina.apache.org/[Apache MINA] -- a high-performance |
| http://en.wikipedia.org/wiki/New_I/O[NIO]-driven networking framework |
| |
| So don't get the hump -- try Camel today! :smile: |
| |
| [NOTE] |
| ==== |
| *Too many buzzwords -- what exactly is Camel?* |
| |
| Okay, so the description above is technology focused. |
| There's a great discussion about Camel at |
| http://stackoverflow.com/questions/8845186/what-exactly-is-apache-camel[Stack |
| Overflow]. We suggest you view the post, read the comments, and browse |
| the suggested links for more details. |
| ==== |