SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Social networks
                               OpenSocial



Pham Quoc Thinh

Project Manager
SETA:CINQ Vietnam
(thinhpq6034 at setacinq.vn)
Agenda
• Social Networks Overview
• OpenSocial Introduction
• Mixi Platform
Top 10 famous Social Networks
Agenda
• Social Networks Overview
• OpenSocial Introduction
• Mixi Platform
What is OpenSocial?
History
• 5 Corporate Board Members
  – Google, IBM, Jive Software, MySpace, Yahoo!
• First released November 1, 2007, is Google’s
  response to Facebook Developer Platform
• Version 0.8 was released on May 28, 2008
• Version 0.9 was released on April 16, 2009
• Version 1.0 was released on March 15, 2010
Basic Architecture




1. Client requests an application view
2. The container sends social data to the remote server
3. The remote server combines social and application data,
   returning HTML and JavaScript
4. The container sends the content to the client
OpenSocial Core Services
OpenSocial Client APIs
Building JavaScript Applications
JavaScript App Example
• Gadget XML
                     <?xml version="1.0" encoding="UTF-8" ?>
                     <Module>
                      <ModulePrefs title="my first app">
                       <Require feature="opensocial-0.8" />
                      </ModulePrefs>
                      <Content type="html">
   HTML/               <![CDATA[
   JavaScript code      Hello world, this is my first app.
   goes here           ]]>
                      </Content>
                     </Module>
Example to show the owner’s friends
RESTful API
• The base URI for the web service, such as
  http://example.com/resources/
• Data format: JSON, XML, Atom or YAML
• The set of operations supported by the web
  service using HTTP methods (e.g., POST, GET,
  PUT or DELETE).
Access People information
Access Activities information
Access Persistent data
Additional query parameters
Use RESTful API to access protected resource
     of other users – How to manage?
OAuth




• What is it?
• OAuth flow (2-legged & 3-legged)
• Consumer Key & Consumer Secret
What is OAuth?
• Security protocol that allows to share private
  data hosted on x web site with y web site
Terminologies
• Consumer
   Application trying to access protected resource
• Service Provider
   Website or web-service hosting protected resource
• User
   Owner of the protected data
• Protected Resource
   Images, Videos or documents hosted on web site or web-service which are
   protected by the user
• Tokens
   Random string of letters and numbers which is unique. Request Token,
   Access Token
• Scope
   Set of data hosted on service provider that user wants to share with consumer
OAuth context




Jane
OAuth 2-legged & 3-legged
Consumer Key & Consumer Secret




Key: Identify consumer
Secret: Verify consumer signature
OAuth REST Example URL
http://sandbox.orkut.com/social/rest/people/08354253340777199997/@self
?oauth_consumer_key=orkut.com%3A623061448914
&oauth_timestamp=1231537930
&oauth_signature=0h%2FU49KtBplnmnc%2BhDKsDxFPR9%3D
&oauth_signature_method=HMAC-SHA1
&oauth_token=
&xoauth_requestor_id=03067092798963641994&oauth_version=2.0

 POST
/users/28568917/status?oauth_consumer_key=77f44916a5144c97ad1ddc9ec53338cc&oauth_no
nce=8783759987300271273&oauth_signature_method=HMAC-
SHA1&oauth_timestamp=1237853013&oauth_token=8QLGnqFugwmCbIz6pcFbNEMPkG%252FCs
Zrg4fdqIzXpj88FsZaysd7wJ4eBonbvpAG7MOCFhzDjcM1yp6wvO%252BRaeyruy95QdfpFIHQaHvHL
7ak%253D&oauth_version=1.0&oauth_signature=TvlXbt%2FNS0U7SrtUvUfu%2BfJ3kyo%3D
HTTP/1.1
X-HTTP-Method-Override: PUT
User-Agent: Java/1.6.0_12
Host: api.myspace.com
…

status=Hello%20World!
Agenda
• Social Networks Overview
• OpenSocial Introduction
• Mixi Platform
What is mixi?




1st SNS in Japan              20M registered users
5.4M active users/day         275M PV/month (Mobile: 225M, PC: 50M)
Mixi Platform
                •   OpenSocial 0.8
                •   OAuth 2-legged
Mixi Applications
Process flow
PC App
Mobile App
Mobile App (Cont.)
Both PC and Mobile App
Mixi App API
Mixi custom API
• Invite friends
  invite:friends?callback=[escaped URL]
  HTML: <a href="invite:friends?callback=http%3A%2F%2Fexample.com%2Ffoo%2F">Invite</a>

