Online REST Web Service Demo
This online demo is an example of a RESTful Web Service. The service was implemented using the principles of the REpresentational State Transfer architectural style. It exposes the Hypersonic sample database as Web Service.
Using HTTP and XML, resources can be queried, removed and altered. A Web browser like Firefox or MS Internet Explorer can be used for queries.
Examples
You can explore the Web Service using these links. Following the XLink attributes, you can navigate from resource to resource. Just copy the links and paste them into the address-field in your browser.
The Gate to the Service
http://www.thomas-bayer.com/sqlrest/
Customer # 18
http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/
List of invoices
http://www.thomas-bayer.com/sqlrest/INVOICE/
It's quite self-explanatory, the first link is all you need to navigate without further knowledge of the service. To explore the service even further you can use RESTGate to send POST, PUT and DELETE requests.
Data Manipulation
It is also possible to alter the data using the RESTian interface. Using the Web Methods POST, PUT and DELETE resources can be updated, created or deleted. Feel free to change the content of the service but don't delete everything.
To send POST, PUT or DELETE messages you have to write a script or you have to use a tool. How to use the Web Service is explained in the 15 Minutes Guide of sqlREST.
Expose your own database as REST Service
The online demo uses the sqlREST project hosted on sourceforge. sqlREST is a Java J2EE Web Application which can be configured to use any JDBC database. Included in sqlREST is a hsql database but it can be used with other databases like MySql, MS SQL Server or Oracle as well. A Web Container like Tomcat or Jetty is all you need to install sqlREST.
Resources
Architectural Styles and
the Design of Network-based Software Architectures
Dissertation from Thomas Roy Fielding
RESTwiki
WikiWiki Web dedicated to REST
REST Web Services
Introduction into REpresentational State Transfer Architecture