SlideShare a Scribd company logo
Introduction to Open Web Protocols (Open ID, OAuth, Atompub and OpenSocial) Mohanaraj Gopala Krishnan MSCOSCONF 2 June 2009 mohangk.org/blog @mohangk on twitter
Questions for you Experience using or developing any of the following services ? OpenID, Oauth, Atompub or OpenSocial ? Might not even know about it ? Under the hood technologies  User your Gmail / Yahoo password on more then one site ? Use a twitter client that makes you login via twitter website ? Blog using a client – e.g. Windows Live Writer Use any of Google APIs – Gmail, Youtube, Docs Use applications on Orkut, Friendster, MySpace or Ning ?
What do we mean by the Open Web ? http://www.flickr.com/photos/mag3737/1914076277
The open web is a set of philosophies Decentralization  - not owned by any one company  Transparency  - view the “source” Openness  - The protocols, docs, code or specification must be available without penalty of patents, copyright User choice   - As easy to leave as it was to join - take data and information with you 3rd Party Integration/Innovation  - hook into the system at all levels, innovate without asking permission Civil Society and Discourse  - many-to-many and one-to-many communication, allowing for millions of conversations
Not about technologies "...However,  if we define  the Open Web  in terms of these  technologies , then we  risk losing  sight of  what makes the web  special  and being able to have the intellectual nimbleness to  evolve the infrastructure of the web."  -Brad Neuberg, Dojo, Google Gears developer http://www.flickr.com/photos/uhop/2250235637 http://codinginparadise.org/weblog/2008/04/whats-open-web-and-why-is-it-important.html
Having said that, This is a talk about the web specifications that embody those philosophies Open Web technologies being developed on many fronts Client end  Browser  - Firefox – Gen Kanai's talks Server technologies Apache, PostgreSQL, Linux, BSD - tools that power the web, most mature Web specifications Driven from need for collaboration, but has value beyond it
What is OpenID ? OpenID is a specification that allows people to log into a web site using credentials provided by another web site. Distributed authentication
Key concepts User Identifier - unique identifier that will be reused at all sites  Identity provider  (OpenID Provider, IdP, Server) Relying party (Consumer)
As an end user You can reuse your username and password which sites that work as relaying parties (not all IPs are Rps – Facebook is the largest RP) Single place to maintain/update your identity Need to have an account with an identity provider
As a developer Exist mature libraries for many languages Build on the security expertise of others If you develop public websites OpenID as its gaining traction 500 million users, over 25,000 sites accept OpenID logins* Makes it easier for new users to join as they do not need to re-enter all information  If you develop internal websites Can use OpenID as a form of SSO for multiple internal application - looses out of the “distributed” nature however * http://www.janrain.com/openid
OpenID flow www.johnmerrells.com/.../05/openid-diagram-1.png
 
 
 
What is OAuth? A simple open standard for delegated Web API authorization Let other sites access your data without telling them your password
Valet key for your web http://toyotaownersclub.com/forums/index.php?showtopic=77384
Key concepts End Users Share information between online services without disclosing passwords Web service (Service providers) Allow for secure access to your API in a user controlled, secure manner 3rd Party application (Consumers) A standard authorization scheme for the web
VS
http://www.flickr.com/photos/leelefever/133949029/
OpenID vs OAuth Goals are different  OpenID is about sharing a single identity with different consumers OAuth is about sharing your data with different consumers without sharing your identity Not mutually exclusive
Love triangle End user Service  provider Consumer
http://www.flickr.com/photos/factoryjoe/2658493767/
http://www.flickr.com/photos/factoryjoe/2659323294/
http://www.flickr.com/photos/factoryjoe/2659323294/
http://www.flickr.com/photos/factoryjoe/2658497753/
As an end user, why bother? Never give your passwords to 3 rd  party websites Even if not malicious, what if compromised ?
WTF ?!
“ Passwords are not confetti.  Please stop throwing them around. Especially if they’re  not yours ” Chris Messina  http://www.slideshare.net/carsonified/how-oauth-and-portable-data-can-revolutionize-your-web-app-chris-messina-presentation/
As a developer, why bother? Large adoption - Goog, Y!, MySpace Interop - Leverage the services  Can be used as a replacement for HTTP basic auth  SSL might not be always necessary Part of the Open web stack Atompub + OpenID + OAuth + XRDS +OpenSocial
What is the Atom publication protocol (Atompub) ? A manner of  updating Atom feed information on a server from a client  The feed format is Atom Syndication format - RFC 4287 Atom publication protocol – RFC 5023
Key concepts Is a RESTful HTTP protocol – uses HTTP “correctly” Consists of  Entry – basic unit of content Feed – a collection of entries
Allows for data beyond HTML The atom:content element allows for storing of more data then just HTML  Being used as a way to expose data on the web Google has extended Atompub and the Atom syndication format to expose their applications data online
Microsoft as well has used it as the basis of the Live web services http://dev.live.com/blogs/devlive/archive/2008/02/27/213.aspx
Example
 
