Neotoma Enables Software Applications Development
Essential to Neotoma is the capability to access the database remotely in order to develop customized user interfaces, applications, and services. This capability is critical for at least three categories of users: (1) constituent database cooperatives that want to develop their own web front-end to the database, (2) third-party organizations that want to distribute data from the database via their own web interface, and (3) developers who want to develop standalone applications for data analysis and display, including both applications for general distribution and highly specialized applications written for particular research questions. Therefore, Neotoma will offer a suite of software development tools to enable and assist the Neotoma developer community. The suite will consist of web services, an application programming interface, and a software development kit.
Application Programming Interfaces
Developers will interact with the Neotoma server components at the lowest level via documented APIs exposed through the web services described above. The APIs provide a set of methods and properties for retrieving data from the Neotoma database. Individual methods will be created for specific data requests considered to be most common. Other methods may allow custom queries to be submitted to the database. Along with the web services, the APIs will be expanded over time through collaboration with the user community. Samples and documentation will be provided to demonstrate how to build calls and interpret returned results.
Software Development Kit
In order to further accelerate development by the community, at least one language-specific SDK with pre-built programming assets will be created. These assets save developers time by encapsulating common data access, manipulation, and presentation tasks into modular reusable application building blocks. The development environment and specific content of the SDK will not been determined until our developer community has been consulted to determine their needs and interests.