• Get location
  location:gps?url=[escaped URL]
  <a href="location:gps?url=http%3A%2F%2Fexample.com%2Ffoo%2F">Get location</a>

• Send message
  send:message?callback=[escaped URL]
  <form action=“send:message?callback=[URL]&guid=ON" method="POST" >
  <input type="text" name="recipients" value="[Member ID]" />
  <input type="text" name="title" value="[Title]" />
  <input type="text" name="body" value=“[Content]" />
  <input type="submit" value=“Send" />
  </form>
Agenda
• Social Networks Overview
• OpenSocial Introduction
• Mixi Platform
Summarized keywords
•   OpenSocial
•   Gadget XML
•   Javascript API
•   RESTful API
•   Object models (People, Activities, Persitent…)
•   OAuth (2 legged, 3 legged)
•   Mixi (Mobile app, Custom APIs)
Q&A

Más contenido relacionado

Similar a OpenSocial and Mixi platform

how to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pageshow to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pagesFrank van der Linden
 
OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenIDFoundation
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijkkirstenveelo
 
POST/CON 2019 Workshop: Fundamentals
POST/CON 2019 Workshop: FundamentalsPOST/CON 2019 Workshop: Fundamentals
POST/CON 2019 Workshop: FundamentalsPostman
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
Buiding application for social networks
Buiding application for social networksBuiding application for social networks
Buiding application for social networksĐỗ Duy Trung
 
UserCentric Identity based Service Invocation
UserCentric Identity based Service InvocationUserCentric Identity based Service Invocation
UserCentric Identity based Service Invocationguestd5dde6
 
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)Sam Bowne
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java ProgrammingChris Schalk
 
Oauth Behind The Scenes
Oauth Behind The Scenes Oauth Behind The Scenes
Oauth Behind The Scenes Thang Tran Duc
 
Module 1-Application Layer
Module 1-Application Layer Module 1-Application Layer
Module 1-Application Layer Gururaj H L
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus SystemMatthew Hanlon
 
Using Google App Engine Python
Using Google App Engine PythonUsing Google App Engine Python
Using Google App Engine PythonAkshay Mathur
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Social Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersSocial Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersPaul J. Swider
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 

Similar a OpenSocial and Mixi platform (20)

how to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pageshow to connect your app to the activity stream with x-pages
how to connect your app to the activity stream with x-pages
 
OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018OpenID Connect "101" Introduction -- October 23, 2018
OpenID Connect "101" Introduction -- October 23, 2018
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijk
 
POST/CON 2019 Workshop: Fundamentals
POST/CON 2019 Workshop: FundamentalsPOST/CON 2019 Workshop: Fundamentals
POST/CON 2019 Workshop: Fundamentals
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Buiding application for social networks
Buiding application for social networksBuiding application for social networks
Buiding application for social networks
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 
UserCentric Identity based Service Invocation
UserCentric Identity based Service InvocationUserCentric Identity based Service Invocation
UserCentric Identity based Service Invocation
 
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java Programming
 
Oauth Behind The Scenes
Oauth Behind The Scenes Oauth Behind The Scenes
Oauth Behind The Scenes
 
OpenID and OAuth
OpenID and OAuthOpenID and OAuth
OpenID and OAuth
 
Module 1
Module 1Module 1
Module 1
 
Module 1-Application Layer
Module 1-Application Layer Module 1-Application Layer
Module 1-Application Layer
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus System
 
Using Google App Engine Python
Using Google App Engine PythonUsing Google App Engine Python
Using Google App Engine Python
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Social Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for DevelopersSocial Architecture of SharePoint 2013 for Developers
Social Architecture of SharePoint 2013 for Developers
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 

