Saddle Up On NetBeans Platform Mule Healthcare
We are a group of researchers in the domain of healthcare technology at the Public Research Centre Henri Tudor, a public research centre in Luxembourg. The centre is also running an Open Source competence centre that investigates different aspects of Open Source, including, besides technology, virtual community management, business models, and intellectual property. We are also part of this competence centre.
The picture on the right shows the whole group. Matthias Kutscheid, Ortwin Donak, Huy-Nguyen Vu, (back row), Samuel Danhardt, Jean-François Merche, Donald Martin (front row).
In one or two sentences, what is Saddle?
Saddle is an open source NetBeans Platform application that eases the work with the Mule® Enterprise Service Bus (ESB) v2.2, 3.0, and 3.1 by providing a unified message handling layer on top of Mule® that allows uniform access and treatment of information, no matter the format provided by its source or required by its destination.
The graphical configuration of all involved elements (including the Mule configuration files), together with the extended Mule connectivity, contribute to the high comfort and usability Saddle provides the user:
What is Saddle's history?
Saddle is an open source initiative of the Public Research Centre Henri Tudor in Luxembourg. We developed the project as a result of R&D work being done in cooperation with different healthcare facilities, such as local hospitals or biorepositories. The goal of the program is to help hospitals lower costs and better leverage their complex IT architecture. Our work has also been used by ArcelorMittal (global steel manufacturer) for developing next generation solutions for the life cycle assessment of buildings.
How does your application, and Mule in general, relate to healthcare?
Well, the origin of Saddle was the work we did for several healthcare projects in our department. The majority of the features that are provided by Saddle are general purpose and not dedicated to the healthcare sector. Some additions, however, such as the support for the MLLP protocol, HL7 v2.x, have been added specifically for the healthcare domain. Next, the support for DICOM, which is the standard protocol, that is used for the communication with imaging devices in the healthcare sector, is on our roadmap as well.
What are the main features of Saddle?
Saddle wraps around Mule and provides graphical frontends for the configuration of the Mule integration infrastructure. Saddle's main features are its unified message handling layer, the simple access to all data contained in the messages...
...the ability to develop complex templates...
...and the ease in validating the message content:
Saddle provides advanced means to administrate and monitor active Mule instances. This includes the web-based tracing of messages through the graphical workflow representation. Saddle also adds custom components to the Mule ESB that increase its connectivity.
Why did you use the NetBeans Platform for this?
When the project was started, the NetBeans Platform was the most mature platform to base development on. It provided a usable GUI editor (Matisse) and several features like editor support, the palette and properties panels that we knew were needed.
Later, we started to use more and more NetBeans-components like the Visual Library API as the project got bigger. Being able to use pre-built frameworks really eases development a lot.
What are some things you like & dislike?
On the pro side NetBeans provides a pre-built API for almost any common task. These APIs are really comprehensive but also not always easy to learn. In many cases examples and further research is needed to be able to fully use them.
Any tips for new/existing NetBeans Platform developers?
An important tip for all new NetBeans Platform developers is to use NetBeans components in any place possible. It prevents you from re-inventing the wheel and making mistakes that others have already made and fixed.
It might be a bit hard to get into the NetBeans APIs from time to time, but if you manage to properly use the pre-build libraries you can concentrate on your core tasks.
Some of Saddle's components were handwritten in the beginning. Once we rewrote them to use some NetBeans APIs everything was far more flexible and also more usable for people who were used to working with the NetBeans-platform.
Anything else you'd like to share?
We are actively looking for developers who wish to contribute to the continued development of the project. We would also like to see more feedback from existing users on how they are applying Saddle to solve their problems. Our site has both a forum and bug tracking functionality so we are ready for constructive input from both developers and users.