论文标题

用于策划数据库的跨层网络编程:案例研究

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

论文作者

Fowler, Simon, Harding, Simon D., Sharman, Joanna, Cheney, James

论文摘要

策划的数据库已成为跨科学学科的重要信息来源,并且由于专家的手动工作,通常会成为重要的参考作品。出处跟踪,归档和数据引用等功能被广泛认为是策划数据库的重要功能,但是实施此类功能是具有挑战性的,而小型数据库项目通常缺乏这样做的资源。科学数据库应用程序不仅是数据库本身,而且是Web应用程序的生态系统,以显示数据以及支持数据策划的应用程序。支持高级策划功能需要更改所有这些组件,并且目前无法以可重复使用的方式提供此类功能。已经提出了跨层编程语言,以简化Web应用程序的创建,开发人员以单一的统一语言编写应用程序。因此,数据库查询和更新可以与程序的其余部分相同,至少在原则上,应该可以通过程序转换来提供策划功能。作为第一步,重要的是要确定可以用跨层编程语言实现现实的策划数据库。在本文中,我们在链接编程语言中描述了这样的案例研究:重新实现现实世界科学数据库,IUPHAR/BPS药理学指南(GTOPDB)的网络前端。我们展示了诸如语言集成查询之类的功能如何简化开发过程,并排除常见错误。我们表明,链接实现执行的数据库查询更少,而处理查询所需的时间与Java版本相当。尽管与Java相比,由于其比较不成熟,因此使用链接有一些开销,但链接版本可行作为概念验证案例研究。

Curated databases have become important sources of information across scientific disciplines, and due to the 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 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 database itself, but also an ecosystem of web applications to display the data, and applications supporting 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 have been proposed to simplify the creation of web applications, where developers write an 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 at least in principle, it should be possible to provide curation features reusably via program transformations. As a first step, it is important to establish that realistic curated databases can be implemented in a cross-tier programming language. In this paper, 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 programming language. We show how features such as language-integrated query simplify the development process, and rule out common errors. We show that the Links implementation performs fewer database queries, while the time needed to handle the queries is comparable to the Java version. While there is some overhead to using Links because of its comparative immaturity compared to Java, the Links version is viable as a proof-of-concept case study.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源