As a developer, why bother ? If you're building apps More web APIs are being exposed as an extension to Atompub or being built in a RESTful manner If you're exposing your building a web service/API Building your Web API on top of Atompub will ensure that it benefits from all the RESTful principles  Allows your users to leverage existing tooling and know how in accessing Atompub or RESTful web services
OpenSocial A set of open, standard APIs for building social applications Widget/ Portal based Front ends are  implemented in Javascript, HTML, CSS. Uses Javascript to query backends. Backends expose RESTful web APIs  to query backends that return data either  as JSON or Atom feeds. Leverages OAuth for security
Examples http://www.flickr.com/photos/29501676@N00/1826112130/
http://apps.myspace.com ~ 1000+ apps
iGoogle – a non social site OpenSocial container
Google Friend Connect – A hosted OpenSocial solution
Applications  available as part of Google Friend  connect
Deals with proliferation of online social sites http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5
http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5
http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5
Key concepts Platforms that can run the OpenSocial widgets are called “containers” The containers expose a standard set of underlying data APIs People & Friends  Access friends information programmatically  Activities  See what you’re friends are up to  Share what you are doing  Persistence  Provide state without a server  Share data with your friends
http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5 Javascript front end querying the data apis
http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5 Javascript front end accessing data from outside OpenSocial container
As a developer, why bother ? If you're building apps for social networks Huge deployment 375,000,000 users  , 4,500+ apps, pipeline of 100+ containers world wide http://widgetsummit.com/media/slides/opensocial.pd f -  Chris Schalk, Google Developer Advocate   Paul Lindner, Engineering Manager, hi5
If you're building a web app Provide social features in your software Automatically get access to all these potential gadgets Even companies like SAP and Oracle are looking at ways to integrate social type features into their application http://www.sapweb20.com/blog/2009/05/sap-and-open-social-at-the-google-io-developer-conference/
Leverage existing implementations Apache shindig   http://incubator.apache.org/shindig/  Being used by HI5  Glassfish socialsite   https://socialsite.dev.java.net/http://incubator.apache.org/
Summary  The technologies are being built on top of each other – Open Web stack – many more interesting open web specs being developed http://developer.yahoo.net/blog/archives/2008/12/the_open_stack.html
Great engineering work, learnings applicable outside of original use cases Community driven specifications work All the engineering happens on mailing lists, forums, wikis – anybody can participate, meritocratic Don't necessarily need to roll your own – lookout for existing open specs – participate If there is really a need – suggest to existing groups and get feedback
Thank you!
Ad

Recommended

Social mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-london
Khanderao Kand
 
Ways to learn
Ways to learn
moulansuri
 
GSP East 2008: Open Social: Open For Business
GSP East 2008: Open Social: Open For Business
Patrick Chanezon
 
Web 2.0: The Potential Of RSS and Location Based Services
Web 2.0: The Potential Of RSS and Location Based Services
lisbk
 
1st OPENi Hackathon
1st OPENi Hackathon
openi_ict
 
Contributing to the AtoM documentation
Contributing to the AtoM documentation
Artefactual Systems - AtoM
 
React HOCs, Context and Observables
React HOCs, Context and Observables
Trayan Iliev
 
Native is easy. Mobile web is freaking hard.
Native is easy. Mobile web is freaking hard.
Jason Grigsby
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
Introducing Access to Memory
Introducing Access to Memory
Artefactual Systems - AtoM
 
Intro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras
 
July LotusTechInfo Community Meeting
July LotusTechInfo Community Meeting
Joyce Davis
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
Patrick Chanezon
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and future
Artefactual Systems - AtoM
 
Training report on web developing
Training report on web developing
Jawhar Ali
 
Java API für Social Media
Java API für Social Media
Werner Keil
 
Web2learn handbook
Web2learn handbook
Onno Hansen-Staszyński
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Wonsuk Lee
 
What's New on the Facebook Platform, March 2012
What's New on the Facebook Platform, March 2012
Iskandar Najmuddin
 
