Tuesday, February 12, 2008

Trying out a ride on a Mule and a Camel for a difference...

After the recent discussions on the Apache Synapse mailing list by a Camel contributor, I thought of looking at both Apache ServiceMix/Camel and Mule.. My first impressions of both are that they are very much closer to the 'developer' level users, who would want to 'code' into their ESB's, instead of using simple configuration. Also, its simply obvious that both of these lacks adequate samples to show most of the features they claim to support. Sometime back I tried one of the leading commercial ESB's, and I must say that the samples, concepts and the documentation it provided, with a simple to understand GUI for management and administration was really good. But then again, it comes with a rather expensive price tag, and there are free and open source ESB's today, that ships with the Apache License v2.0 - with the same level of documentation, GUI management and even more samples!

So today, I had a look at one of the samples that Mule ships - which is called the Loan Broker sample (http://mule.mulesource.org/display/MULE/LoanBroker+ESB). Although a nice image on the description section says that this example accepts a REST request from a client, it seems like the sample doesn't really show that.. but makes a blind in-vm call. Running the example, it seems like the client, the ESB, the Credit Agency and the Bank etc was all in one mess.. and I soon found our it really was :-)..

The full example contains of 41 Java classes! and you actually define Java classes to hold messages which are supposed to be REST or SOAP or JMS - Text/Binary? Take a look at the org.mule.examples.loanbroker.messages.CustomerQuoteRequest where everything starts off.. Wow! and this is to supposedly carry a REST call made by a client?

Anyway getting on the Mule was quite difficult.. but I guess at the same time the Camel was quite a challenge too.. When I downloaded Camel, it was just a couple of mega bytes and it in-fact impressed me. But after I extracted the release, and looked for what I could do, it asked me to run Maven (with quite a few errors I had to troubleshoot and overcome) and downloaded many more megabytes of "stuff"! Running the Mule samples, I realized that Mule does the same..!

One of the main barriers of entry to using Camel and Mule was the lack of adequate samples, and having to understand complex concepts and languages to even do something simple! Luckily Apache Synapse and the WSO2 ESB ships over 50 working samples that can be started and studied easily! In the days ahead I will update you with more information on these open source ESB's and how you could implement the same samples with Apache Synapse/WSO2 ESB much easily!

1 comments:

cmoulliard said...

Hi Ashanka,

Have you had a look since a couple of weeks to Apache Camel 1.4 project. The documentation has been improved a while and exists under PDF format. To discover the power of Camel, do no stop to what you see in the sample folder but investigate also the test case and the magic of this incredible ESB framework will appear. Look to forum web site and you will also find tons of information (http://www.nabble.com/Camel---Users-f22883.html)

Cheers,

cmoulliard
Enterprise Architect