Tuesday, September 21, 2010

Camel in Action – Book Review


Recently, I reviewed MEAP edition of Camel in Action. I guess it was a last stage review, It is suppose to be released later this year. It was a very interesting and informative experience for me. Book is very well devised, provides seamless flow across chapters as we learn Camel.

The authors Claus Ibsen and Jonathan Anstey have provided Java DSL and Spring DSL for plugging in almost each and every processor whether the processor is one of the Enterprise Integration Pattern (EIP), or creating Routes, or one of Transformers or one of Components supported by Camel. They have very well defined Camel development for adding customized routes to Camel Context using Route Builder, intermediate routes the routing engine or adding one of around 80 components like File, FTP, CXF, JMS, JPA, Quartz, HTTP etc. They have taken a simple scenario of Rider Auto Parts, came up with fairly practical requirements and shown how Camel can be used to implement/configure the solutions for those requirements. Also, we get a comprehensive list of well-known data formats supported by Camel and their usage details. What I appreciate in Camel and also well explained in this book is good support for debugging your message, support for introducing mocking component and testing. My personal interest has been on CXF, I was happy to see good description of configuring CXF component via referencing a bean and configuring it by URI. Authors have diligently shown both contract-first and code-first approaches. Every chapter and example refers to downloadable source code which can be run quickly with simple maven command. Even for creating your own projects many Camel’s maven archetypes are explained. A good point is Camel development is well supported by Eclipse IDE.

Beginners will learn many things what Camel is, what all it can do and how simple it is to use. For intermediate users, I feel they will get a hands on to some alternative ways of configuring and using Camel, Components, Data formatters and EIPs, monitoring and managing Camel. For advance users, I guess concurrency and transactions will be helpful in getting more insight about Camel.

No comments: