Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

41
Chris Schalk, Google Developer Advocate Jason Cooper, Developer Programs Engineer SV-GTUG Meetup - 2/4/2009 for Java Developers
  • date post

    13-Sep-2014
  • Category

    Technology

  • view

    6.015
  • download

    1

description

This is a presentation given to the Silicon Valley Google Technology User Group's (sv-gtug.org) February meetup in Mountain View, Ca.

Transcript of Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

Page 1: 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

Page 2: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

2

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 3: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

3

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 4: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
Page 5: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
Page 6: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

Too many platforms!

Page 7: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

Standards based

OpenSocial

Write once… Deploy everywhere

Page 8: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

Massive exposure foryour apps!

Page 9: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

9

OpenSocial Concepts

What is OpenSocial?

“OpenSocial defines a common set of APIs based on Open Standardsfor building social applications across multiple websites”

Page 10: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

10

OpenSocial Concepts

Who own’s OpenSocial?

OpenSocial is managed under the auspices of the“OpenSocial Foundation” - http://www.opensocial.org

No!?

Page 11: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

Some OpenSocial Partners

Page 12: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

In one year: has over 600 Million user reach!

Page 13: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

13

More OpenSocial numbers

315M+ app Installations

85M+ daily canvas page views

7,500+ applications

28+ live containers

http://opensocialapis.blogspot.com/

Page 14: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 15: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 16: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 17: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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/

Page 18: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

18

To follow future progress of the Spec…

http://groups.google.com/group/opensocial-and-gadgets-spec

Page 19: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

19

Demonstration: Building OpenSocial Applications

Page 20: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

20

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 21: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

21

How do you host OpenSocial Applications?

1. Can build your own server that implementsOpenSocial specification…

2. Or can use “Shindig” - Reference implementation forOpenSocial

Page 22: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 23: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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, …)

Page 24: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

24 24

How Shindig works

• Gadget Server

• OpenSocial Data Server

Yoursite.com

GadgetGadgetServer

OpenSocialDataServer

Shindig

Page 25: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

25 25

Java Shindig components

• Gadget Server

• OpenSocial Data Server

Yoursite.com

GadgetGadgetServer

OpenSocialDataServer

Shindig

Page 26: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 27: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

27

Demonstration: Trying out Shindig

27

Page 28: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

28

Demonstration: Pinging a local Shindig via REST

28

Ex: http://localhost:8080/social/rest/people/john.doe/@all

Page 29: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

29

Adapting Shindig

• Adapting Shindig to your own social data

Gadget Server

OpenSocialDataServer

Shindig

ActivityService

PersonService

AppDataService

Social GraphData

Page 30: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

30

Demonstration: Shindig with MySQL

30

Page 31: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

31

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 32: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 33: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

33

Demonstration: OpenSocial Java client library

33

Page 34: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

34

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 35: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 36: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

36

Demonstration: Calling Plaxo from an Android app

36

Pulling down contacts from my Plaxoaccount…

REST

Page 37: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

37

Agenda

• OpenSocial Concepts

• Apache Shindig

• OpenSocial Client Libraries

• Android and OpenSocial

• OSDE

Page 38: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 39: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 40: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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

Page 41: Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

41

Questions

Q&ASlides available at:

http://….