MONTRA: An agile architecture for data publishing and discovery. (July 2018) - Bastião Silva, Luís; Trifan, Alina; Luís Oliveira, José
Highlights: We propose a rapid-application development framework to facilitate the integration and discovery of health data. The framework, MONTRA, relies on an easy-to-use tabular skeleton, from which a fully-fledged web data catalogue is constructed. The system is being used to support data catalogues for several European projects. The package is freely available on Github. Abstract: Background and Objective: Data catalogues are a common form of capturing and presenting information about a specific kind of entity (e.g. products, services, professionals, datasets, etc.). However, the construction of a web-based catalogue for a particular scenario normally implies the development of a specific and dedicated solution. In this paper, we present MONTRA, a rapid-application development framework designed to facilitate the integration and discovery of heterogeneous objects, which may be characterized by distinct data structures. Methods: MONTRA was developed following a plugin-based architecture to allow dynamic composition of services over represented datasets. The core of MONTRA's functionalities resides in a flexible data skeleton used to characterize data entities, and from which a fully-fledged web data catalogue is automatically generated, ensuring access control and data privacy. Results: MONTRA is being successfully used by several European projects to collect and manage biomedical databases. In this paper, we describe three of these applications scenarios. Conclusions: This work was motivated by the plethora of geographically scattered biomedical repositories, and by the role they can play altogether for the understanding of diseases and of the real-world effectiveness of treatments. Using metadata to expose datasets' characteristics, MONTRA greatly simplifies the task of building data catalogues. The source code is publicly available athttps://github.com/bioinformatics-ua/montra .