Open Social Frameworks

15
Open Social Frameworks and solutions

description

This is my research about Open Social Frameworks in July 2009. I am trying to find solution for developing scientific gateways.

Transcript of Open Social Frameworks

Page 1: Open Social Frameworks

Open Social Frameworks and solutions

Page 2: Open Social Frameworks

Why OpenSocial?• Provide framework to connect different applications using single

entry point.• Sites or Application having Open Social support can share data

easily.• Rest support makes communication between applications platform

independent.• Gadgets or Widgets applications are easily portable among different

environments supporting OpenSocial API's.• Users can use their existing Google or Yahoo accounts or OpenID

URL’s to login to different applications.• Signed requests can be sent using OpenAuth• Supported in large number of containers

  OpenSocial in Google IO

http://code.google.com/events/io/sessions/OpenSocialEnterprise.htmlhttp://code.google.com/events/io/sessions.html#social

Page 3: Open Social Frameworks

This diagram shows the standard high-level technical architecture of OpenSocial Gadgets. A Gadget Hosting Server is any web server that hosts a Gadget Spec XML file. The Gadget Rendering Server is responsible for tranforming the Gadget Spec into HTML. A Container is any application that puts a Gadget in one of its Web pages. Gadgets can make request to Backend Applications by proxying requests through the Rendering Server using OpenSocial's JavaScript API. http://www.atlassian.com/opensocial/atlassian-and-opensocial.jsp

Page 4: Open Social Frameworks

OpenSocial Reach

Intrusting thing in this slide is how containers from all over the world are evolving and making their contributions to OpenSocial Society.

Page 5: Open Social Frameworks

Apache Shindig• Gadget Container JavaScript -- core JavaScript foundation for general gadget functionality. This JavaScript

manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.• Gadget Server -- an open source version of gmodules.com, which is used to render the gadget xml into

JavaScript and HTML for the container to expose via the container JavaScript.• OpenSocial Container JavaScript -- JavaScript environment that sits on top of the Gadget Container JS

and provides OpenSocial specific functionality (profiles, friends, activities).• OpenSocial Gateway Server -- an open source implementation of the server interface to container-

specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.

Apache Sling• Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store

and manage content.• REST based web framework to access to JSR-170 Java Content Repositories• Sling applications use either scripts or Java servlets, selected based on simple name conventions, to

process HTTP requests in a RESTful way.• The embedded Apache Felix OSGi The Dynamic Module System for Java framework and console provide a

dynamic runtime environment, where code and content bundles can be loaded, unloaded and reconfigured at runtime.

Introduction to API’s used

Page 6: Open Social Frameworks

Frameworks looked into and other projects   

Wookiehttp://wiki.apache.org/incubator/WookieProposalhttp://getwookie.org/

Sakai3http://3akai.sakaiproject.org/dev/

eXo Portal and WebOShttp://bit.ly/eXoPortalhttp://bit.ly/eXoWebOS

Atlassian + OpenSocialhttp://www.atlassian.com/opensocial/

Other projects Liferay (Using Shindig plugin to support open social) http://bit.ly/VDrN7

Project Zero (Web 2.0 with PHP scripting, REST and Dojo)http://www.projectzero.org/ 

Page 7: Open Social Frameworks

Wookie• Effort by CETIS to create OpenSocial container to run Widgets or Gadgets inside

Moodle.Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE).

• OpenSocial Support using Shindig(0.8).• Based on the W3C Widgets specification and support for Google Wave Gadgets. • Project in Apache incubator but does not have any code checked in yet.• Currently code is part of TENCompetence sourceforge project which have liferay

based deployment.   WookieProposal   Source Code

Page 8: Open Social Frameworks

Summary of my research

1 Was able to Download Wookie and run it locally. 2 I am not able to find any technical document about their approach on Open social.3 Code is not available in Apache yet as standalone project but will be available. 4 Will continue my research when code is available.

Page 9: Open Social Frameworks