OpenSocial and Mixi platform

  • 1. Social networks OpenSocial Pham Quoc Thinh Project Manager SETA:CINQ Vietnam (thinhpq6034 at setacinq.vn)
  • 2. Agenda • Social Networks Overview • OpenSocial Introduction • Mixi Platform
  • 3.
  • 4.
  • 5. Top 10 famous Social Networks
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Agenda • Social Networks Overview • OpenSocial Introduction • Mixi Platform
  • 12.
  • 13.
  • 14. History • 5 Corporate Board Members – Google, IBM, Jive Software, MySpace, Yahoo! • First released November 1, 2007, is Google’s response to Facebook Developer Platform • Version 0.8 was released on May 28, 2008 • Version 0.9 was released on April 16, 2009 • Version 1.0 was released on March 15, 2010
  • 15. Basic Architecture 1. Client requests an application view 2. The container sends social data to the remote server 3. The remote server combines social and application data, returning HTML and JavaScript 4. The container sends the content to the client
  • 19. JavaScript App Example • Gadget XML <?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="my first app"> <Require feature="opensocial-0.8" /> </ModulePrefs> <Content type="html"> HTML/ <![CDATA[ JavaScript code Hello world, this is my first app. goes here ]]> </Content> </Module>
  • 20. Example to show the owner’s friends
  • 21. RESTful API • The base URI for the web service, such as http://example.com/resources/ • Data format: JSON, XML, Atom or YAML • The set of operations supported by the web service using HTTP methods (e.g., POST, GET, PUT or DELETE).
  • 26. Use RESTful API to access protected resource of other users – How to manage?
  • 27. OAuth • What is it? • OAuth flow (2-legged & 3-legged) • Consumer Key & Consumer Secret
  • 28. What is OAuth? • Security protocol that allows to share private data hosted on x web site with y web site
  • 29. Terminologies • Consumer Application trying to access protected resource • Service Provider Website or web-service hosting protected resource • User Owner of the protected data • Protected Resource Images, Videos or documents hosted on web site or web-service which are protected by the user • Tokens Random string of letters and numbers which is unique. Request Token, Access Token • Scope Set of data hosted on service provider that user wants to share with consumer
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. OAuth 2-legged & 3-legged
  • 41. Consumer Key & Consumer Secret Key: Identify consumer Secret: Verify consumer signature
  • 42. OAuth REST Example URL http://sandbox.orkut.com/social/rest/people/08354253340777199997/@self ?oauth_consumer_key=orkut.com%3A623061448914 &oauth_timestamp=1231537930 &oauth_signature=0h%2FU49KtBplnmnc%2BhDKsDxFPR9%3D &oauth_signature_method=HMAC-SHA1 &oauth_token= &xoauth_requestor_id=03067092798963641994&oauth_version=2.0 POST /users/28568917/status?oauth_consumer_key=77f44916a5144c97ad1ddc9ec53338cc&oauth_no nce=8783759987300271273&oauth_signature_method=HMAC- SHA1&oauth_timestamp=1237853013&oauth_token=8QLGnqFugwmCbIz6pcFbNEMPkG%252FCs Zrg4fdqIzXpj88FsZaysd7wJ4eBonbvpAG7MOCFhzDjcM1yp6wvO%252BRaeyruy95QdfpFIHQaHvHL 7ak%253D&oauth_version=1.0&oauth_signature=TvlXbt%2FNS0U7SrtUvUfu%2BfJ3kyo%3D HTTP/1.1 X-HTTP-Method-Override: PUT User-Agent: Java/1.6.0_12 Host: api.myspace.com … status=Hello%20World!
  • 43. Agenda • Social Networks Overview • OpenSocial Introduction • Mixi Platform
  • 44. What is mixi? 1st SNS in Japan 20M registered users 5.4M active users/day 275M PV/month (Mobile: 225M, PC: 50M)
  • 45. Mixi Platform • OpenSocial 0.8 • OAuth 2-legged
  • 51. Both PC and Mobile App
  • 53. Mixi custom API • Invite friends invite:friends?callback=[escaped URL] HTML: <a href="invite:friends?callback=http%3A%2F%2Fexample.com%2Ffoo%2F">Invite</a> • Get location location:gps?url=[escaped URL] <a href="location:gps?url=http%3A%2F%2Fexample.com%2Ffoo%2F">Get location</a> • Send message send:message?callback=[escaped URL] <form action=“send:message?callback=[URL]&guid=ON" method="POST" > <input type="text" name="recipients" value="[Member ID]" /> <input type="text" name="title" value="[Title]" /> <input type="text" name="body" value=“[Content]" /> <input type="submit" value=“Send" /> </form>
  • 54. Agenda • Social Networks Overview • OpenSocial Introduction • Mixi Platform
  • 55. Summarized keywords • OpenSocial • Gadget XML • Javascript API • RESTful API • Object models (People, Activities, Persitent…) • OAuth (2 legged, 3 legged) • Mixi (Mobile app, Custom APIs)
  • 56. Q&A