images/restgroups-logo.png

What is RESTGroups?

RESTGroups is an extension of the Spread Toolkit with support for constructing robust RESTful Web Services and any distributed applications that use HTTP as a transport protocol. Spread toolkit provides a messaging service for point-to-point and multicast communication that is resilient to faults across local and wide area networks. Spread services range from reliable messaging to fully ordered messages with delivery guarantees. Spread supports several programming languages, for example C/C++, Java and Python. RESTGroups functions as a front-end for Spread that is architecture- and language-independent, i.e. communicating services can be implemented using different languages and run on different platforms.

RESTGroups consists of an API to the Spread library that conforms to REST, a daemon server for communication with a Spread daemon (they run on each computer that is part of the processor group), and various demonstration programs. REpresentational State Transfer (REST) is a key design idiom in the web services world that embraces a stateless client-server architecture in which the web services are viewed as resources and can be identified by their URLs. Web service clients that want to use these resources access a particular representation by transferring application content using a small globally defined set of remote methods that describe the action to be performed on the resource.

RESTGroups provides representation of Spread services as resources identified by URLs with a simple but powerful API that only uses the following methods of the HTTP protocol for invoking the services:

See a short demo movie explaining the main concepts of group communication and RESTGroups's API to Spread using a small example program.

Distribution

A tarball file with source files is available here:

Download RESTGroups

To deploy demonstration programs you will need the Spread 4.1, available from http://www.spread.org/.

Team

Documentation

PP logo ITSOA logo


The ITSOA Project 2008-2009
Last modified: Fri Feb 19 12:39:56 CET 2010