The document provides an overview of social media programming and technologies. It discusses key APIs and frameworks for interfacing with popular social media like Facebook, Twitter, Google+, and standards like OAuth, OpenID, REST, and JSON. It also covers technologies for processing large social media data using databases like CouchDB, MongoDB, Cassandra, HBase, and frameworks for building distributed applications on Hadoop. Finally, it requests feedback and offers to share more details on social media and recommendation products and services.
1 of 35
Download to read offline
More Related Content
Social mediaprogramming part2-java-jax-london
1. Social Media Programming
Khanderao Kand
CTO
GloMantra Inc
mybantu virtual personalized Assistance
@khanderao
Nov 2, 2011 at JAX Conference, London
2. Khanderao Kand
CTO of Glomantra and myBantu in Silicon Valley, CA, USA
AI based Relevance platform / recommendation technology with Social
Intelligence
Projects on Big Data, Computing, Machine Learning, Text Analytics, SOA, User
Interest profiling, Yield Optimization
BIO:
20 years in Industry (currently AI, SOA, Social, Mobile and Cloud Technologies)
Lead Oracles SOA and BPM Architecture
Chief Consulting Architect for SOA and BPM to 50+ architects & hundreds of
developers of Oracles next Generation Fusion Apps
Lead Architect of Peopletools
Architect in CRM, Online Dialog Marketing, OLAP Hyperion
Participated in Standards of BPEL and SCA at OASIS
9 Patents filled
Frequent Speaker in conferences
Authored articles in JDJ, WSJ, Cloud Computing
3. Agenda
APIs, Frameworks and Tools for Social Computing:
Key Technologies, APIs Interfacing with Popular Social
media
Storage
Social Media Data Processing
5. OAuth
OAuth is open standard for Authorizing Access (typically data access / actions)
Oauth hands over access token and not user credentials
Oauth is essential to developing social-ready applications
OAuth protocol (Dance) involves series of 3 party (consumer browser, Service provider
Social media Site and App).
OAuth, including Twitter, Facebook, LinkedIn, TripIt, and Foursquare, as well as the Google
and Yahoo APIs.
Different SM supports either Oauth 1.0 and Oauth 2.0
Visit : http://oauth.net
APIs: Jersery (JAX-RS), Spring Security API, Googlecode,
7. Open ID
Open ID is open source standard for multi-site authentication
OpenId is for authentication as against Oauth
No need of adhoc and site specific authentication
Oauth and OpenID can coexist
Open ID providers : think of Google login
Providers pass ID attributes to the relying party (app)
However, Oauth is more popular and common in Social Media
interfaces
Visit http://www.openid.org
Java API: openid4java, GAE supports,
8. REST
Representational State Transfer (Roy Fieldings paper for
Architectural Style over HTTP)
Basic GET, PUT, POST, DELETE operations on a resource
Internet world REST is currently winning
Google, Yahoo, Facebook, etc etc.
Java: Jersey (JAX-RS), Restlet, RestFul Services, JAX-WS
9. JSON
Javascript Simple Object Notation as lightweight data
interchange format
Lighter than XML
Can be manipulated on browsers
No need for parsing into DOM
http://www.json.org
Java API: GSON, Jackson, JSONLib, FlexJSON
XML to/from JSON conversion: JSONLib
10. RSS
Really Simple Syndication (originally RDF Site Summary)
Started with news, site, blogs update
Simple and lightweight
Popular Readers: Google Reader, Feedly etc
Java API: ROME, Simple XML parsing
14. Facebook Search using Graph API
All public objects
https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE
All public posts:
https://graph.facebook.com/search?q=socialcommerce&type=post
People: https://graph.facebook.com/search?q=Khanderao&type=user
Pages: https://graph.facebook.com/search?q=glomantra&type=page
Events: https://graph.facebook.com/search?q=conference&type=event
Groups: https://graph.facebook.com/search?q=programming&type=group
Places:
https://graph.facebook.com/search?q=coffee&type=place¢er=37.76,122.42
7&distance=1000
Checkins: https://graph.facebook.com/search?type=checkin
15. Facebook: Publishing on Wall
HTTP Post
Access token
curl -F 'access_token=...'
https://graph.facebook.com/313449204401/likes
17. Twitter
Twitter is ranked as one of the ten-most-visited websites
worldwide by Alexa's web traffic analysis.
March 2010 10 billionth tweet
Twitter has a user retention rate of forty percent.
Value: Conversational 30%, Pointless Babble 30%, Promotion
8%, News 8%, news 7-8% and spam
Good source: news validation, trend, topic updates
18. Twitter Usage
"Twitter Revolutions" and which include the 2011 Egyptian
revolution, 20102011 Tunisian protests, 20092010 Iranian election
protests, and 2009 Moldova civil unrest
Twitter is also increasingly used for making TV more interactive and
social
Most of the celebrities are on Twitter
President Obama and many others effectively used Twitter for
campaigning
Twitter has become a great source for latest news
Twitter is an indicator for buzz around latest topics and trends
Brands are using twitters for promotions of products and spreading
deals
19. 3rd party Twitter Java APIs
Twitter4J : Open Source BSD
Java-Twitter
Jtwitter : Open Source
Twitter Client Streaming API
21. Twitter4J API
Twitter4J (third party open source)
Access token / consumer key in twitter.properties
Twitter twitter = new TwitterFactory().getInstance();
Query query = new Query(mybantu");
QueryResult result = twitter.search(query);
// uodate status
Status status = twitter.updateStatus(latestStatus);
22. Twitter Fire hose
GNIP 50% at approximately 360K per year
For analysis but not for resale or display tweets
Spritzer 2% random for free
23. Open Social Project
"For the question about Google plans to allow developers to
create Google+ apps deploying the OpenSocial APIs, a
spokeswoman of Google said that by means of email nowadays
the Google+ platform cant support the OpenSocial APIs.
She also added that nevertheless, they are utilizing many of the
technology which was designed as part of OpenSocial, along with
the gadget application packaging model, and power Google+
games and the Portable Contacts JSON schema. Because they
define the +Platform APIs, they are drawing close attention to the
future tendency of the OpenSocial APIs, as well as converging
everything possible."
25. Open Social
Great initiative with huge promise
A common open source API for social media launched in 2007
Early movers as open social containers: Google
Orkut, hi5, LinkedIn, MySpace, Netlog, Ning, orkut, and Yahoo!
Opensource OpenSocial Based container : Apache Shindig
Bummer
Except Facebook
Google+ is not yet committed to Open Social
26. Google Social Graph API
By supporting open Web standards
for describing connections between
people, web sites can add to the
social infrastructure of the web
The API returns web addresses of
public pages and publicly declared
connections between them.
Allows developers to create a button
for a Web site that would allow a
registered user to easily "add
friends.
index the public Web for Friends of A
Friend (FOAF) and Friends Network
27. Googles Public Social Graph
The Social Graph API looks for two
types of publicly declared
connections:
1. It looks for all public URLs that
belong to you and are
interconnected. This could be
your blog (a1), your LiveJournal
page (a2), and your Twitter
account (a3).
2. It looks for publicly declared
connections between people.
For example, a1 may link to b's
blog while a1 and c link to each
other.
28. Google+ API
https://developers.google.com/+/api/
Searching Public posts
GET
https://www.googleapis.com/plus/v1/activities?query=cookie%20recipes
&orderBy=best&key=[yourAPIKey]
People Search
GET
https://www.googleapis.com/plus/v1/people?query=Khanderao%20kand
&key=[yourAPIKey]
View People Interacting with Posts
GET
https://www.googleapis.com/plus/v1/activities/{activityId}/people/resha
rers?key=[yourAPIKey] GET
https://www.googleapis.com/plus/v1/activities/{activityId}/people/pluso
ners?key=[yourAPIKey]
29. Spring Social
Spring Social provides templates for
REST based API handling OAUth and
providing operations specific to Social Media
TwitterTemplate
FacebookTemplate
LinkedInTemplate
TripItTemplate
http://blog.springsource.com/2010/11/03/socializing-spring-
applications/
http://greenhouse.springsource.org
31. Social Media Data Often Needs
Different Type of Database
Social Media Contains: Huge Data, Often available via
JSON, XML , RSS
Requires different type of DBs.
Couch DB
MongoDB
Cassandra
Hbase
Neo4J
Hadoop for Big Data Processing
32. CouchDB MongoDB
Data Model Document Oriented Document Oriented
Data Format JSON BSON
Interface REST TCP/IP
Query MapReduce Java Script Jmap Reduce ava Script +
Query
Fault Tolerance Master Master Master Slave
Concurrency MVCC (Versioning) Updates in place
Performance Comparatively lower Higher
33. Dealing with Big Data
Cassandra HBase
Type Column DB Colletcion- column DB
Type Big Table Big Table
Protocol Binary (Thrift) Binary (Thrift) HTTP/REST
Map Reduce Via Hadoop Via Hadoop
34. Disclaimer and Request
1. The presentation though quotes examples of my Company and products, the presentation is based on my
knowledge and experience and my company is not liable.
2. Attributed to most of the known source, if any attribution is missing, it is not due to intention but might not have
got the information of the original source or might be be negligence in my due diligence. It can be corrected if you
contact
3. Feel free to share some / all content however please attribute to Khanderao Kand
4. Social Media Networks mentioned in the presentation are more foe example but the approach is applicable to most
of all other social media and there is no intention to promote / discourage any media
5. User usage data and financial numbers are dated and would be stale / outdated over a period of time. You may
need to look for the latest data.
6. APIs , tools and libraries are third party and not from me / my company. Though they are listed based on my
experience and knowledge, use them at your risk.
7. We have products in Social Commerce, Social CRM, and recommendation. We also take projects around the space
and can be done outsource / jointly if interested in.
Contact : khanderao.kand@glomantra.com or khanderao@yahoo.com Twitter @khanderao
For original 際際滷 deck (ppt) feel free to contact.