0
Java API for Social MediaFrom Agorava to ΩrkutJustJava               Werner Keil           Antoine Sabot-Durand           ...
Our Goal          A JAVA API FOR ACCESS TO          SOCIAL NETWORKS2   © 2010-2012 Werner Keil, Antoine Sabot-Durand and O...
Who am I?                   Werner Keil                                     Consultant – Coach                            ...
Proliferation4   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Proliferation of Social Media5   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Social Gaga6   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Apache Shindig     • Open source implementation of OpenSocial & Gadgets       specification     • An Apache Software proje...
OpenSocial Container    • Become an OpenSocial Container     o Get Shindig (PHP or Java) or the Google implementation     ...
What Is a Gadget?     Simple gadgets for getting a Grid proxy credential and     running remote commands. Both run on my o...
Who uses OpenSocial     •    MySpace     •    Orkut     •    Friendster     •    Hi511   © 2010-2012 Werner Keil, Antoine ...
Who does not use OpenSocial•    Facebook•    Twitter•    LinkedIn•    XING*•    Yammer•    Foursquare•    Google+•    ...*...
What’s said about OpenSocial     • OpenSocial is what Google created for MySpace       (Yammer CTO and co-founder Adam Pis...
Portable Contacts     • REST API for Person and Contacts        • Open source implementation     • Compatible with OpenSoc...
SocialSite – Sun’s approach to SocialSun Microsystems  • Socialsite: Shindig + gadget based UI written in Java  • Open Sou...
Facebooks’ Query Language     • All of the Facebook API is basically a set of       wrappers around their SQL like FQL que...
DaliCore – History           DaliCMS (2006): “Web 2.0 ready CMS”           Open-source “CMS” with community features    ...
DaliCore – CMS    More than a CMS → DaliCore    Adds functionality common to users, content     and permissions on top o...
DaliCore – Connect public abstract class ExternalNetwork     public abstract Response connect(String callback);     public...
DaliCore – Integrate    The User concept in DaliCore can have 0 or     more instances of “OnlineAccount”    In projects ...
Seam Social – a bootstrap for the API• A full CDI API to interact with Social Networks• Developed by Antoine Sabot-Durand ...
Twitter4J – History           Twitter4J is an unofficial Java library for            the Twitter API.            With Twi...
Social Gagorava23   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agoravian                                          LIKE                                      SOCI24   © 2010-2012 Werner K...
Agorava – a kind of JCA for Social Media25   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agorava Socializer26   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agorava Socializer – Architecture                                                                  Agorava Core           ...
Mr. Agorava               Birthday 18th May!               FB: https://www.facebook.com/antoine.sabotdurand or @antoine_sd...
Let’s SocializeDEMO
Q&AAGORAVA AGORA!
Contact                 Website: http://agorava.org              GitHub: https://github.com/agorava                       ...
Upcoming SlideShare
Loading in...5
×

Java API for Social Media

2,602

Published on

Agorava Agora! The motto of the Agorava tour to Brazil, at JustJava and related JUG meetings.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,602
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Java API for Social Media"

  1. 1. Java API for Social MediaFrom Agorava to ΩrkutJustJava Werner Keil Antoine Sabot-Durand Sao Paulo, Brazil 18 / 05 / 12
  2. 2. Our Goal A JAVA API FOR ACCESS TO SOCIAL NETWORKS2 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  3. 3. Who am I? Werner Keil Consultant – Coach Creative Cosmopolitan Open Source Evangelist Software Architect … Twitter @wernerkeil3 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  4. 4. Proliferation4 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  5. 5. Proliferation of Social Media5 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  6. 6. Social Gaga6 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  7. 7. Apache Shindig • Open source implementation of OpenSocial & Gadgets specification • An Apache Software project • Available in Java & PHP • http://shindig.apache.orgIt’s Goal:“Shindigs goal was to allow new sites to start hosting socialapps in under an hours worth of work" 8 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  8. 8. OpenSocial Container • Become an OpenSocial Container o Get Shindig (PHP or Java) or the Google implementation  http://shindig.apache.org o Look at examples & documentation  http://code.google.com/p/opensocial- resources/wiki/SampleApps • The “official” OpenSocial implementation has shifted – from Shindig to Google Code9 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  9. 9. What Is a Gadget? Simple gadgets for getting a Grid proxy credential and running remote commands. Both run on my own Web server.10 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  10. 10. Who uses OpenSocial • MySpace • Orkut • Friendster • Hi511 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  11. 11. Who does not use OpenSocial• Facebook• Twitter• LinkedIn• XING*• Yammer• Foursquare• Google+• ...* Abandoned it for Security and other reasons12 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  12. 12. What’s said about OpenSocial • OpenSocial is what Google created for MySpace (Yammer CTO and co-founder Adam Pisoni) • Out of the box, most gadgets are publicly available content that do not require authentication and authorization. (ThoughtWorks Studios about OpemSocial gadgets) • OpenSocial is a specification that provides a standard way to share content between semi-trusted applications. • While initially proposed for public facing social networking sites, it has possibly more potential within the corporate firewall (ThoughtWorks Radar, March 2012)13 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  13. 13. Portable Contacts • REST API for Person and Contacts • Open source implementation • Compatible with OpenSocial • http://portablecontacts.net14 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  14. 14. SocialSite – Sun’s approach to SocialSun Microsystems • Socialsite: Shindig + gadget based UI written in Java • Open Source https://socialsite.dev.java.net/ 15 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  15. 15. Facebooks’ Query Language • All of the Facebook API is basically a set of wrappers around their SQL like FQL query language. So you can, if you prefer, make custom methods out of FQL query strings. var myQuery=SELECT name FROM user WHERE uid=+api.get_session().uid; api.fql_query(myQuery, getFQLResponse); getFQLResponse() is a developer-written callback function If it’s SQL like, could we use something like JPA around it?16 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  16. 16. DaliCore – History  DaliCMS (2006): “Web 2.0 ready CMS”  Open-source “CMS” with community features  2008: integration with Shindig, provides OpenSocial Implementation (JavaScript code from Shindig, Java code in DaliCMS)  Developed as Glassfish incubator project17 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  17. 17. DaliCore – CMS  More than a CMS → DaliCore  Adds functionality common to users, content and permissions on top of Java EE 6.  Focus on Users and Permissions.  In about every project that uses DaliCore, users should be able to login with existing credentials (Facebook, Twitter, Google Connect,...)  Dali modules extend DaliCore
  18. 18. DaliCore – Connect public abstract class ExternalNetwork public abstract Response connect(String callback); public abstract ExternalToken callback(String requestToken, String verifier); public abstract OnlineAccount createOnlineAccount(ExternalToken accessToken) throws DaliCoreException;  ExternalNetwork class is extended by  FacebookExternalNetwork  TwitterExternalNetwork  GoogleExternalNetwork
  19. 19. DaliCore – Integrate  The User concept in DaliCore can have 0 or more instances of “OnlineAccount”  In projects created with DaliCore, the administrator/configurator decides what social networks are supported.  Users can access all functionality using their social network credentials.
  20. 20. Seam Social – a bootstrap for the API• A full CDI API to interact with Social Networks• Developed by Antoine Sabot-Durand (one of the proposed co- Spec Leads)• Independent of CDI implementation• A helper for: o Consuming REST services o Consuming OAuth 1 and 2 services o Identification via OAuth o JSON binding of Social Services API• Ready to adopt JSR 351, 353 and JSR 339 and maybe others• Will move to Apache Delta Spike initiative during 201221 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  21. 21. Twitter4J – History  Twitter4J is an unofficial Java library for the Twitter API. With Twitter4J, you can easily integrate your Java application with Twitter.  Its author, Yusuke Yamamoto now officially working at Twitter. Designated to represent Twitter in Social JSR EG. Agorava22 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  22. 22. Social Gagorava23 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  23. 23. Agoravian LIKE SOCI24 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  24. 24. Agorava – a kind of JCA for Social Media25 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  25. 25. Agorava Socializer26 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  26. 26. Agorava Socializer – Architecture Agorava Core API („Spec“) CDI Agorava Connectors Facebook Twitter,… Agorava Socializer JSF Web App „RI“27 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  27. 27. Mr. Agorava Birthday 18th May! FB: https://www.facebook.com/antoine.sabotdurand or @antoine_sd28 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  28. 28. Let’s SocializeDEMO
  29. 29. Q&AAGORAVA AGORA!
  30. 30. Contact Website: http://agorava.org GitHub: https://github.com/agorava Google Group: https://groups.google.com/forum/?hl=de&fromgroups#!forum/java- social Email: Java-social@catmedia.us Twitter: @Java_Social or @AgoravaProj
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×