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.

[Phpcamp]Shindig An OpenSocial container

5,801 views

Published on

Blog Link: http://projectbee.org/blog/archive/how-to-implementing-shindig/
The presentation is all about getting started with implementing Shindig for your existing social portal. Presented at PHPCamp, Pune, on Sept'20th, 2008.

  • Be the first to comment

[Phpcamp]Shindig An OpenSocial container

  1. 1. Shindig – OpenSocial Container Bipin Upadhyay , Satyam Computers ( http://projectbee.org/ ) Sharmishtha Gupta , Satyam Computers
  2. 2. <ul><li>… No, it (love) is a word. What matters is the connection the word implies. … </li></ul><ul><li>--RamaKandra in “Matrix Revolutions” </li></ul>
  3. 3. Agenda <ul><li>Introduction </li></ul><ul><li>Social Networking & OpenSocial </li></ul><ul><li>Shindig </li></ul><ul><li>Implementing Shindig </li></ul>
  4. 4. Agenda <ul><li>Introduction </li></ul><ul><li>Social Networking & OpenSocial </li></ul><ul><li>Shindig </li></ul><ul><li>Implementing Shindig </li></ul>
  5. 5. Introduction <ul><li>Name: Bipin Upadhyay </li></ul><ul><li>Firm: Satyam Computers </li></ul><ul><li>Work: Training, Coding, PHP, App Sec,… attending meetings  </li></ul><ul><li>Hobbies: Photography, Blogging, Poetry (Reading) etc. </li></ul><ul><li>Blog: http://projectbee.org/ </li></ul>
  6. 6. Introduction <ul><li>Name: Sharmishtha Gupta </li></ul><ul><li>Firm: Satyam Computers </li></ul><ul><li>Work: Coding, Meetings, Tea Breaks  </li></ul><ul><li>Hobbies: Trekking, Chess, Movies, & (definitely) Shopping. </li></ul>
  7. 7. Agenda <ul><li>Introduction </li></ul><ul><li>Social Networking & OpenSocial </li></ul><ul><li>Shindig </li></ul><ul><li>Implementing Shindig </li></ul>
  8. 8. Social Networking <ul><li>Six Degrees – It’s a small world after all </li></ul>
  9. 9. Social Networking <ul><li>Six Degrees – It’s about Connecting People </li></ul>
  10. 10. Social Networking <ul><li>Six Degrees – the Kevin Bacon Game </li></ul>
  11. 11. Social Networking <ul><li>Fundamental point: Man is a social animal </li></ul>
  12. 12. Social Networking <ul><li>Online Social Networking - A huge step ahead </li></ul>
  13. 13. Online Social Networking <ul><li>Online Social Networking – Better connectivity for users </li></ul>
  14. 14. Online Social Networking <ul><li>Online Social Networking – Huge data for analysis to providers </li></ul>
  15. 15. Online Social Networking <ul><li>Online Social Networking – Monetization for everyone  </li></ul>
  16. 16. Online Social Networking <ul><li>However, there’s one problem ! </li></ul>
  17. 17. Online Social Networking <ul><li>However, there’s one problem ! </li></ul><ul><ul><li>(Too) many networks – Same people!  </li></ul></ul>
  18. 18. Online Social Networking <ul><li>However, there’s one problem ! </li></ul><ul><ul><li>(Too) many networks – Same people!  </li></ul></ul>
  19. 19. OpenSocial <ul><li>(Google) OpenSocial – One for all & All for one </li></ul><ul><ul><li>Many networks – One API </li></ul></ul>
  20. 20. OpenSocial <ul><li>(Google) OpenSocial – One for all & All for one </li></ul><ul><ul><li>Many networks – One API </li></ul></ul><ul><li>Two main aspects: </li></ul><ul><ul><li>Social Apps or Gadgets </li></ul></ul><ul><ul><li>OpenSocial Container </li></ul></ul>
  21. 21. OpenSocial <ul><li>(Google) OpenSocial – One for all & All for one </li></ul><ul><ul><li>Many networks – One API </li></ul></ul><ul><li>Two main aspects: </li></ul><ul><ul><li>Social Apps or Gadgets </li></ul></ul><ul><ul><li>OpenSocial Container : Shindig </li></ul></ul>
  22. 22. OpenSocial - Jargon <ul><li>Owner: The user who has installed the App </li></ul><ul><li>Viewer: The user who is using the App </li></ul><ul><li>Friends: Relationship between two users </li></ul><ul><li>OpenSocial App: A Gadget Specification compliant XML </li></ul><ul><li>App Data: Data stored by an App, for persistence </li></ul><ul><li>Activity : Data stored by a user (what a user does) </li></ul>
  23. 23. Agenda <ul><li>Introduction </li></ul><ul><li>Social Networking & OpenSocial </li></ul><ul><li>Shindig </li></ul><ul><li>Implementing Shindig </li></ul>
  24. 24. Shindig <ul><li>Shindig : Apache Incubator Project </li></ul><ul><ul><li>Java & PHP versions available </li></ul></ul><ul><ul><li>Under active development </li></ul></ul><ul><ul><li>Version 1.0 expected in Sept. end </li></ul></ul><ul><ul><li>No logo yet  </li></ul></ul>
  25. 25. Shindig <ul><li>Shindig = Gadget Specification + OpenSocial Specification </li></ul>
  26. 26. Shindig <ul><li>Shindig = Gadget Specification + OpenSocial Specification </li></ul><ul><ul><li>Gadget Container : gadget layout & content </li></ul></ul><ul><ul><li>Gadget Server : Gadget XML to HTML rendering </li></ul></ul>
  27. 27. Shindig <ul><li>Shindig = Gadget Specification + OpenSocial Specification </li></ul><ul><ul><li>OpenSocial Container: Container for the OpenSocial API </li></ul></ul><ul><ul><li>OpenSocial Data Server: Backend implementation </li></ul></ul>
  28. 28. Shindig <ul><li>Shindig = Gadget Specification + OpenSocial Specification </li></ul>
  29. 29. Shindig - Architecture
  30. 30. Agenda <ul><li>Introduction </li></ul><ul><li>Social Networking & OpenSocial </li></ul><ul><li>Shindig </li></ul><ul><li>Implementing Shindig </li></ul>
  31. 31. Shindig - Implementation <ul><li>Implementation: </li></ul><ul><ul><li>Convert your social n/w into an OpenSocial n/w in 3 easy steps </li></ul></ul>
  32. 32. Shindig - Implementation <ul><li>Step 1: Implement Service Interfaces </li></ul><ul><ul><li>PeopleService </li></ul></ul><ul><ul><li>AppDataService </li></ul></ul><ul><ul><li>ActivityService </li></ul></ul><ul><ul><li>MessagesService </li></ul></ul>
  33. 33. Shindig - Implementation <ul><li>Step 1: Implement Service Interfaces </li></ul><ul><ul><li>PeopleService </li></ul></ul><ul><ul><li>AppDataService </li></ul></ul><ul><ul><li>ActivityService </li></ul></ul><ul><ul><li>MessagesService </li></ul></ul><ul><li>Use Partuza or SampleContainer for reference </li></ul>
  34. 34. Shindig - Implementation <ul><li>Step 2: Configure & Deploy </li></ul><ul><ul><li>Host as virtual host on a separate server </li></ul></ul><ul><ul><li>OR </li></ul></ul><ul><ul><li>Make changes in configurations files to reflect path </li></ul></ul>
  35. 35. Shindig - Implementation <ul><li>Step 3: A couple of changes in Social Network </li></ul><ul><ul><li>Add a couple of tables to database </li></ul></ul><ul><ul><li>Create a gadget rendering location/page </li></ul></ul><ul><ul><li>Override gadget rendering layout , if necessary </li></ul></ul>
  36. 36. Shindig - Implementation <ul><li>Implementation: </li></ul><ul><ul><li>Convert your social n/w into an OpenSocial n/w in 3 easy steps </li></ul></ul><ul><ul><li>Implement Service Interfaces </li></ul></ul><ul><ul><li>Configure & Deploy </li></ul></ul><ul><ul><li>A couple of changes in Social Network </li></ul></ul>
  37. 37. Shindig - Implementation <ul><li>Implementation: </li></ul><ul><ul><li>Convert your social n/w into an OpenSocial n/w in 3 easy steps </li></ul></ul><ul><ul><li>Implement Service Interfaces </li></ul></ul><ul><ul><li>Configure & Deploy </li></ul></ul><ul><ul><li>A couple of changes in Social Network </li></ul></ul><ul><li>What? Expecting anything more? </li></ul><ul><ul><li>Apologies to disappoint  </li></ul></ul>
  38. 38. Acknowledgement <ul><li>My employer, Satyam Computers </li></ul><ul><li>My Teammates for their support </li></ul><ul><li>http://www.flickr.com/photos/restlessglobetrotter/2513014001/ </li></ul><ul><li>http://www.flickr.com/photos/aeioux/35979393/ </li></ul><ul><li>http://alumni.indiana.edu/about/fun/images/IU-Bacon-chart_full.jpg </li></ul><ul><li>http://www.flickr.com/photos/projectbee/2112538734/ </li></ul><ul><li>http://www.flickr.com/photos/crystaleagle/2386230724/ </li></ul><ul><li>http://www.flickr.com/photos/62396887@N00/1459838222/ </li></ul><ul><li>http://www.flickr.com/photos/markwitton/1386125619/ </li></ul><ul><li>http://www.flickr.com/photos/kiki99/1062744637/ </li></ul><ul><li>http://www.flickr.com/photos/donnagrayson/195244498/ </li></ul><ul><li>http://www.flickr.com/photos/slateford/2610390757/ </li></ul><ul><li>http://www.flickr.com/photos/thevince/2650139618/ </li></ul>
  39. 39. About Satyam <ul><li>PHP </li></ul><ul><ul><li>Satyam’s PHP Unit is actively involved in consulting and developing PHP Based Web Applications </li></ul></ul><ul><ul><li>Also competent in smooth migration from existing infrastructure to PHP based solutions </li></ul></ul><ul><ul><li>A well defined stack of tools, e.g. PHPUnit, Phing, Xdebug, Xinc, etc., being used by developers for streamlined development </li></ul></ul><ul><li>OpenSocial </li></ul><ul><ul><li>Early adopters of OpenSocial </li></ul></ul><ul><ul><li>Dedicated t eam of Java & PHP developers working on OpenSocial </li></ul></ul><ul><ul><li>Currently helping a Social Network, with 10 million registered user base, become OpenSocial complaint </li></ul></ul>
  40. 40. Got Questions??? <ul><li>Shoot them </li></ul>

×