SlideShare a Scribd company logo
1 of 13
OData: The Open Data Protocol
Windows
iPhone
Browser
Windows Phone
Silverlight
Web Site
Web API
webOS
S E R V I C E S
POWERING
EXPERIENCES
Today’s Service Interfaces
 Customers[] GetCustomersByZip(zip)
 Customers[] GetCustomersByZip(zip, skip, take)
 Customers[] GetCustomersByZip(zip, skip, take, sort)
 Customers[] GetCustomersByRegion(region, skip, take)
 Customers[] GetCustomersByRegion(region, skip, take, sort)
 …
Problems with this approach:
Clients are very limited in what they can do generically – Each
service requires its own custom clients (N * N problem)
Leads to “interface bloat” – cost of maintenance
More likely to result in data silos with limited potential for reuse
What if we had a common way to access
information through services?
 Customer is a resource that supports:
 Query on properties
 Navigation over relationships
 Paging through results
 Create, Read, Update, Delete operations
Solves key problems with today’s service interfaces
Enables a broad ecosystem of reusable clients
Simplifies interface maintenance – lowers cost
Encourages reuse of information, including in ways not foreseen at
the time the service was created
Open Data Protocol (OData)
A Web protocol for querying and updating data
that provides a way to unlock your data and free
it from silos that exist in applications today.
For Developers
For Information
Workers
For Consumers
OData Ecosystem – Current implementations
Enterprise Consumer Government/Public Developer
PowerPivot Pivot Open Gov. Data Initiative .NET
SQL Server Reports (producer) Netflix Edmonton, CA Silverlight Client
SharePoint iPhone Vancouver, CA Java Client
WebSphere Windows Live Dallas (Many sources) PHP Client
Dallas (many sources) Facebook insights CDYNE* AJAX Client
SQL Azure Microsoft MediaRoom European Env Agency* iPhone
Dynamics NAV Twitpic UK Government* Mono/Mono Touch Client
Dynamics CRM eBay Data.Gov* Telerik Open Access
Next Gen Active Directory DigitalMap* Recovery.Gov* Intersoft Solutions
MS Pinpoint ESRI* MelissaData* ComponentOne
Powershell WeatherBug* United Nations* LinqPad
Office 15 Boundary Solutions* World Bank* OData4J
Tellago SO-Aware Stats.Com* DB40
Zillow.com* WCF RIA Services
Windows Azure Table Storage
OpenLink Virtuoso
Stack Overflow
PHP Server (in development)
Ruby on Rails
Windows Phone 7
Light Switch
* Available through DataMarket.Azure.com
Standards / Openness
 OData
 Based on AtomPub, HTTP, JSON
 Released under the Open Specification Promise
○ Implemented by multiple 3rd parties including IBM
WebSphere
 .NET client source code
 Released under Apache 2.0 license
 http://odata.codeplex.com/
Contact Information
 LanceO@microsoft.com
 www.odata.org
 http://msdn.com/data
© 2009 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must
respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any
information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

Similar to Using OData to build great customer experiences on any device by Lance Olson

1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt
webhostingguy
 
1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt
webhostingguy
 
Net framework
Net frameworkNet framework
Net framework
sumit1503
 
SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile Possibilities
Sam Basu
 

Similar to Using OData to build great customer experiences on any device by Lance Olson (20)

Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Source
 
Clanavi: How to Manage Your Cloud by Drupal (BADCamp 2010)
Clanavi: How to Manage Your Cloud by Drupal (BADCamp 2010)Clanavi: How to Manage Your Cloud by Drupal (BADCamp 2010)
Clanavi: How to Manage Your Cloud by Drupal (BADCamp 2010)
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
A Lap Around Windows Azure
A Lap Around Windows AzureA Lap Around Windows Azure
A Lap Around Windows Azure
 
Clanavi: How to Manage Your Cloud by Drupal
Clanavi: How to Manage Your Cloud by DrupalClanavi: How to Manage Your Cloud by Drupal
Clanavi: How to Manage Your Cloud by Drupal
 
1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt
 
1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt1 - Why Host on Windows (28).ppt
1 - Why Host on Windows (28).ppt
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
Net framework
Net frameworkNet framework
Net framework
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure Platform
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdk
 
