java api für social media
DESCRIPTION
Eine Java API zum Zugriff auf Soziale Netzwerke, sowohl Öffentlich (Facebook, Twitter, Google+, LinkedIn, Xing, Yammer,...) als auch im Unternehmen bzw. der Institution (Schule, Universität, Krankenhaus,...) Eine weitere Zielsetzung ist die Unterstützung Sozialer Funktionen für Webanwendungen, die in Java geschrieben wurden bzw. auf einer JVM laufen.TRANSCRIPT
![Page 1: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/1.jpg)
Java API für Social Media Social Media Week HamburgMobile Monday @ Mobile World Congress
Werner Keil
Antoine Sabot-Durand
Hamburg, Deutschland
13 / 02 / 12
![Page 2: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/2.jpg)
EINHEITLICHES JAVA API FÜR SOZIALER NETZWERKE
Zielsetzung
2 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 3: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/3.jpg)
Proliferation
3 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 4: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/4.jpg)
Proliferation of Social Media
4 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 5: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/5.jpg)
Social Gaga
5 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 6: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/6.jpg)
IN MEMORIAMWhitney Houston
9. August, 1963 –11. Februar, 2012
6 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 7: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/7.jpg)
• Open source implementation of OpenSocial & Gadgets specification
• An Apache Software project• Available in Java & PHP• http://shindig.apache.org
It’s Goal: “Shindig's goal was to allow new sites to start hosting social apps in under an hour's worth of work"
Apache Shindig
7 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 8: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/8.jpg)
• Become an OpenSocial Containero 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” OpenSocialimplementation has shifted – from Shindig to Google Code
8 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
OpenSocial Container
![Page 9: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/9.jpg)
What Is a Gadget?
Simple gadgets for getting a Grid proxy credential and running remote commands. Both run on my own Web server.
9 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 10: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/10.jpg)
• REST API for Person and Contacts• Open source implementation
• Compatible with OpenSocial• http://portablecontacts.net
Portable Contacts
10 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 11: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/11.jpg)
Sun Microsystems• Socialsite: Shindig + gadget based UI written in Java• Open Source https://socialsite.dev.java.net/
11 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
SocialSite – Sun’s approach to Social
![Page 12: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/12.jpg)
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
12 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
If it’s SQL like, could we use something like JPA around it?
![Page 13: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/13.jpg)
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 serviceso Consuming OAuth 1 and 2 serviceso Identification via OAutho JSON binding of Social Services API
• Ready to adopt JSR 351, 353 and JSR 339• Will move to Apache Delta Spike initiative during 2012
13 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 14: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/14.jpg)
Java Social – a kind of JCA for Social
14 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 15: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/15.jpg)
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 project
15 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 16: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/16.jpg)
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
![Page 17: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/17.jpg)
DaliCore – Connect
ExternalNetwork class is extended by FacebookExternalNetwork TwitterExternalNetwork GoogleExternalNetwork
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;
![Page 18: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/18.jpg)
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.
![Page 19: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/19.jpg)
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.
19 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
![Page 20: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/20.jpg)
Q & ALet‘s Socialize
![Page 21: Java API für Social Media](https://reader035.vdokument.com/reader035/viewer/2022081506/5583f3b9d8b42a66288b4ede/html5/thumbnails/21.jpg)
Kontaktinfos
Website: http://java-social.java.net
GitHub: https://github.com/java-social
Google Group: https://groups.google.com/forum/?hl=de&fromgroups#!forum/java-social
Email: [email protected]
Twitter: @Java_Social bzw. @wernerkeil