In this paper, we'll focus on exporting the data from the app's relational database and aggregating it into hierarchical XML records.

Our data pipeline:

We could use another hierarchical format, like JSON, but the XML platform is mature and gives us all that we need: serialization format, schema-, transformation- and query language, and also a native database for persistence. (I might be partial.)

The suggested solution does use some lines of Java code, but it's kept to the minimum and prefers the XML technology stack.