API Documentation
Create Resource
URI Schemes

Overview

Update: A new version of Addama with a registry service deployable to a cloud services platform (Google App Engine) is now available.

The Addama (Adaptive Data Management) Service Architecture provides web applications and services, and defines REST APIs to facilitate Rapid Application Development.

The core web application (addama-rest) defines REST interfaces for the storage of resources, including Retrieval, Persistence and Search interfaces. The underlying data store is a Java Content Repository (JCR). The JCR is a data store that can represent relational data and files in a navigable Node Tree with dynamic Property assignment.
The Addama REST API offers functionality to manage the life cycle of resources. Resources can be:
  • files
  • images
  • tabular data
  • structural data
These interfaces are extensible to any type of resource, since Addama can accept any data transmittable over supported protocols. All resources have generic persistence lifecycles, and are uniquely identified using Uniform Resource Identifiers (URIs). Addama defines interfaces implemented using HTTP methods and REST operations over URIs.

Content Repositories

A Repository is similar to a traditional Database server; it is physically constrained to a single server, and it has similar Security mechanisms. An Addama service deployment allows for the management of many repositories within a single web domain.

Every content repository is assigned a URI of the form:

        /addama-rest/my-repo
These URIs can be made into a proper URL by attaching the domain hosting the repository. Addama only uses URI references to allow repositories to be portable to other domains.
        http://my-domain.org/addama-rest/my-repo
Each resource is assigned a URI (provided or automatically generated) which extends the repository URI, for example:
     
        /addama-rest/my-repo/path/The/Path/To/My/Resource
        /addama-rest/my-repo/uuid/1122-3311-3342-1232 - Automatically generated identifier, guaranteed unique within a repository

JSON

Addama responds to requests using JavaScript Object Notation (JSON).
JSON has been chosen as a transport language (instead of XML) because it is lightweight, dynamic, and easily interpreted from any language or deployment model. It is more human-readable, easy to transform to user interfaces (forms, views, etc), and rapidly becoming the standard for RESTful web services.