Apache Shindig

Shindig is an open source Apache project that functions as an OpenSocial container. It allows developers to quickly and easily host OpenSocial gadgets by providing the code to render gadgets and proxy requests, and to handle REST and RPC requests.

Shindig’s architecture is split into four separate parts, as shown in Figure 3-1 and described in the list that follows it.

Shindig’s architectural layers

Figure 3-1. Shindig’s architectural layers

Gadget container JavaScript

The handler for managing an OpenSocial gadget’s security, communication, and UI and JavaScript features

Gadget rendering server

Renders the gadget XML document (the definition for a gadget) into HTML and JavaScript for the container JavaScript to expose

OpenSocial container JavaScript

The JavaScript environment that sits on top of the gadget container JavaScript to provide OpenSocial API functionality

OpenSocial data server

Provides a mapping implementation of the container to the server interface so developers can implement their own data syncs

Shindig has a couple of core goals:

  • To allow new sites to develop a mechanism for hosting gadgets with very minimal effort.

  • To become a language-neutral platform in which the container is provided in many different languages. Currently, only container versions in PHP and Java are available and supported.

Get Programming Social Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.