It maybe a bit strange to start of this blog with a post about Mule, but the release of version 3.0 of the Mule community edition is certainly a valid reason.
It's been a while since I wrote the book Open-source ESBs in Action with Jos Dirksen. But the coverage of Mule in that book was based on Mule 2.x, which was the current version until a few weeks. In the last couple of years other open source integration frameworks like Apache Camel and Spring Integration came along and provided similar functionality. With version 3.0 Mule steps up again and provides great additional functionality with foremost the following features: hot deployment, new flow based architecture, annotation support and better support for web services and rest.
I want to highlight two features of Mule 3.0 in this post, which are the new flow based architecture and hot deployment. Previous versions of Mule had a service based architecture to implement your integration logic. The following picture taken from the Mule userguide describes it in a very easy manner.
As the picture shows, integration logic was implemented via an inbound router to process incoming messages, via a service component to implement additional processing logic, and an outbound router for sending the message along the path. In XML this looked liked the following snippet:
<service name="hello">
<inbound>
<jms:inbound-endpoint queue="hello.in"/>
</inbound>
<component class="org.mule.TestComponent"/>
<outbound>
<pass-through-router>
<jms:outbound-endpoint queue="hello.out"/>
</pass-through-router>
</outbound>
</service>
Nothing wrong with this kind of architecture, but it becomes a bit tricky when you have to specify all kinds of transfers, multiple component classes etc. The new flow based architecture solves these issues and provides a very clean and flexible architecture based on message processors and sources to implement your integration logic (see the following figure taken from the userguide).
All the things you want to do with a message after it has arrived at a message source is implemented with message processors. So transformers, routers and custom logic are all message processors. This makes it very clean and easier to understand. The new flow based architecture looks like this in XML:
<flow name="hello">
<jms:inbound-endpoint queue="hello.in"/>
<component class="org.mule.TestComponent"/>
<jms:outbound-endpoint queue="hello.out"/>
</flow>
This looks very simple doesn't it? For a very small example like I've implemented here, the differences are not huge of course. But you can imagine that for more complex examples, the new flow based architecture makes your life a lot easier.
The other huge improvement in Mule 3.0 is hot deployment. One of the main differences between Apache ServiceMix and Mule when we wrote the Open-source ESBs in Action book was a hot deployment feature from an enterprise perspective. And now with version 3.0 it's there and looks very promissing. In the apps directory of the Mule installation you can now deploy a Mule configuration and JARs (if necessary) and Mule picks it up automatically. Then, if you want to change the Mule configuration you can simply update the file and again Mule picks it up automatically. For more information you can look at the userguide. Hot deployment now works for a lot of implementations, but there is still some room for improvement. For example, only the main Mule configuration file is monitored by Mule, not its child Mule configurations. When compared to other open source ESBs like Apache ServiceMix and Open ESB, I see that Mule takes a web application like approach to hot deployment, where the others use OSGi.
So to summarize, version 3.0 is certainly a step forward! It provides a lot of improvements and some great new features including the discussed hot deployment and the new flow based architecture. And from a perspective of the open source BPM Activiti project I'm enthousiastic about the possibilities of integration between Mule and Activiti. So I hope to see Activiti integration in the next 3.x version of Mule.
Awesome article. It is so detailed and well formatted that i enjoyed reading it as well as get some new information too.
ReplyDeleterpa Training in tambaram
blueprism Training in tambaram
automation anywhere training in tambaram
iot Training in tambaram
rpa training in sholinganallur
blue prism training in sholinganallur
automation anywhere training in sholinganallur
iot training in sholinganallur
Hey, Wow all the posts are very informative for the people who visit this site. Good work! We also have a Website. Please feel free to visit our site. Thank you for sharing.Well written article Thank You Sharing with Us project management training institute in chennai | pmp training fee | pmp certification course in chennai | best pmp training institute in chennai| | pmp training class in chennai \ pmp training fee
ReplyDeletethanks for sharing this information
ReplyDeletedata science training in siruseri
best data science training in omr
best devops training in chennai
best devops training institute in omr
best devops training institute in sholinganallur
best hadoop training in chennai
best hadoop training in omr
hadoop training in sholinganallur
Good to know about the email list business. I was looking for such a service for a long time o grow my local business but the rates that other companies were offering were not satisfactory. Thanks for sharing the recommendations in this post!Automation Anywhere Training in Bangalore
ReplyDeleteReally a awesome blog for the freshers. Thanks for posting the information.mulesoft training in bangalore
ReplyDeleteGood Post Thanks for sharing this blog. Well explained
ReplyDeleteMulesoft Online Training
Mulesoft Training in Hyderabad
Excellent Article... Thanks for sharing...
ReplyDeleteMulesoft Training in Bangalore
Nice info.
ReplyDeletemulesoft developer certification
mule 4 certification
Https://imaginative.ilmedu.org/
ReplyDeleteThanks for the blog article.Thanks Again. Keep writing.
ReplyDeleteMulesoft training
python training
angular js training
selenium trainings
Very nice Article,Thank You...
ReplyDeleteserviceNow Training
Thanks for sharing such quality information.
ReplyDeleteMulesoft Training in Hyderabad
Mulesoft Online Training
"This was a great read! Your writing style is very engaging. Looking forward to more posts from you."
ReplyDeleteModular Kitchen & Wardrobe in Raipur
"This post was a real eye-opener! Thank you for sharing your expertise on the topic."
ReplyDeleteModular Kitchen & Wardrobe in Raipur