Cisco’s Cloud Ready Infrastructure
Cisco’s Cloud Ready InfrastructureCisco’s Cloud Ready Infrastructure
Cisco’s Cloud Ready Infrastructure
 
Zimbra versus exchange 2010 presentation
Zimbra versus exchange 2010 presentationZimbra versus exchange 2010 presentation
Zimbra versus exchange 2010 presentation
 
Metadata describes about data
Metadata describes about dataMetadata describes about data
Metadata describes about data
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application Development
 
SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile Possibilities
 

More from GeekWire

Mike Fridgen: Branding, Startup Style
Mike Fridgen: Branding, Startup StyleMike Fridgen: Branding, Startup Style
Mike Fridgen: Branding, Startup Style
GeekWire
 
Mike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup styleMike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup style
GeekWire
 
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
GeekWire
 
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
GeekWire
 
Jonathan Sposato - Everything I need to know about design I learned in a hotel
Jonathan Sposato - Everything I need to know about design I learned in a hotelJonathan Sposato - Everything I need to know about design I learned in a hotel
Jonathan Sposato - Everything I need to know about design I learned in a hotel
GeekWire
 
Darrell Cavens - Clear vision for the future
Darrell Cavens - Clear vision for the futureDarrell Cavens - Clear vision for the future
Darrell Cavens - Clear vision for the future
GeekWire
 
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
GeekWire
 
Steve Murch - Bootstrapping: Less cash, more cowbell
Steve Murch - Bootstrapping: Less cash, more cowbellSteve Murch - Bootstrapping: Less cash, more cowbell
Steve Murch - Bootstrapping: Less cash, more cowbell
GeekWire
 
Adam Tratt - Startup storytelling for the win
Adam Tratt - Startup storytelling for the winAdam Tratt - Startup storytelling for the win
Adam Tratt - Startup storytelling for the win
GeekWire
 
Ec2 for Startups - Ian Eure
Ec2 for Startups - Ian EureEc2 for Startups - Ian Eure
Ec2 for Startups - Ian Eure
GeekWire
 
StartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben ElowitzStartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben Elowitz
GeekWire
 
Making Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff LawsonMaking Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff Lawson
GeekWire
 
Revenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi SinhaRevenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi Sinha
GeekWire
 
Marketing your Startup - Monica Harrington
Marketing your Startup - Monica HarringtonMarketing your Startup - Monica Harrington
Marketing your Startup - Monica Harrington
GeekWire
 

More from GeekWire (20)

Mike Fridgen: Branding, Startup Style
Mike Fridgen: Branding, Startup StyleMike Fridgen: Branding, Startup Style
Mike Fridgen: Branding, Startup Style
 
Mike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup styleMike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup style
 
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
 
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
Jordan Weisman - Warning startups maybe dangerous to your health (and ego)
 
Jonathan Sposato - Everything I need to know about design I learned in a hotel
Jonathan Sposato - Everything I need to know about design I learned in a hotelJonathan Sposato - Everything I need to know about design I learned in a hotel
Jonathan Sposato - Everything I need to know about design I learned in a hotel
 
Darrell Cavens - Clear vision for the future
Darrell Cavens - Clear vision for the futureDarrell Cavens - Clear vision for the future
Darrell Cavens - Clear vision for the future
 
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
Aviel Ginzburg & Adam Schoenfeld - Co-founding: The good, the bad, the ugly
 
Steve Murch - Bootstrapping: Less cash, more cowbell
Steve Murch - Bootstrapping: Less cash, more cowbellSteve Murch - Bootstrapping: Less cash, more cowbell
Steve Murch - Bootstrapping: Less cash, more cowbell
 
Adam Tratt - Startup storytelling for the win
Adam Tratt - Startup storytelling for the winAdam Tratt - Startup storytelling for the win
Adam Tratt - Startup storytelling for the win
 
Designing For Pleasure Instead of Against Pain by Aviel Ginzburg
Designing For Pleasure Instead of Against Pain by Aviel GinzburgDesigning For Pleasure Instead of Against Pain by Aviel Ginzburg
Designing For Pleasure Instead of Against Pain by Aviel Ginzburg
 
Building for Real Time - working with Asynchronous I/O by Grant Goodale
Building for Real Time - working with Asynchronous I/O by Grant GoodaleBuilding for Real Time - working with Asynchronous I/O by Grant Goodale
Building for Real Time - working with Asynchronous I/O by Grant Goodale
 
