SlideShare una empresa de Scribd logo
1 de 77
Descargar para leer sin conexión
Bastian Hofmann
ResearchGate GmbH

Crossing the boundaries of Web
Applications with OpenSocial
Questions? Ask!
http://slideshare.net/bashofmann
http://www.opensocial.org/
Foundation


http://www.opensocial.org/
A set of APIs to access the social graph of users
A specification for including 3rd party
applications (gadgets) into social services
CONTAINER    GADGET
meinvz.net   apivz.net
Rendering
Features
Container            Shindig
vz.net               apivz.net



               HTTP GET
   Gadget      apivz.net/gadgets/render?
   apivz.net   xml=....
Container           Shindig
vz.net              apivz.net



               HTML Page with OpenSocial
   Gadget      JavaScript API
   apivz.net
Container           Shindig
vz.net              apivz.net


               Ajax Requests to API
   Gadget
   apivz.net
Container
vz.net




   Gadget             Gadget Backend
               Ajax
   apivz.net          api.twitter.com
Same Origin Policy
Container
vz.net




   Gadget             Gadget Backend
               Ajax
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax



   Gadget             Gadget Backend
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax
                                  HTTP

   Gadget             Gadget Backend
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax
                                  HTTP
                                  Owner ID
                                  Viewer ID
   Gadget
                                  OAuth Signature
   apivz.net
                       Gadget Backend
                       api.twitter.com
Shindig
apivz.net



            HTTP


 Gadget Backend
 api.twitter.com
Container
vz.net
   Not Allowed
    Gadget
    apivz.net
JavaScript RPC
Container          - window.postMessage
vz.net
       Message     - Iframes with relay files

    Gadget         - Flash bridge
    apivz.net
Views
CANVAS
PROFILE
POPUP
GROUP
EMBED
PREVIEW
Proxied Content
OpenSocial Templates

                       OAuth Proxy Requests
   OSAPI

           Embedded Experiences


        DataPipelining




       Let‘s start programming
https://github.com/bashofmann/statusnet_gadget_2nd
http://www.partuza.nl/
https://github.com/bashofmann/partuza
DEMO
var html="<ul>";
for (var i=0; i < viewers.length; i++) {
   html += "<li>" + viewers[i].displayName
+ "</li>";
}
html += "<ul>";
document.getElementById("div").innerHTML =
html;

             Where is the error?
Templates
DEMO
Authorization
Pre Registration of Client at
Twitter:
                                twitter.com
- Shared Consumer Key
- Shared Consumer Secret


  lanyrd.com
HTTP POST
   Connect with Twitter


lanyrd.com
twitter.com

   HTTP POST
   Connect with Twitter

                    HTTP GET
lanyrd.com          Consumer Key
                    Redirect URI
                    Signature (Consumer
                    Secret)
twitter.com

   HTTP POST
   Connect with Twitter


lanyrd.com
                          Request Token
                          Request Token Secret
HTTP Redirect
    http://twitter.com/authorize?
    requestToken=...&consumerKey=...


lanyrd.com
HTTP GET


      twitter.com/
      authorize
Login


        twitter.com/
        authorize
Grant permission


        twitter.com/
        authorize

        Create verifier
        and bind it to
        User and Request
        Token
HTTP Redirect
Redirect URI?verifier=...




             twitter.com/
             authorize
HTTP GET


 lanyrd.com
(RedirectURI?
 verifier=...)
twitter.com

    HTTP GET

               HTTP GET
lanyrd.com     Consumer Key
               Verifier
               Signature (Consumer &
               Request Token Secret)
twitter.com

    HTTP GET


lanyrd.com
               Access Token
               Access Token Secret
twitter.com

    HTTP GET


lanyrd.com
               API Request
               Consumer Key
               Signature (Consumer &
               Access Token Secret)
DEMO
Embedded Experience
From: notifications@socialnetwork.com
To: johndoe@example.com
Subject: Social Network: Mary Has Commented On Your Status
MIME-Version: 1.0
Content-Type: multipart/alternative;
        boundary="XXXXboundary text"

--XXXXboundary text
Content-Type: text/html

<html>
<!-- HTML representation here -->
</html>

--XXXXboundary text
Content-Type: application/embed+json
{
  "gadget" : "http://www.socialnetwork.com/embedded/
commentgadget.xml",
  "context" : 123
}
DEMO
Documentation

                    http://docs.opensocial.org
   http://developer.studivz.net/wiki/index.php/
           Gadgets_Technical_Documentation
Rate and Comment




  http://spkr8.com/t/8739
h"p://twi"er.com/Bas2anHofmann
h"ps://profiles.google.com/bashofmann
h"p://lanyrd.com/people/Bas2anHofmann/
h"p://slideshare.net/bashofmann

mail@bas2anhofmann.de

Más contenido relacionado

La actualidad más candente

La actualidad más candente (6)

Beginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentBeginning WordPress Plugin Development
Beginning WordPress Plugin Development
 
Let's Build a Chatbot
Let's Build a ChatbotLet's Build a Chatbot
Let's Build a Chatbot
 
Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015
 
Your WordPress Site is and is not Hacked - You don't know until you check
Your WordPress Site is and is not Hacked - You don't know until you checkYour WordPress Site is and is not Hacked - You don't know until you check
Your WordPress Site is and is not Hacked - You don't know until you check
 
