Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
-
date post
13-Sep-2014 -
Category
Technology
-
view
6.015 -
download
1
description
Transcript of Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
Chris Schalk, Google Developer AdvocateJason Cooper, Developer Programs Engineer
SV-GTUG Meetup - 2/4/2009
for Java Developers
2
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
3
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
Too many platforms!
Standards based
OpenSocial
Write once… Deploy everywhere
Massive exposure foryour apps!
9
OpenSocial Concepts
What is OpenSocial?
“OpenSocial defines a common set of APIs based on Open Standardsfor building social applications across multiple websites”
10
OpenSocial Concepts
Who own’s OpenSocial?
OpenSocial is managed under the auspices of the“OpenSocial Foundation” - http://www.opensocial.org
No!?
Some OpenSocial Partners
In one year: has over 600 Million user reach!
13
More OpenSocial numbers
315M+ app Installations
85M+ daily canvas page views
7,500+ applications
28+ live containers
http://opensocialapis.blogspot.com/
14
Where is OpenSocial live today?
Applications live to Users:
• LinkedIn• MySpace• orkut• Hi5• Freebar• Friendster• Webon from Lycos• IDtail• YiQi• Netlog• Hyves• Ning• Fanbox• XiaoNei• Mail.ru• Socialtext• 51.com
Initial Developer Sandboxes:
• iGoogle• Yahoo!• Minglebox• imeem• Viadeo• CityIN• Tianya• Ning• Plaxo Pulse• Lokalisten• … many more in the pipeline!
http://wiki.opensocial.org
15
Not just Social Network Sites
• Social network sites - Profiles and home pagesex: MySpace, Hi5
• Personal dashboards – Widgetsex: iGoogle, My Yahoo
• Sites based around a Social Objectex: Flickr, YouTube
• Enterprise, Professionalex: LinkedIn, Oracle, SalesForce.com
• Any web site
16
OpenSocial Roadmap
Version v0.8.1 is current
• Latest evolution of OpenSocial as defined by theOpenSocial development community
• Updated JavaScript API• Now contains a RESTful API
• hi5, MySpace, orkut, iGoogle now support 0.8
• Specification: http://sites.google.com/a/opensocial.org/opensocial/Technical-
Resources/opensocial-spec-v081
17
OpenSocial 0.9 - Future Directions
Goal:– Enable a faster development experience that is both secure and
efficient
Solution: “Opensocial Templates”!
OS Templates core principles:
• Client-side and server-side processing
• Standard set of tags with extensibility model
– Example: <os:ShowPerson>
• http://groups.google.com/group/opensocial-and-gadgets-spec/web/opensocial-templates
– Demo: http://ostemplates-demo.appspot.com/
18
To follow future progress of the Spec…
http://groups.google.com/group/opensocial-and-gadgets-spec
19
Demonstration: Building OpenSocial Applications
20
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
21
How do you host OpenSocial Applications?
1. Can build your own server that implementsOpenSocial specification…
2. Or can use “Shindig” - Reference implementation forOpenSocial
22
Hosting OpenSocial Applications
What is Shindig?
• Apache Incubator Project
• Currently available in Java and PHP
• Shindig Components:• Gadget Server
•Parses gadget XML, renders as HTML/JS/CSS
• OpenSocial Data Server
• Plugs into social graph data
• RESTful, RPC protocol services
• Downloaded JavaScript libraries
•Core gadgets, OpenSocial client JavaScript environment
http://incubator.apache.org/shindig
23
Why use Shindig?
• Strong Open Source community
• High quality production-ready code• Used by: hi5, orkut, iGoogle, Netlog, Hyves …
• Synchronized with specification
• Language neutral (Java, PHP, …)
24 24
How Shindig works
• Gadget Server
• OpenSocial Data Server
Yoursite.com
GadgetGadgetServer
OpenSocialDataServer
Shindig
25 25
Java Shindig components
• Gadget Server
• OpenSocial Data Server
Yoursite.com
GadgetGadgetServer
OpenSocialDataServer
Shindig
26
Shindig success at hi5
• Big Traffic
• 10k req/sec Edge
• 6k req/sec Origin
• Hundreds of Developers
• 1800+ Apps
• 1 Billion hits/day
… on 42 Shindig servers
26
27
Demonstration: Trying out Shindig
27
28
Demonstration: Pinging a local Shindig via REST
28
Ex: http://localhost:8080/social/rest/people/john.doe/@all
29
Adapting Shindig
• Adapting Shindig to your own social data
Gadget Server
OpenSocialDataServer
Shindig
ActivityService
PersonService
AppDataService
Social GraphData
30
Demonstration: Shindig with MySQL
30
31
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
32
Introducing the OpenSocial Client Libraries
32
http://code.google.com/p/opensocial-php-client http://code.google.com/p/opensocial-ruby-clienthttp://code.google.com/p/opensocial-python-clienthttp://code.google.com/p/opensocial-java-client
A set of client libraries for that enabledirect communication to an OpenSocialserver.
• Client libraries exist for PHP, Ruby, Python and Java• Supports both REST and RPC protocols• Documentation Wiki pages• Sample applications provided
33
Demonstration: OpenSocial Java client library
33
34
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
35
The Android Client Library
35
Provides Android developers with easyaccess to OpenSocial servers.
• Utilizes the OpenSocial Java client library• Sample application and documentation provided
36
Demonstration: Calling Plaxo from an Android app
36
Pulling down contacts from my Plaxoaccount…
REST
37
Agenda
• OpenSocial Concepts
• Apache Shindig
• OpenSocial Client Libraries
• Android and OpenSocial
• OSDE
38
An “OSDE” Sneak Preview
38
What is OSDE?
Ans: OpenSocial Development EnvironmentA complete OpenSocial development environmentencapsulated within an Eclipse plugin.
• Under development in Japan• Bundles Shindig into Eclipse• Bundles H2 Java database with Hibernatefor social data• Provides OpenSocial perspective
• Has console to Shindig, database
http://www.eisbahn.jp/trac/osde
39
Useful Links
Homepage & specification: http://www.opensocial.org
New Wiki! (Compliancy, Cross container development …)• http://wiki.opensocial.org
Get on the forums:• http://groups.google.com/group/opensocial
Subscribe to the Shindig mailing list:• [email protected]
Help shape the specification:• http://groups.google.com/group/opensocial-and-gadgets-spec/
Check out Shindig:• http://incubator.apache.org/shindig
OS Templates:• http://groups.google.com/group/opensocial-and-gadgets-spec/web/opensocial-templates
40
Useful Event Info
Google Code Events Calendar:• http://code.google.com/events/calendar
Google IO registration is now open!• http://code.google.com/events/io
Google Summer of Code:• http://code.google.com
41
Questions
Q&ASlides available at:
http://….