Developing for Mobile by Andre Charland
Developing for Mobile by Andre CharlandDeveloping for Mobile by Andre Charland
Developing for Mobile by Andre Charland
 
Ec2 for Startups - Ian Eure
Ec2 for Startups - Ian EureEc2 for Startups - Ian Eure
Ec2 for Startups - Ian Eure
 
3 S's to a Successful Launch - Poornima Vijayashanker
3 S's to a Successful Launch - Poornima Vijayashanker3 S's to a Successful Launch - Poornima Vijayashanker
3 S's to a Successful Launch - Poornima Vijayashanker
 
Keeping One Step Ahead - Bob Walsh
Keeping One Step Ahead - Bob WalshKeeping One Step Ahead - Bob Walsh
Keeping One Step Ahead - Bob Walsh
 
StartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben ElowitzStartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben Elowitz
 
Dealing with Failure - Keith Smith
Dealing with Failure - Keith SmithDealing with Failure - Keith Smith
Dealing with Failure - Keith Smith
 
Making Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff LawsonMaking Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff Lawson
 
Revenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi SinhaRevenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi Sinha
 
Marketing your Startup - Monica Harrington
Marketing your Startup - Monica HarringtonMarketing your Startup - Monica Harrington
Marketing your Startup - Monica Harrington
 

Recently uploaded

Recently uploaded (20)

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
 
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...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[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
 

Using OData to build great customer experiences on any device by Lance Olson

  • 1. OData: The Open Data Protocol
  • 2.
  • 3. Windows iPhone Browser Windows Phone Silverlight Web Site Web API webOS S E R V I C E S POWERING EXPERIENCES
  • 4. Today’s Service Interfaces  Customers[] GetCustomersByZip(zip)  Customers[] GetCustomersByZip(zip, skip, take)  Customers[] GetCustomersByZip(zip, skip, take, sort)  Customers[] GetCustomersByRegion(region, skip, take)  Customers[] GetCustomersByRegion(region, skip, take, sort)  … Problems with this approach: Clients are very limited in what they can do generically – Each service requires its own custom clients (N * N problem) Leads to “interface bloat” – cost of maintenance More likely to result in data silos with limited potential for reuse
  • 5. What if we had a common way to access information through services?  Customer is a resource that supports:  Query on properties  Navigation over relationships  Paging through results  Create, Read, Update, Delete operations Solves key problems with today’s service interfaces Enables a broad ecosystem of reusable clients Simplifies interface maintenance – lowers cost Encourages reuse of information, including in ways not foreseen at the time the service was created
  • 6. Open Data Protocol (OData) A Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today.
  • 10. OData Ecosystem – Current implementations Enterprise Consumer Government/Public Developer PowerPivot Pivot Open Gov. Data Initiative .NET SQL Server Reports (producer) Netflix Edmonton, CA Silverlight Client SharePoint iPhone Vancouver, CA Java Client WebSphere Windows Live Dallas (Many sources) PHP Client Dallas (many sources) Facebook insights CDYNE* AJAX Client SQL Azure Microsoft MediaRoom European Env Agency* iPhone Dynamics NAV Twitpic UK Government* Mono/Mono Touch Client Dynamics CRM eBay Data.Gov* Telerik Open Access Next Gen Active Directory DigitalMap* Recovery.Gov* Intersoft Solutions MS Pinpoint ESRI* MelissaData* ComponentOne Powershell WeatherBug* United Nations* LinqPad Office 15 Boundary Solutions* World Bank* OData4J Tellago SO-Aware Stats.Com* DB40 Zillow.com* WCF RIA Services Windows Azure Table Storage OpenLink Virtuoso Stack Overflow PHP Server (in development) Ruby on Rails Windows Phone 7 Light Switch * Available through DataMarket.Azure.com
  • 11. Standards / Openness  OData  Based on AtomPub, HTTP, JSON  Released under the Open Specification Promise ○ Implemented by multiple 3rd parties including IBM WebSphere  .NET client source code  Released under Apache 2.0 license  http://odata.codeplex.com/
  • 12. Contact Information  LanceO@microsoft.com  www.odata.org  http://msdn.com/data
  • 13. © 2009 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. Browser is co-equal with other clients and run-time experiences The web api is at the center SpE is happening today and is everywhere around you