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...
Main Authors: | , , , |
---|---|
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 |