1 (edited by johnvanbreda 25-11-2008 08:17:18)

Re: Indicia Core Web Services

For those that are interested, here are a few notes on the developing web service architecture that will surround the data in the Indicia Core module. If you choose to utilise the Indicia Core to supply various services such as providing controlled terminology and species lists, then there will be a number of web services available to your website's code. The web services will be RESTful, meaning that there will be a URL than can return an XML document describing each entity in the database. We will provide options so that rather than returning XML, json or pre-formatted HTML is also available.
As an example, the Indicia core would provide a URL such as:

http://www.domain.com/services/data/termlist_terms/1?filter=Black&orderby=sort_code&limit=100&type=json

In this example, you are requesting a json document containing terms from the termlist with id 1, filtered to those terms starting with Black, ordered by the sort_code field, and limited to a max of 100 items. The same call, with type=li instead of json, would return the terms formatted as a sequence of html <li> elements, ideal for displaying as a drop down beneath an AJAX enabled auto-complete text box.

There is a possibility that rather than accepting GET parameters (i.e. parameters embedded in the URL) we will be forced to use POST parameters so that authentication can be performed, though we haven't finalised how calls to the web services will be authenticated yet.

Hopefully this gives you some idea how the end-user websites will be able to interact with the Indicia core.

John van Breda
Biodiverse IT