Introduction
Apache Shindig, a word meaning party, was originally started by Google in 2007 as a reference container for hosting OpenSocial
compatible widgets in any website. Originally a port of Google's iGoogle gadget container, with Brian McCallister's PHP code,
Apache Shindig threw off it's egg shell, and showed that Google was serious about making OpenSocial accessible to a larger
number of sites. Since December 2007, Apache Shindig is now an Apache project.
Apache Shindig's Objectives
Apache Shindig's primary goal is to provide infrastructure for those wishing to host OpenSocial apps on their websites.
Apache Shindig Components
Server Side
The Java version of Apache Shindig have 3 major server side components:
Persistent Data Loading Mechanism.
Gadget Rendering Infrastructure.
OpenSocial server side implementation.
Components of Apache Shindig Java Server Side container
Client Side
The Javascript features are:
Gadget container (gadget.js), fully OpenSocial gadget compliant.
OpenSocial container.
JSON , Restful container and Caja support.
Put It Together: OpenSocial Flow
The following is a typical flow to get a list of Friends.
Server Side Flow
Call JsonRpcServlet.
Get the appropriate handler.
Get the JSON object from the DB.
Populate responses into a list.
Return to the client.
In the case of the REST use, the flow will be:
Call DataServiceServlet.
Get the appropriate converter.
Get the handler.
Get the JSON object from the DB.
Return to the client.
Client Side Flow
Create request object.
Populate request parameters.
Send the request.
OpenSocial APIs
Apache Shindig implements several OpenSocial APIs:
OpenSocial REST: for server to server communication
OpenSocial JSON-RPC: for gadget to server communication
Javascript: for gadgets
For more information on the OpenSocial APIs see the OpenSocial spec .
Resources
Copyright © 2007-2014 The Apache Software Foundation . All Rights Reserved.
Apache Shindig, Apache, the Apache feather logo, and the Apache Shindig project logos are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.