The problem domain

The application set I’m working on downloads files using a REST service and turns these into various derivatives, some in XML, some in other formats. In doing that it creates sets of files in a specific, complicated, directory structure. There are lots of variants, all doing roughly the same things, but with their own specification, REST URLs, sets of files to copy, and transformation stylesheets.

The customer I’m doing this for is Nictiz: the Dutch competence center for digital information management in healthcare. They maintain and support the use of digital healthcare standards in The Netherlands.

There are many domains where healthcare standards are applicable. Each of these domains (called “applications”) has their own set of versions, use-cases and end-products. This leads to a combinatorial explosion of stuff that needs to be produced and maintained.

The current implementation is made with Ant as main engine and uses XSLT for the actual transformations. There are over a 100 Ant scripts. The whole set, organically grown over the years, is now considered outdated, hard to maintain and in dire need of refactoring.

Here is an overview of the main data flow in this application. It all starts with specification documents downloaded through a REST service. These are preprocessed (transformed using XSLT) and stored on disk in a complex directory structure. From this, several end-products are made with additional scripting.