Abstract
In this chapter I will present the efforts done to develop a novel, fully JSON-compliant environment for the JSON data model outlined in Chap. 3. The original XTENS repository and XTENS 1.5—from now on collectively named “old XTENS”—were developed using a Java-based software stack and a MySQL database backend. As illustrated in Chap. 4, it proved to be successful in managing the workflow of a medium-sized integrated biobank.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Here I speak of interface in the Software Engineering sense: a common set of public methods and properties.
- 2.
An event loop is “an entity that handles and processes external events and converts them into callback invocations” [3].
- 3.
At the time I started developing the system MySQL had no native JSON support. Binary JSON support in MySQL was first introduced in 5.7.8 (July 2015).
- 4.
Here and afterwards, “schemaless” means that no fixed (tabular) schema is enforced or constrained by the RDBMS on write. The schema may be provided or enforced by an external application (in our case XTENS 2).
- 5.
I know, this is an unfortunate naming choice, because it may create ambiguity with the JSON metadata model. But I found all the other possible candidate names, namely template, classTemplate, or class even more inappropriate. Every time I refer to the JSON data model I call it explicitly the JSON data model.
- 6.
To futher decouple the Postgres database from the XTENS application, the xtens-query together with all the transactional CRUD operations handled in the xtens-transact module have been merged at a later time (November 2015) in a single “Postgres” module, named xtens-pg [11].
- 7.
As defined in statistics, “a data sample is a set of data collected and/or selected from a statistical population by a defined procedure” [20].
- 8.
The cost is an arbitrary unit used by the RDBMS to estimate the best query plan.
References
Mahmoud, Q.:. Servlets and JSP Pages Best Practices. Sun Developer Network (2003)
Tilkov, Stefan, Vinoski, Steve: Node.js: using JavaScript to build high-performance network programs. IEEE Int. Comput. 14(6), 0080–83 (2010)
Understanding the Node.js Event Loop. http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ (2011). Accessed 27 Mar 2015
Sails.js - Realtime MVC Framework for Node.js. http://sailsjs.org/ (2015). Accessed 09 Feb 2015
Express - Node.js Web Application Framework. http://expressjs.com/ (2015). Accessed 09 Feb 2015
Peter Lubbers and Frank Greco. HTML5 Web Sockets: A Quantum Leap in Scalability for the Web. SOA World Magazine (2010)
Lerner, RM.: At the forge: PostgreSQL, the NoSQL database. Linux J. 2014(247), 5 (2014)
Postgresql 9.4 Documentation: JSON Functions and Operators. http://www.postgresql.org/docs/9.4/static/functions-json.html (2014). Accessed 10 Feb 2015
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Pearson Education, Upper Saddle River (1994)
Norlin, L., Fransson, M.N., Eriksson, M., Merino-Martinez, R., Anderberg, M., Kurtovic, S., Litton, J.-E.: A minimum data set for sharing biobank samples, information, and data: MIABIS. Biopreservation Biobanking 10(4), 343–348 (2012)
XTENS-pg: A Query Module for the XTENS Repository. https://github.com/biolab-unige/xtens-pg (2015). Accessed 08 Dec 2015
XTENS-Query: A Query Module for the XTENS Repository. https://github.com/biolab-unige/xtens-query (2015). Accessed 17 Feb 2015
Exome Variant Server, NHLBI GO Exome Sequencing Project, Seattle. http://evs.gs.washington.edu/EVS/ (2013). Accessed 20 Mar 2015
Forbes, S.A., Tang, G., Bindal, N., Bamford, S., Dawson, E., Cole, C., Yin Kok, C., Jia, M., Ewing, R., Menzies, A., et al.: COSMIC (the catalogue of somatic mutations in cancer): a resource to investigate acquired mutations in human cancer. Nucleic Acids Res. 38(1), D652–D657 (2009) (gkp995)
Vogelstein, B., Nickolas, P., Velculescu, V.E., Zhou, S., Diaz, L.A., Kinzler, K.W.: Cancer genome landscapes. Science 339(6127), 1546–1558 (2013)
Nadkarni, P.M.: Metadata-driven Software Systems in Biomedicine: Designing Systems that Can Adapt to Changing Knowledge. Springer, Berlin (2011)
Smith, G.: PostgreSQL 9.0: High Performance. Packt Publishing Ltd, Birmingham (2010)
Chen, R.S., Nadkarni, P., Marenco, L., Levin, F., Erdos, J., Miller, P.L.: Exploring performance issues for a clinical database organized using an entity-attribute-value representation. J. Am. Med. Inf. Assoc. 7(5), 475–487 (2000)
Schema-less PostgreSQL. http://www.slideshare.net/yandex/jsonb-jsquery (2014). Accessed 29 Mar 2015
Peck, R., Olsen, C., Devore, J.: Introduction to Statistics and Data Analysis. Cengage Learning, Stamford (2008)
Arnulfo, G., Narizzano, M., Cardinale, F., Fato, M.M., Palva J.M.: Automatic segmentation of deeep intracerebral electrodes in computed tomography scans. BMC Bioinformatics (2015). (to appear)
Arnulfo, G., Hirvonen, J., Nobili, L., Palva, S., Palva, J.M.: Phase and amplitude correlations in resting-state activity in human stereotactical EEG recordings. NeuroImage 12, 114–127 (2015)
McGonigal, Aileen, Bartolomei, Fabrice, Régis, Jean, Guye, Maxime, Gavaret, Martine, Fonseca, Agnès Trébuchon-Da, Dufour, Henry, Figarella-Branger, Dominique, Girard, Nadine, Péragut, Jean-Claude, et al.: Stereoelectroencephalography in presurgical assessment of MRI-negative epilepsy. Brain 130(12), 3169–3183 (2007)
Cossu, M., Cardinale, F., Castana, L., Citterio, A., Francione, S., Tassi, L., Benabid, A.L., Russo, G.L.: Stereoelectroencephalography in the presurgical evaluation of focal epilepsy: a retrospective analysis of 215 procedures. Neurosurgery 57(4), 706–718 (2005)
Fischl, Bruce, van der Kouwe, André, Destrieux, Christophe, Halgren, Eric, Ségonne, Florent, Salat, David H., Busa, Evelina, Seidman, Larry J., Goldstein, Jill, Kennedy, David, et al.: Automatically parcellating the human cerebral cortex. Cereb. Cortex 14(1), 11–22 (2004)
Destrieux, Christophe, Fischl, Bruce, Dale, Anders, Halgren, Eric: Automatic parcellation of human cortical gyri and sulci using standard anatomical nomenclature. Neuroimage 53(1), 1–15 (2010)
xpr-seeg: a query module for the XTENS 2 repository. https://github.com/biolab-unige/xpr-seeg (2015). Accessed 22 Mar 2015
Izzo, M., Arnulfo, G., Piastra, M.C., Tedone, V., Varesio, L., Fato, M.M.: XTENS-a JSON-based digital repository for biomedical data management. Bioinformatics and Biomedical Engineering, pp. 123–130. Springer, Berlin (2015)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Izzo, M. (2016). Results: XTENS 2, A JSON-Compliant Repository. In: Biomedical Research and Integrated Biobanking: An Innovative Paradigm for Heterogeneous Data Management. Springer Theses. Springer, Cham. https://doi.org/10.1007/978-3-319-31241-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-31241-5_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-31240-8
Online ISBN: 978-3-319-31241-5
eBook Packages: EngineeringEngineering (R0)