Sakai 3 + K2(Sakai Kernel) introduction

• Significant improvements in the user experience, drawing heavily on Web 2.0 thinking, such as dashboards, widgets, gadgets, drag-and-drop support, etc. Content authoring and organization capabilities to provide more flexibility in populating and organizing sites.

• Add social networking capabilities.• Ease of development through improved separation of concerns between java

developers, java script programmers, and user experience designers.• Simplified installation and expansion requirements.• Framework using all the latest active open source projects. • Advantage for building from scratch is consider all the aspects for OpenSocial,

but not hacking code to make it work for new technologies.• Example of pure multi-tier framework where K2 will act as gateway to connect to

different applications.• Email with Sakai team(Ian Boston) says “The intention is to embed both the

Gadget server and the Social API into the Sakai3 backend. The back end (K2) has the beginnings of a Social Container implementation and we will be wiring the REST based Social API in Shindig upto the data representations in K2.This will make it possible to add white listed Gadgets into any page within Sakai3.”

Page 10: Open Social Frameworks

Proposed Shindig integration in Sakai 3

• Shindig container will run inside Sling K2 to provide close integration with Shidig.

• Shindig container will run as separate container to give flexibility to modify or update Shindig container.

• Email with Sakai team says “The intention is to embed both the Gadget server and the Social API into the Sakai3 backend. The back end (K2) has the beginnings of a Social Container implementation and we will be wiring the REST based Social API in Shindig upto the data representations in K2.This will make it possible to add white listed Gadgets into any page within

Sakai3.”

Page 11: Open Social Frameworks

Summary of my research1 3akai Milestone 1 Release is not the code base they are using now.2 Current focus is K2 development but lot of components are not implemented yet like Shindig Bundle.3 Portals SVN and K2 GIT are at separate locations and was difficult for me to build. I took me few times to

even get code compiled and running.4 Not enough documents available to help how to add new gadgets and widgets.5 There are lot of things unsaid in the proposal about when different components will be available. 6 I am constantly watching the progress Sakai team is making and looking forward to use it at some point.

Page 12: Open Social Frameworks

eXo Portal and WebOS

• Access personalized and collaborative content and applications from a single entry point.

• Create their own user experience with personalized applications based on groups, roles in groups, context, and team collaboration needs.

• Deliver rich content that is updated dynamically via AJAX.• Personal user dashboard allows users to customize a page with their preferred

gadgets.• Based on Shindig 0.8 and Tomcat.• Rest support.• Integration available with Central Authentication Service (CAS).• Portlet support : WSRP 2, JSR 168 and 286.• Concept of WebOS is to provide your web application desktop look. • Easy installation to try out your own gadget application.• OW2 Consortium Project

Detail features list

 

Page 13: Open Social Frameworks

Summary of my research1 Stable code release is available and was easy to install.2 I was able to include OpenSocial example and run it.3 Have portal container with JSF and Portal bridge support4 Shindig 0.8 is included in the container itself

Page 14: Open Social Frameworks

Atlassian + OpenSocial

• Embracing dashboards and OpenSocial gadgets as a method of integration between their own products and between other enterprise software

• OpenSocial-compliant containers on the Internet, like Gmail or iGoogle.  • JIRA 4 framework is available with OpenSocial support.• Main focus was to look how they integrate different development tools.

This diagram shows the high-level technical architecture of OpenSocial Gadget mapped to Atlassian applications. Each of the OpenSocial components Gadget Hosting Server, Rending Server and Container are implemented as Atlassian Plugins. An Atlassian application JIRA, as an example can act as both a Gadget Hosting Server and Container. Atlassian applictions can have different roles as well. For example, Bamboo can act as a Gadget Hosting Server and provide a Bamboo Build Status Gadget that JIRA renders and displays on its dashboard.

Page 15: Open Social Frameworks

Summary of my researchTODO—coming soon!!!!!!!!! With other research on Liferay and others.