Skip to main content

Posts

Showing posts from May, 2014

Open Source projects and documentation

I am a strong supporter of Open Source since a long time. I understand that the Open Souce movement is important to promote the knowledge sharing in a very wide audience, that it has helped (and it's still helping) to speed up the progress of the IT world and that it brought benefits in terms of quality to the commercial products too. But there is a plea I'd like to do to all the Open Source project holders: please add some documentation to your project. A lot of Open Source projects still suffer of the following lacks: Missing or poor documentation. In the last months I found some potential helpful libraries or plugins (most part of them hosted on GitHub) for the projects I was working on, but no documentation at all or just a short description of the project and nothing else. I know I could browse the source code (I like to do so and add some contribution or send some feedback to help improving something if possible), but at the end I spent less time to implement a solutio

Why use Camel for Enterprise Application Integration?

In modern  IT business applications don't live in isolation (most part of them at least). Different applications implemented with different technologies and using several different protocols, different data formats and different interfaces need to be connected in a single integrated solution. Today every IT company has to deal with this matter. A group of patterns (EIP) exists ( http://www.eaipatterns.com/toc.html ) to help implementing Enterprise Application Integration (EAI) following standards. In order to reach full EAI through this patterns, 3 ways are possible: Implement your own custom solution. Use a lightweight integration framework. Use an existing Enterprise Service Bus (ESB). I think in 2014 everyone dealing with EAI would discard the first way (do I need to explain why? I don't think so ;) Using an ESB could add complexity to you solution: the ESBs available in the market (commercial and Open Source) provide a lot of other features that you don't really

Execute a small ESB with Groovy

One year ago I published a post ( http://googlielmo.blogspot.ie/2013/02/apache-camel-rocks.html ) about Apache Camel ( http://camel.apache.org/ ). Now it's time to share some stuff done with this framework. Let's see how you can set and execute a small ESB in just 16 lines (I am serious) of Groovy code (one of the languages supported by Camel). First of all we need to import (through Grape) the Camel dependencies to compile and run the script: @Grab(group='org.apache.camel', module='camel-groovy', version='2.13.0') @Grab(group='org.apache.camel', module='camel-http', version='2.13.0') @Grab(group='org.apache.camel', module='camel-core', version='2.13.0') import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.language.groovy.GroovyRouteBuilder; In particular we need the Camel core and the Groovy and HTTP components. Then we extend the abstract class org.apache.camel.language.groovy.