As part of my interrest with integration and Apache Camel, and yes my employment, I keep an eye on Camel alternatives, once in a while.
Recently my twitter search revealed this tweet. Which takes you to a SI Example. Do yourself the favor and check out this example, and return back to this blog post.
Maybe, like me, you started at the sea of XML to try to figure out what the example is trying to tell you? Only by click on the provided diagram to see the larger image, and stare back at the XML for some time you may be able to understand a bit what is happening. Now imagine if there was no image at all, would you be able to understand the integration flow in the example?
If you have Camel experience, wouldn't you think the example could be much simpler and easier to understand, by using Camel? In fact I would say that the Camel DSL would make it out for that image. The Camel DSL would be simple and intuitiv to understand the message flow.
It would be something like this in Camel DSL. Let's pick the XML variation as well.
<route>
<-- this route has 2 inputs -->
<from uri="jms:queue:foo"/>
<from uri="file:somefolder"/>
<-- process splitted message -->
</split>
</route>
Maybe the code comments in the XML is not needed? Can you understand the Camel XML route without the code comments? If so its only 10 lines of XML to define the integration flow.
Recently my twitter search revealed this tweet. Which takes you to a SI Example. Do yourself the favor and check out this example, and return back to this blog post.
Maybe, like me, you started at the sea of XML to try to figure out what the example is trying to tell you? Only by click on the provided diagram to see the larger image, and stare back at the XML for some time you may be able to understand a bit what is happening. Now imagine if there was no image at all, would you be able to understand the integration flow in the example?
If you have Camel experience, wouldn't you think the example could be much simpler and easier to understand, by using Camel? In fact I would say that the Camel DSL would make it out for that image. The Camel DSL would be simple and intuitiv to understand the message flow.
It would be something like this in Camel DSL. Let's pick the XML variation as well.
<route>
<-- this route has 2 inputs -->
<from uri="jms:queue:foo"/>
<from uri="file:somefolder"/>
<-- validate message -->
<to uri="bean:validateService"/> <-- split message ... -->
<split> <-- ... using a method call -->
<method bean="enrichmentService"/><-- process splitted message -->
<to uri="bean:processService"/>
<-- notify splitted message -->
<to uri="bean:notificationService"/><-- notify splitted message -->
</split>
</route>
Maybe the code comments in the XML is not needed? Can you understand the Camel XML route without the code comments? If so its only 10 lines of XML to define the integration flow.