Arctos is a multitenant database using expansions of a data model developed by the University of California’s Museum of Vertebrate Zoology in the early 1990s. It is operated from the AlasConnect data center in Fairbanks, Alaska, where it resides on two Linux servers, one of which runs Oracle 11g and the other of which runs ColdFusion and Apache. Two additional servers constitute a test instance for prototyping and beta testing.
The guts of Arctos consist of an Oracle Relational Database Management System (RDBMS) and a ColdFusion Rapid Application Development Platform. Secure off-site storage and OCR processing are provided by various connections to the Texas Advanced Computing Center. Google maps and BerkeleyMapper provide spatial query and geospatial visualization capability. GeoLocate provides semi-automated georeferencing. Webservices from CrossRef and PubMed provide semi-automated publication creation. Scheduled tasks and Oracle Jobs perform functions such as emailing reminders to users, maintaining flattened query data, providing current data to a DiGIR provider, querying GenBank for Arctos specimens, and creating media for various specialized imaging projects. Several JAVA libraries extend ColdFusion’s built-in functionality.
Along with holding tables of data, the Oracle RDBMS is responsible for maintaining referential integrity, enforcing controlled vocabularies, providing a secondary security and user management layer, and separating data into Virtual Private Databases (VPDs). Oracle’s VPD architecture allows sharing of equipment, expertise, and authority data, while allowing users to maintain exclusive row-level control of collections data.
ColdFusion provides a bridge between users, applications, and the RDBMS, largely by converting CFML to HTML forms via the Apache webserver, and converting form submissions back to DDL. ColdFusion also provides a method to very rapidly develop dynamic webservices. Various JavaScript components and the jQuery library are employed heavily throughout the application, together with the various webservices, to improve the user experience without requiring specialized software.
As a centralized web application, clients require a modern browser on a reasonably brisk network connection. The FireFox browser is recommended for database operators, but all public features and most operator features are supported by most of the popular browsers. There are effectively no restrictions on number of users, or limit to the number of concurrent users.
Changes to code are managed in Google Code, a full-featured versioning system that allows roll-backs, separate development threads, etc. Code updates are added often by seamless push. Changes to data are logged by Oracle, and continuous backups are stored in two secure, widely-separated locations.
Arctos operates in an arena where tools and standards are evolving rapidly, and where savvy curators and collection staff are a continuous source of good ideas. Thus, it is a dynamic system under continuous development.
Some technical resources:
- Arctos code
- Specifications for Application Programming Interfaces (APIs)
- Entity Relationship Diagram (database tables and relationships).
- Issue tracking