Your WordPress Website Is/Not Hacked
Your WordPress Website Is/Not HackedYour WordPress Website Is/Not Hacked
Your WordPress Website Is/Not Hacked
 
Really Awesome WordPress Plugins You Should Know About
Really Awesome WordPress Plugins You Should Know AboutReally Awesome WordPress Plugins You Should Know About
Really Awesome WordPress Plugins You Should Know About
 

Destacado

Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
Bastian Hofmann
 
Arthur Edward Associates CV Advice
Arthur Edward Associates CV AdviceArthur Edward Associates CV Advice
Arthur Edward Associates CV Advice
KGS Global
 
Lab 2) develop a java application
Lab 2) develop a java applicationLab 2) develop a java application
Lab 2) develop a java application
techbed
 

Destacado (8)

Startups, Tech and Rock 'n' Roll
Startups, Tech and Rock 'n' Roll Startups, Tech and Rock 'n' Roll
Startups, Tech and Rock 'n' Roll
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
 
Arthur Edward Associates CV Advice
Arthur Edward Associates CV AdviceArthur Edward Associates CV Advice
Arthur Edward Associates CV Advice
 
Integrated Marketing for Start-ups and Small Businesses
Integrated Marketing for Start-ups and Small BusinessesIntegrated Marketing for Start-ups and Small Businesses
Integrated Marketing for Start-ups and Small Businesses
 
On the implementation of the "UNICEF Guidelines for the Protection of the Rig...
On the implementation of the "UNICEF Guidelines for the Protection of the Rig...On the implementation of the "UNICEF Guidelines for the Protection of the Rig...
On the implementation of the "UNICEF Guidelines for the Protection of the Rig...
 
Sebastien Gourdon, Open Innovation Director, SpecialChem
Sebastien Gourdon, Open Innovation Director, SpecialChemSebastien Gourdon, Open Innovation Director, SpecialChem
Sebastien Gourdon, Open Innovation Director, SpecialChem
 
Patrick Ternier, CEO, Innovation Framework Technologies
Patrick Ternier, CEO, Innovation Framework TechnologiesPatrick Ternier, CEO, Innovation Framework Technologies
Patrick Ternier, CEO, Innovation Framework Technologies
 
Lab 2) develop a java application
Lab 2) develop a java applicationLab 2) develop a java application
Lab 2) develop a java application
 

Similar a Crossing the Boundaries of Web Applications with OpenSocial

The Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve itThe Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve it
Bastian Hofmann
 

Similar a Crossing the Boundaries of Web Applications with OpenSocial (20)

How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutesHow to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
 
The Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve itThe Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve it
 
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution! IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
 
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs – Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
 
From ZERO to REST in an hour
From ZERO to REST in an hour From ZERO to REST in an hour
From ZERO to REST in an hour
 
Creating social games for millions of users
Creating social games for millions of usersCreating social games for millions of users
Creating social games for millions of users
 
Integrating WordPress With Web APIs
Integrating WordPress With Web APIsIntegrating WordPress With Web APIs
Integrating WordPress With Web APIs
 
Centralise legacy auth at the ingress gateway, SREday
Centralise legacy auth at the ingress gateway, SREdayCentralise legacy auth at the ingress gateway, SREday
Centralise legacy auth at the ingress gateway, SREday
 
Centralise legacy auth at the ingress gateway
Centralise legacy auth at the ingress gatewayCentralise legacy auth at the ingress gateway
Centralise legacy auth at the ingress gateway
 
API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
OAuth and OEmbed
OAuth and OEmbedOAuth and OEmbed
OAuth and OEmbed
 
Adding identity management and access control to your app
Adding identity management and access control to your appAdding identity management and access control to your app
Adding identity management and access control to your app
 
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
 
Adding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your AppAdding Identity Management and Access Control to your App
Adding Identity Management and Access Control to your App
 
Api security with OAuth
Api security with OAuthApi security with OAuth
Api security with OAuth
 
Implementing OAuth
Implementing OAuthImplementing OAuth
Implementing OAuth
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
Stateless authentication for microservices - Spring I/O 2015
Stateless authentication for microservices  - Spring I/O 2015Stateless authentication for microservices  - Spring I/O 2015
Stateless authentication for microservices - Spring I/O 2015
 
FIWARE ID Management
FIWARE ID ManagementFIWARE ID Management
FIWARE ID Management
 

Más de Bastian Hofmann

Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
Bastian Hofmann
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
Bastian Hofmann
 
Advanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsAdvanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial Apps
Bastian Hofmann
 
Creating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of usersCreating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of users
Bastian Hofmann
 
How to make your social games successfull
How to make your social games successfullHow to make your social games successfull
How to make your social games successfull
Bastian Hofmann
 

Más de Bastian Hofmann (19)

Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web Apps
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
How to create social apps for millions of users
How to create social apps for millions of users How to create social apps for millions of users
How to create social apps for millions of users
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, Future
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
 
Advanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsAdvanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial Apps
 
Creating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of usersCreating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of users
 
How to make your social games successfull
How to make your social games successfullHow to make your social games successfull
How to make your social games successfull
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
 
OpenSocial in der Praxis
OpenSocial in der PraxisOpenSocial in der Praxis
OpenSocial in der Praxis
 
OpenSocial Done Right
OpenSocial Done RightOpenSocial Done Right
OpenSocial Done Right
 
Social apps done right
Social apps done rightSocial apps done right
Social apps done right
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Crossing the Boundaries of Web Applications with OpenSocial