TECHNOLOGY AND INFRASTRUCTURE

We use open standards and resilient infrastructure to improve the sustainability of our work over the long term.

Standards

All our work uses open, non-proprietary data standards and file formats where ever possible, in order to help improve the sustainability of our work over the longer term and ensure that everything we produce will be unaffected by technological change. We also favour making our data available for re-use by third parties via Web APIs.

Architecture

Our system architecture is typically Java or PHP based, running on Apache (Apache Tomcat in the case of Java) and pulling data from XML files, MySQL databases and Lucene indexes, as appropriate.

Our website front-ends are built using Java, PHP, XHTML and CSS, incorporating Ajax-style features where appropriate. For graphical modelling we use Java AWT in headless mode running server-side, although increasingly we are making use of the HTML5 canvas element.

Our mobile applications are developed as mobile web applications where appropriate (typically when the app is required to simply pull down and display data) because of the sustainability and platform agnosticism of this approach, whilst more sophisticated apps are developed in C or Java and then compiled for specific mobile operating systems.

Our research resources are often created by providing project teams with access to a Content Management System (CMS), specifically designed around the needs of their project, so that data can be created and managed centrally, irrespective of the researcher’s location, and previewed live using the evolving end-user interface. The CMS also enables researchers to continue creating and managing their data long after the funded period of their project has ceased.

Infrastructure

All data is stored on the HRI’s servers. Our servers operate in mirrored pairs which are physically located and maintained by the University’s computing services within separate data centres. As mirrored pairs, these servers provide a first stage of backup. Further, daily backup copies of both servers are made by the University’s computing services. Our digital resources are also be backed up by checking code and associated data files into a source control repository (Subversion), hosted on a University server, which is backed up daily by the University’s computing services. This provides an audit trail of changes, enables rollback of changes and the recovery of previous versions of files.