Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Open Social Frameworks


Published on

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

Published in: Technology, Business
  • Thanks scott for all the updates. As i have written its summery of my recent research. it may not be 100% correct but its based on facts i noticed. i am looking forward to do further research on wookie.
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi mate, Scott from Apache Wookie here!

    'doesn't have any code checked in yet...' acceptance to Apache was only voted on last Friday, give us a chance! We have to do all the IP clearance and package renaming first. Probably be ready next week.

    'not much active development' We held off all pending checkins during the submission to Apache. All the original devs are committers, and we've had lots of interest from more developers wanting to join. So development is about to get very active. Also, note Wookie just adopted by LAMS and JISCPress, and potentially by some very large Moodle installs...

    'approach to Open Social' its in the readme in the shindig folder in the repository. Wookie implements GetPref/SetPref directly but passes other requests to Shindig backend. HTH! ;-) S
    Are you sure you want to  Yes  No
    Your message goes here

Open Social Frameworks

  1. 1. Open Social Frameworks and solutions <br />
  2. 2. Why OpenSocial?<br /><ul><li>Provide framework to connect different applications using single entry point.
  3. 3. Sites or Application having Open Social support can share data easily.
  4. 4. Rest support makes communication between applications platform independent.
  5. 5. Gadgets or Widgets applications are easily portable among different environments supporting OpenSocial API's.
  6. 6. Users can use their existing Google or Yahoo accounts or OpenID URL’s to login to different applications.
  7. 7. Signed requests can be sent using OpenAuth
  8. 8. Supported in large number of containers</li></ul> <br />OpenSocial in Google IO<br /><br /><br />
  9. 9. 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&apos;s JavaScript API. <br /><br />
  10. 10. OpenSocial Reach<br />Intrusting thing in this slide is how containers from all over the world are evolving and making their contributions to OpenSocial Society.<br />
  11. 11. Introduction to API’s used<br />Apache Shindig<br />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.<br />Gadget Server -- an open source version of, which is used to render the gadget xml into JavaScript and HTML for the container to expose via the container JavaScript.<br />OpenSocial Container JavaScript -- JavaScript environment that sits on top of the Gadget Container JS and provides OpenSocial specific functionality (profiles, friends, activities).<br />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.<br />Apache Sling<br />Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content.<br />REST based web framework to access to JSR-170 Java Content Repositories<br />Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.<br />The embedded Apache FelixOSGi 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.<br />
  12. 12. Frameworks looked into and other projects    <br />Wookie<br /><br /> <br />Sakai3<br /><br />eXo Portal and WebOS<br /><br /> <br />Atlassian+ OpenSocial<br /><br />Other projects <br />Liferay(Using Shindig plugin to support open social) <br /><br />Project Zero (Web 2.0 with PHP scripting, REST and Dojo)<br /><br /> <br />
  13. 13. Wookie<br /><ul><li>Effort by CETIS to create OpenSocial container to run Widgets or Gadgets inside Moodle.</li></ul>Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE).<br /><ul><li>OpenSocialSupport using Shindig(0.8).
  14. 14. Based on the W3C Widgets specification and support for Google Wave Gadgets.
  15. 15. Project in Apache incubator but does not have any code checked in yet.
  16. 16. Currently code is part of TENCompetencesourceforge project which have liferay based deployment.</li></ul>  <br />WookieProposal   Source Code<br />
  17. 17. Summary of my research<br />Was able to Download Wookie and run it locally. <br />I am not able to find any technical document about their approach on Open social.<br />Code is not available in Apache yet as standalone project but will be available. <br />Will continue my research when code is available.<br />
  18. 18. Sakai 3 + K2(Sakai Kernel) introduction<br />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.<br />Add social networking capabilities.<br />Ease of development through improved separation of concerns between java developers, java script programmers, and user experience designers.<br />Simplified installation and expansion requirements.<br />Framework using all the latest active open source projects. <br />Advantage for building from scratch is consider all the aspects for OpenSocial, <br /> but not hacking code to make it work for new technologies.<br />Example of pure multi-tier framework where K2 will act as gateway to connect to different applications.<br />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.”<br />
  19. 19. Proposed Shindig integration in Sakai 3<br /><ul><li>Shindig container will run inside Sling K2to provide close integration with Shidig.
  20. 20. Shindig container will run as separate container to give flexibility to modify or update Shindig container.
  21. 21. 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.”</li></li></ul><li>Summary of my research<br />3akai Milestone 1 Release is not the code base they are using now.<br />Current focus is K2 development but lot of components are not implemented yet like Shindig Bundle.<br />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.<br />Not enough documents available to help how to add new gadgets and widgets.<br />There are lot of things unsaid in the proposal about when different components will be available.<br />I am constantly watching the progress Sakai team is making and looking forward to use it at some point.<br />
  22. 22. eXo Portal and WebOS<br /><ul><li>Access personalized and collaborative content and applications from a single entry point.
  23. 23. Create their own user experience with personalized applications based on groups, roles in groups, context, and team collaboration needs.
  24. 24. Deliver rich content that is updated dynamically via AJAX.
  25. 25. Personal user dashboard allows users to customize a page with their preferred gadgets.
  26. 26. Based on Shindig 0.8 and Tomcat.
  27. 27. Rest support.
  28. 28. Integration available with Central Authentication Service (CAS).
  29. 29. Portletsupport : WSRP 2, JSR 168 and 286.
  30. 30. Concept of WebOS is to provide your web application desktop look.
  31. 31. Easy installation to try out your own gadget application.
  32. 32. OW2 Consortium Project</li></ul>Detail features list<br /> <br />
  33. 33. Summary of my research<br />Stable code release is available and was easy to install.<br />I was able to include OpenSocial example and run it.<br />Have portal container with JSF and Portal bridge support<br />Shindig 0.8 is included in the container itself<br />
  34. 34. Atlassian + OpenSocial<br /><ul><li>Embracing dashboards and OpenSocial gadgets as a method of integration between their own products and between other enterprise software
  35. 35. OpenSocial-compliant containers on the Internet, like Gmail or iGoogle.  
  36. 36. JIRA 4 framework is available with OpenSocial support.
  37. 37. Main focus was to look how they integrate different development tools.</li></ul>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 AtlassianPlugins. An Atlassian application <br />JIRA, as an example can act as both a Gadget Hosting Server and Container. Atlassianapplictions 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. <br />
  38. 38. Summary of my research<br />TODO—coming soon!!!!!!!!! With other research on Liferay and others.<br />