Cross-tier web programming for curated databases: a case study

Fowler, S. , Harding, S. D., Sharman, J. and Cheney, J. (2021) Cross-tier web programming for curated databases: a case study. International Journal of Digital Curation, 16(1), (doi: 10.2218/ijdc.v16i1.735)

[img] Text
223495.pdf - Published Version
Available under License Creative Commons Attribution.



Curated databases have become important sources of information across several scientific disciplines, and as the result of manual work of experts, often become important reference works. Features such as provenance tracking, archiving, and data citation are widely regarded as important features for the curated databases, but implementing such features is challenging, and small database projects often lack the resources to do so. A scientific database application is not just the relational database itself, but also an ecosystem of web applications to display the data, and applications which allow data curation. Supporting advanced curation features requires changing all of these components, and there is currently no way to provide such capabilities in a reusable way. Cross-tier programming languages allow developers to write a web application in a single, uniform language. Consequently, database queries and updates can be written in the same language as the rest of the program, and it should be possible to provide curation features via program transformations. As a step towards this goal, it is important to establish that realistic curated databases can be implemented in a cross-tier programming language. In this article, we describe such a case study: reimplementing the web frontend of a real- world scientific database, the IUPHAR/BPS Guide to PHARMACOLOGY (GtoPdb), in the Links cross-tier programming language. We show how programming language features such as language-integrated query simplify the development process, and rule out common errors. Through an automated functional correctness evaluation, we show that the Links implementation correctly implements the functionality of the official version. Through a comparative performance evaluation, we show that the Links implementation performs fewer database queries, while the time needed to handle the queries is comparable to the official Java version. Furthermore, while there is some overhead to using Links because of its comparative immaturity compared to Java, the Links version is usable as a proof-of-concept case study of cross-tier programming for curated databases.

Item Type:Articles
Additional Information:This work was supported by ERC Consolidator Grant Skye (grant no. 682315), and an ISCF Metrology Fellowship grant provided by the UK government’s Department for Business, Energy and Industrial Strategy (BEIS). Fowler was also supported by EPSRC Grant EP/K034413/1 (ABCD). The IUPHAR/BPS Guide to PHARMACOLOGY is supported by the International Union of Basic and Clinical Pharmacology (IUPHAR), and the British Pharmacological Society (BPS).
Keywords:Curated databases, cross-tier programming languages, tierless programming languages, database programming languages, query shredding.
Glasgow Author(s) Enlighten ID:Fowler, Dr Simon
Authors: Fowler, S., Harding, S. D., Sharman, J., and Cheney, J.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
College/School:College of Science and Engineering > School of Computing Science
Journal Name:International Journal of Digital Curation
Journal Abbr.:IJDC
Publisher:University of Edinburgh
ISSN (Online):1746-8256
Copyright Holders:Copyright © 2021 The Authors
First Published:First published in International Journal of Digital Curation 16(1)
Publisher Policy:Reproduced under a Creative Commons License
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
168293From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1Computing Science