drustack a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
Wong Hoi Sing Edison
 
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Craig Randall
 
What's New on the Facebook Platform, January 2012
What's New on the Facebook Platform, January 2012
Iskandar Najmuddin
 
Web 2.0
Web 2.0
sudharsan
 
The Open Web
The Open Web
Lachlan Hardy
 
The Open Web
The Open Web
Lachlan Hardy
 
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Patrick Chanezon
 
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
David Recordon
 
A Social Web Intro at the Internet Identity Workshop
A Social Web Intro at the Internet Identity Workshop
David Recordon
 
The Open Web
The Open Web
Lachlan Hardy
 
moscow_developer_day
moscow_developer_day
xlight
 

More Related Content

What's hot (15)

Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
Introducing Access to Memory
Introducing Access to Memory
Artefactual Systems - AtoM
 
Intro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras
 
July LotusTechInfo Community Meeting
July LotusTechInfo Community Meeting
Joyce Davis
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
Patrick Chanezon
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and future
Artefactual Systems - AtoM
 
Training report on web developing
Training report on web developing
Jawhar Ali
 
Java API für Social Media
Java API für Social Media
Werner Keil
 
Web2learn handbook
Web2learn handbook
Onno Hansen-Staszyński
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Wonsuk Lee
 
What's New on the Facebook Platform, March 2012
What's New on the Facebook Platform, March 2012
Iskandar Najmuddin
 
drustack a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
Wong Hoi Sing Edison
 
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Craig Randall
 
What's New on the Facebook Platform, January 2012
What's New on the Facebook Platform, January 2012
Iskandar Najmuddin
 
Web 2.0
Web 2.0
sudharsan
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
Intro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras
 
July LotusTechInfo Community Meeting
July LotusTechInfo Community Meeting
Joyce Davis
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
Patrick Chanezon
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and future
Artefactual Systems - AtoM
 
Training report on web developing
Training report on web developing
Jawhar Ali
 
Java API für Social Media
Java API für Social Media
Werner Keil
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Wonsuk Lee
 
What's New on the Facebook Platform, March 2012
What's New on the Facebook Platform, March 2012
Iskandar Najmuddin
 
drustack a mobile-friendly web content management system (cms)
drustack a mobile-friendly web content management system (cms)
Wong Hoi Sing Edison
 
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
Craig Randall
 
What's New on the Facebook Platform, January 2012
What's New on the Facebook Platform, January 2012
Iskandar Najmuddin
 

Similar to Introduction To Open Web Protocols (20)

The Open Web
The Open Web
Lachlan Hardy
 
The Open Web
The Open Web
Lachlan Hardy
 
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Patrick Chanezon
 
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
David Recordon
 
A Social Web Intro at the Internet Identity Workshop
A Social Web Intro at the Internet Identity Workshop
David Recordon
 
The Open Web
The Open Web
Lachlan Hardy
 
moscow_developer_day
moscow_developer_day
xlight
 
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
Grégory Engels
 
Open Social Summit Korea Overview
Open Social Summit Korea Overview
Chris Schalk
 
Open social & cmis oasistc-20100712
Open social & cmis oasistc-20100712
weitzelm
 
Buiding application for social networks
Buiding application for social networks
Đỗ Duy Trung
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
Hoat Le
 
Netlog & The Open Web
Netlog & The Open Web
Folke Lemaitre
 
Server-side Java Programming
Server-side Java Programming
Chris Schalk
 
OpenSocial and Mixi platform
OpenSocial and Mixi platform
Pham Thinh
 
Open Social
Open Social
Danish Nadeem
 
I know what you are going to do next summer
I know what you are going to do next summer
dominion
 
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social Update
Patrick Chanezon
 
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
O'Reilly Media
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
Patrick Chanezon
 
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Patrick Chanezon
 
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
Web 2.0 Expo Berlin: Open Platforms and the Social Graph
David Recordon
 
A Social Web Intro at the Internet Identity Workshop
A Social Web Intro at the Internet Identity Workshop
David Recordon
 
moscow_developer_day
moscow_developer_day
xlight
 
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
Grégory Engels
 
Open Social Summit Korea Overview
Open Social Summit Korea Overview
Chris Schalk
 
Open social & cmis oasistc-20100712
Open social & cmis oasistc-20100712
weitzelm
 
Buiding application for social networks
Buiding application for social networks
Đỗ Duy Trung
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
Hoat Le
 
Server-side Java Programming
Server-side Java Programming
Chris Schalk
 
OpenSocial and Mixi platform
OpenSocial and Mixi platform
Pham Thinh
 
