Skip to content
kyrcha edited this page Jul 23, 2012 · 37 revisions

This page specifies the RESTful protocol between the client and server applications of the CASSANDRA platform.

The conventions for writing the protocol will be:

[RESTful route] | [action]

To better present the protocol we have separated it by the entities involved as seen below:

Projects

Scenarios

Installations

Persons

Activities

Activity Models

Appliances

Consumption Models

Simulation Parameters

Runs

Distributions

A list of object relations is available here. To keep up to date with changes in the protocol one can subscribe to the atom feed.

TODO

Demographics

Under development.

Consumer Social Networks

Under development.

Users

Users should be able to login (MD5 hash and https as minimum security requirements) and after successfully entering their credentials, they should be redirected to /api/prj, where a list of their projects should be displayed.

Library

We assume for now that the libraries are read-only (R ops). There is no functionality in the protocol (yet) to make CUD operations. Also Demographics and CSNs to be added in the library.

 GET /libs | index

Returns a list of libs along with their ids.

--

 GET /libs/{lib-id} | index

For the given {lib-id} a list of contained entities is returned along with their name, type and id. These entities are structured in a tree according to their type. For now four top level types will be available: Installation, Appliance, Activity and DemandSideManagement.

--

 GET /libs/{lib-id}/inst | index

Returns a list of Installations available in the library.

--

 GET /libs/{lib-id}/app | index

Returns a list of Appliances available in the library.

--

GET /libs/{lib-id}/app/{app-id} | show

Displays the properties of the Appliance with that {app-id}, along with its ConsumptionModel.

--

GET /libs/{lib-id}/act | index

Returns a list of Activities available in the library.

--

GET /libs/{lib-id}/dsm | index

Returns a list of DemandSideManagement schemes available in the library.

--

GET /libs/{lib-id}/inst/{inst-id} | show

Displays the properties of the Installation with that {inst-id}.

--

GET /libs/{lib-id}/inst/{inst-id}/app | index

Displays the Appliances of the Installation with that {inst-id}.

--

GET /libs/{lib-id}/inst/{inst-id}/app/{app-id} | show

Displays the properties of the {app-id} Appliance of the Installation with that {inst-id}.

Clone this wiki locally