Configuring Mule involves XML, and though using a decent XML editor can help a lot (thanks to the contextual help it provides from Mule’s schemas), there is still a enough angle brackets to warrant a coffee break as projects get more complicated.
As the number of services in a Mule project increases, so does the amount of noise in its configuration files, making it harder to understand and maintain them. We recommend splitting service configuration files, but in Mule 3 we’ve decided to go further and tackle this problem with the introduction of pattern-based configuration.
Patterns-based engineering is a software discipline that encourages the identification of recurrent practices in order to create consumable artifacts that encourage subsequent and efficient re-use. We believe that these principles can be applied to configuring Mule. This is why we’ve started an effort to collect and implement configuration patterns.
Concretely, these patterns will present themselves as syntactic sugar for Mule configuration. They will be new XML elements that will allow you to perform common configuration tasks with the least possible amount of XML.
On top of that, configuration patterns will also offer some form of inheritance to allow sharing common properties across them. Finally, they will rely heavily on the re-architecture of Mule’s core, which has paved the way for the creation of such specialized artifacts.
Any transport or module will have the possibility to contribute configuration patterns, so some of these patterns will be highly specialized. Of course, it will always be possible to use the more generic configuration elements offered by Mule for cases when a pattern doesn’t fully cover your needs.
In subsequent blog posts, we will present in detail the configuration patterns that we have included in Mule 3. Later on, whenever we will identify new patterns and add support for them, they will be detailed in this blog too. We’ve envisioned this as being an on-going and participating process: suggestions for new patterns will be more than welcomed! To support that effort, a dedicated discussion forum has been created.
So stay tuned and, for now, I will let you salivate at the promise of all this upcoming sweetness…