I know what you are going to do next summer
I know what you are going to do next summer
dominion
 
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social Update
Patrick Chanezon
 
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
Oct. 4, 2011 webcast top 5 tips for building viral social web applications an...
O'Reilly Media
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
Patrick Chanezon
 
Ad

More from Mohan Krishnan (7)

Real world dev ops
Real world dev ops
Mohan Krishnan
 
How I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deploy
Mohan Krishnan
 
Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"
Mohan Krishnan
 
Tomboy Web Sync Explained
Tomboy Web Sync Explained
Mohan Krishnan
 
Securing your Web API with OAuth
Securing your Web API with OAuth
Mohan Krishnan
 
AtomPub, beyond blogs
AtomPub, beyond blogs
Mohan Krishnan
 
Open Data, Visualization & Usability for Online News Delivery
Open Data, Visualization & Usability for Online News Delivery
Mohan Krishnan
 
How I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deploy
Mohan Krishnan
 
Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"
Mohan Krishnan
 
Tomboy Web Sync Explained
Tomboy Web Sync Explained
Mohan Krishnan
 
Securing your Web API with OAuth
Securing your Web API with OAuth
Mohan Krishnan
 
Open Data, Visualization & Usability for Online News Delivery
Open Data, Visualization & Usability for Online News Delivery
Mohan Krishnan
 
Ad

Recently uploaded (20)

Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Supporting the NextGen 911 Digital Transformation with FME
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Supporting the NextGen 911 Digital Transformation with FME
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
AudGram Review: Build Visually Appealing, AI-Enhanced Audiograms to Engage Yo...
SOFTTECHHUB
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 

