DDI-Flat-DB – a lightweight framework for heterogeneous DDI sources

The current usage of DDI is heterogeneous. It varies over different versions of DDI, different grouping, and unequal interpretation of elements. Therefore provider of services based on DDI implement complex database models for each developed application, resulting in high costs and application specific and non-reusable models. To overcome these problems we developed a prototype of an efficient REST-based database storage for DDI. The main idea behind this architecture is to enable an abstract layer of entities, like StudyUnit, Question, etc. These entities are individually stored in the Flat-DB as XML snippets for access and search. The partitioning rules are given by a configuration file and are not implemented – thus, they can differ even for one specific DDI version. Each entity is reflected in Java as implemented entity, accessing information by configurable XPath expressions. As use cases for the DDI-Flat-DB we worked on three different web-based client applications: A variable search, a study level editor (based on Vaadin UI and Spring), and a mechanism generating printable variable reports (in the STARDAT project based on Freemarker). All share the same entity implementations and the same REST access classes. With our talk, we want to discuss the benefits and drawbacks of this approach.