Abstracting Functionality and Access: Facilitating Data System Manageability and Site Coordination
Mason A. Kortz, James E. Conners, Karen S Baker
Last modified: 2008-08-21
As the functionality of site data systems increases, frequently so does the complexity. Organizing system functionality through distinct layers of abstraction, from low-level system access to high-level user access, is key to maintaining a manageable system. Toward this end, a data system that is an interdependent set of databases, files, and other resources can often be abstracted into a relatively compact set of data access methods. Abstraction layers allow developers to leverage not only the content of a data system but the organizational logic as well. Leveraging may take the form of facilitating local site reuse or sharing across projects and sites. Abstraction enables the development of multiple applications, accessing the same data system - and its data - via a single interface layer. This poster explores three models by which data access methods may be abstracted and shared: application programming interfaces, remote procedure calls, and resource state transfers. Each model is defined in general as well as illustrated by examples designed, developed, and deployed at two Long-Term Ecological Research sites (Palmer Station and California Current Ecosystem).