Introduction To Open Web Protocols

  • 1. Introduction to Open Web Protocols (Open ID, OAuth, Atompub and OpenSocial) Mohanaraj Gopala Krishnan MSCOSCONF 2 June 2009 mohangk.org/blog @mohangk on twitter
  • 2. Questions for you Experience using or developing any of the following services ? OpenID, Oauth, Atompub or OpenSocial ? Might not even know about it ? Under the hood technologies User your Gmail / Yahoo password on more then one site ? Use a twitter client that makes you login via twitter website ? Blog using a client – e.g. Windows Live Writer Use any of Google APIs – Gmail, Youtube, Docs Use applications on Orkut, Friendster, MySpace or Ning ?
  • 3. What do we mean by the Open Web ? http://www.flickr.com/photos/mag3737/1914076277
  • 4. The open web is a set of philosophies Decentralization - not owned by any one company Transparency - view the “source” Openness - The protocols, docs, code or specification must be available without penalty of patents, copyright User choice - As easy to leave as it was to join - take data and information with you 3rd Party Integration/Innovation - hook into the system at all levels, innovate without asking permission Civil Society and Discourse - many-to-many and one-to-many communication, allowing for millions of conversations
  • 5. Not about technologies "...However, if we define the Open Web in terms of these technologies , then we risk losing sight of what makes the web special and being able to have the intellectual nimbleness to evolve the infrastructure of the web." -Brad Neuberg, Dojo, Google Gears developer http://www.flickr.com/photos/uhop/2250235637 http://codinginparadise.org/weblog/2008/04/whats-open-web-and-why-is-it-important.html
  • 6. Having said that, This is a talk about the web specifications that embody those philosophies Open Web technologies being developed on many fronts Client end Browser - Firefox – Gen Kanai's talks Server technologies Apache, PostgreSQL, Linux, BSD - tools that power the web, most mature Web specifications Driven from need for collaboration, but has value beyond it
  • 7. What is OpenID ? OpenID is a specification that allows people to log into a web site using credentials provided by another web site. Distributed authentication
  • 8. Key concepts User Identifier - unique identifier that will be reused at all sites Identity provider (OpenID Provider, IdP, Server) Relying party (Consumer)
  • 9. As an end user You can reuse your username and password which sites that work as relaying parties (not all IPs are Rps – Facebook is the largest RP) Single place to maintain/update your identity Need to have an account with an identity provider
  • 10. As a developer Exist mature libraries for many languages Build on the security expertise of others If you develop public websites OpenID as its gaining traction 500 million users, over 25,000 sites accept OpenID logins* Makes it easier for new users to join as they do not need to re-enter all information If you develop internal websites Can use OpenID as a form of SSO for multiple internal application - looses out of the “distributed” nature however * http://www.janrain.com/openid
  • 12.  
  • 13.  
  • 14.  
  • 15. What is OAuth? A simple open standard for delegated Web API authorization Let other sites access your data without telling them your password
  • 16. Valet key for your web http://toyotaownersclub.com/forums/index.php?showtopic=77384
  • 17. Key concepts End Users Share information between online services without disclosing passwords Web service (Service providers) Allow for secure access to your API in a user controlled, secure manner 3rd Party application (Consumers) A standard authorization scheme for the web
  • 18. VS
  • 20. OpenID vs OAuth Goals are different OpenID is about sharing a single identity with different consumers OAuth is about sharing your data with different consumers without sharing your identity Not mutually exclusive
  • 21. Love triangle End user Service provider Consumer
  • 26. As an end user, why bother? Never give your passwords to 3 rd party websites Even if not malicious, what if compromised ?
  • 28. “ Passwords are not confetti. Please stop throwing them around. Especially if they’re not yours ” Chris Messina http://www.slideshare.net/carsonified/how-oauth-and-portable-data-can-revolutionize-your-web-app-chris-messina-presentation/
  • 29. As a developer, why bother? Large adoption - Goog, Y!, MySpace Interop - Leverage the services Can be used as a replacement for HTTP basic auth SSL might not be always necessary Part of the Open web stack Atompub + OpenID + OAuth + XRDS +OpenSocial
  • 30. What is the Atom publication protocol (Atompub) ? A manner of updating Atom feed information on a server from a client The feed format is Atom Syndication format - RFC 4287 Atom publication protocol – RFC 5023
  • 31. Key concepts Is a RESTful HTTP protocol – uses HTTP “correctly” Consists of Entry – basic unit of content Feed – a collection of entries
  • 32. Allows for data beyond HTML The atom:content element allows for storing of more data then just HTML Being used as a way to expose data on the web Google has extended Atompub and the Atom syndication format to expose their applications data online
  • 33. Microsoft as well has used it as the basis of the Live web services http://dev.live.com/blogs/devlive/archive/2008/02/27/213.aspx
  • 35.  
  • 36. As a developer, why bother ? If you're building apps More web APIs are being exposed as an extension to Atompub or being built in a RESTful manner If you're exposing your building a web service/API Building your Web API on top of Atompub will ensure that it benefits from all the RESTful principles Allows your users to leverage existing tooling and know how in accessing Atompub or RESTful web services
  • 37. OpenSocial A set of open, standard APIs for building social applications Widget/ Portal based Front ends are implemented in Javascript, HTML, CSS. Uses Javascript to query backends. Backends expose RESTful web APIs to query backends that return data either as JSON or Atom feeds. Leverages OAuth for security
  • 40. iGoogle – a non social site OpenSocial container
  • 41. Google Friend Connect – A hosted OpenSocial solution
  • 42. Applications available as part of Google Friend connect
  • 43. Deals with proliferation of online social sites http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5
  • 44. http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5
  • 45. http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5
  • 46. Key concepts Platforms that can run the OpenSocial widgets are called “containers” The containers expose a standard set of underlying data APIs People & Friends Access friends information programmatically Activities See what you’re friends are up to Share what you are doing Persistence Provide state without a server Share data with your friends
  • 47. http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5 Javascript front end querying the data apis
  • 48. http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5 Javascript front end accessing data from outside OpenSocial container
  • 49. As a developer, why bother ? If you're building apps for social networks Huge deployment 375,000,000 users , 4,500+ apps, pipeline of 100+ containers world wide http://widgetsummit.com/media/slides/opensocial.pd f - Chris Schalk, Google Developer Advocate Paul Lindner, Engineering Manager, hi5
  • 50. If you're building a web app Provide social features in your software Automatically get access to all these potential gadgets Even companies like SAP and Oracle are looking at ways to integrate social type features into their application http://www.sapweb20.com/blog/2009/05/sap-and-open-social-at-the-google-io-developer-conference/
  • 51. Leverage existing implementations Apache shindig http://incubator.apache.org/shindig/ Being used by HI5 Glassfish socialsite https://socialsite.dev.java.net/http://incubator.apache.org/
  • 52. Summary The technologies are being built on top of each other – Open Web stack – many more interesting open web specs being developed http://developer.yahoo.net/blog/archives/2008/12/the_open_stack.html
  • 53. Great engineering work, learnings applicable outside of original use cases Community driven specifications work All the engineering happens on mailing lists, forums, wikis – anybody can participate, meritocratic Don't necessarily need to roll your own – lookout for existing open specs – participate If there is really a need – suggest to existing groups and get feedback