Service resilience, that is the continued availability of a service despite failures and other negative changes in its environment, is vital in the Service-Oriented Architecture (SOA). A typical way of increasing service resilience is to replicate it. Service replication means deployment of a service on several server machines, each of which may fail independently, and coordination of client interactions with replicas using group communication.

What is RESTGroups?

RESTGroups is a RESTful group communication service which is based on Spread -- a popular group communication toolkit. Spread provides various primitives for:

RESTGroups functions as an architecture- and language-independent front-end for Spread. Contrary to Spread and many other such systems, RESTGroups represents group communication abstractions as resources on the Web, addressed by URIs. RESTGroups uses methods GET, PUT, POST, and DELETE of HTTP in the RESTful style:

This gives us a uniform, simple way of using group communication abstractions for developing resilient Web applications, fulfilling the SOA requirements, such as: language/platform independence and easy software integration. Since the Web is ubiquitous and the HTTP ports are usually not blocked, the group communication services can run truly globally.

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


A tarball file with source files is available here:

Download RESTGroups

To deploy demonstration programs you will need the Spread 4.1, available from

API documentation in HTML format



PP logo ITSOA logo

The ITSOA Project 2008-2009
Last modified: Fri Jun 18 15:18:28 CEST 2010