Cross-tier Web Programming for Curated Databases: a Case Study

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...

Full description

Bibliographic Details
Main Authors: Simon Fowler, Simon Harding, Joanna Sharman, James Cheney
Format: Article
Language:English
Published: University of Edinburgh 2021-04-01
Series:International Journal of Digital Curation
Online Access:http://www.ijdc.net/article/view/735
id doaj-55c61aeebf4d4ab6882c4f11d7d8bfac
record_format Article
spelling doaj-55c61aeebf4d4ab6882c4f11d7d8bfac2021-04-27T14:06:56ZengUniversity of EdinburghInternational Journal of Digital Curation1746-82562021-04-0116110.2218/ijdc.v16i1.735Cross-tier Web Programming for Curated Databases: a Case StudySimon Fowler0Simon Harding1Joanna Sharman2James Cheney3University of GlasgowUniversity of EdinburghNovo NordiskUniversity of Edinburgh 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 realworld 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 neededto 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. http://www.ijdc.net/article/view/735
collection DOAJ
language English
format Article
sources DOAJ
author Simon Fowler
Simon Harding
Joanna Sharman
James Cheney
spellingShingle Simon Fowler
Simon Harding
Joanna Sharman
James Cheney
Cross-tier Web Programming for Curated Databases: a Case Study
International Journal of Digital Curation
author_facet Simon Fowler
Simon Harding
Joanna Sharman
James Cheney
author_sort Simon Fowler
title Cross-tier Web Programming for Curated Databases: a Case Study
title_short Cross-tier Web Programming for Curated Databases: a Case Study
title_full Cross-tier Web Programming for Curated Databases: a Case Study
title_fullStr Cross-tier Web Programming for Curated Databases: a Case Study
title_full_unstemmed Cross-tier Web Programming for Curated Databases: a Case Study
title_sort cross-tier web programming for curated databases: a case study
publisher University of Edinburgh
series International Journal of Digital Curation
issn 1746-8256
publishDate 2021-04-01
description 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 realworld 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 neededto 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.
url http://www.ijdc.net/article/view/735
work_keys_str_mv AT simonfowler crosstierwebprogrammingforcurateddatabasesacasestudy
AT simonharding crosstierwebprogrammingforcurateddatabasesacasestudy
AT joannasharman crosstierwebprogrammingforcurateddatabasesacasestudy
AT jamescheney crosstierwebprogrammingforcurateddatabasesacasestudy
_version_ 1721505764554571776