Apache Camel - Proxy web service example

Well this was not planned at all that I would spend sunday morning working on an example for Apache Camel and also put on the load to write documentation for the example. I kinda did my shares of writing for last year ;)

Anyway we were discussing a web service proxy example for the FuseSource virtual training. As there are many ways to do this I wanted to contribute a little example to Apache as well.

In this example I chose to use the CXF component as the proxy front end in Camel. This allows end users to tap into the web service features from Apache CXF if needed. The communication with the real web service is pure HTTP based and therefore I simply use the Camel HTTP component for that.

To add a little more value to the example I added a step in the Camel route to use a Java Bean to validate and enrich the incoming request. For example suppose a client is sending illegal data to an existing web service and its too costly to fix that on the client. So by using Camel as a proxy, we can fix this, by patching the data.

The example will be part of the upcoming Apache Camel 2.5 release and the documentation is here.


Apache Camel - Webinars available on demand from FuseSource

If you missed our live webinar sessions covering Apache Camel, they are now available on demand at FuseSource.

The "Introduction to Apache Camel", is the webinar which I gave. We start from the beginning and talk when and why Apache Camel came to life. You will earn how Enterprise Integration Patterns fits in with Apache Camel. The major features and highlights of Camel is also covered. At the end I talk about the state of the open source community at Apache Camel and how well we are doing.

Jonathan Anstey did the part 2 of the webinar "Apache Camel Deployment Options", where he goes much more in depth covering some of the possible deployment options you have with the Camel. To go with that he shows live code from Eclipse for each option he covers. The downloads from this webinar contains the example source code which can be a good pillar for you to try out Camel and even use as skeleton for a project of yours.


First review of Camel in Action

Glen Mazza posted a review of the Camel in Action book on his blog, september, 2nd 2010.

The material is the latest MEAP edition of the book (the 8th update). Nevertheless the material contains all 14 chapters and in addition 3 appendixes. The final book will contain a few more appendixes and all the chapters will be revised to tighten up the language and improve the content. For example we will add more tips/hints for the new stuff we have since added into the Camel 2.5 release. We aim to cover Camel 2.5 with the book.

Manning is looking for people to review the final book, and if you are interested you can contact them by email at: mkt@manning.com


Camel 2.5 - Encrypting passwords for endpoint configurations

Dejan Bosanac co-author of ActiveMQ in Action, just recently added a new feature to Apache ActiveMQ to easily use encrypted passwords in the configuration files.

We have had such a feature on the radar for Camel for some time as well. So Ashwin Karpe and I discussed this a bit and we got started on it. As I have a weekend off writing on my book, I actually had the time to implement the most bits of this feature for Camel as well.

We use Jasypt, which is an easy to use encryption and decryption framework. This makes it fairly easy to implement with Camel, as all we had to do is to integrate it with the existing properties component in Camel, which allows the new camel-jasypt component to decrypt properties on-the-fly.

The documentation at Apache is already mostly updated so I refer you to go there and read more.

I am sure Ashwin and I will expand this feature a bit more and maybe introduce Jasypt as a Camel data format and/or a component. This allows you to use it for your messages as well.

This feature will be available in the upcoming Apache Camel 2.5, which is scheduled to be released later this month.