If you are familiar with the excellent book Enterprise Integration Patterns, then you are familiar with the power of Apache Camel. Apache Camel is an open source integration framework by Apache based on the book. Apache Camel allows you to easily use EIP’s to implement routing and mediation rules via Java DSL, Spring XML configuration, or Scala DSL. What this means is that you have the flexibility of defining your routes by writing code, or by configuration. Through the use of URI’s, you can work with any kind of Transport or messaging model without specialized API calls. Apache Camel has more than 105 endpoints and components and the full list can be found here.
In a world of constantly changing requirements, Apache Camel gives you the ability to support a wide variety of implementations with little to no configuration changes. Simply deploy camel inside your favorite infrastructure framework and away you go. ActiveMQ comes with Camel built in, simply add in the import for your Camel configuration file in your ActiveMQ configuration xml file and you are ready to go. It is often used inside Servicemix, CXF, or MINA for SOA infrastructure projects due to the simplicity of creating and deploying components and piecing together components to define a route. And if none of these suite your fancy, the Apache guys have made it so you can run it stand-alone also.
Because of the large number of components available, and the very high number of option combinations, it is very easy to implement something incorrectly that will cause the system to act inefficiently. Having someone with this knowledge helps immensely both during design of your system as well as throughout the coding process. Testing is your friend and so is a good consultant. Savoir has pulled together a team of top-notch SOA architects that can help you along the path of good design and teach your team best practices for component utilization.
Even if you have implemented a large routing and mediation project, but find yourself having problems with the design. Several of our team members specialize in fire fighting and can help pull your application out of the pits of despair.