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

Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Sourcevlcinsky
 
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)DOCOMO Innovations, Inc.
 
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 DayTechMaster Vietnam
 
A Lap Around Windows Azure
A Lap Around Windows AzureA Lap Around Windows Azure
A Lap Around Windows AzureDave Bost
 
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 DrupalDOCOMO Innovations, Inc.
 
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).pptwebhostingguy
 
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).pptwebhostingguy
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to CloudStuart Lodge
 
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 znick_garrod
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009guest829442
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformDavid Chou
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsShashank Banerjea
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkToby Corbin
 
Cisco’s Cloud Ready Infrastructure
Cisco’s Cloud Ready InfrastructureCisco’s Cloud Ready Infrastructure
Cisco’s Cloud Ready InfrastructureCisco Canada
 
Zimbra versus exchange 2010 presentation
Zimbra versus exchange 2010 presentationZimbra versus exchange 2010 presentation
Zimbra versus exchange 2010 presentationsolarisyourep
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System iLANSA
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentChris Bailey
 
SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSam 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 StyleGeekWire
 
Mike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup styleMike Fridgen - Branding, startup style
Mike Fridgen - Branding, startup styleGeekWire
 
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 hotelGeekWire
 
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 futureGeekWire
 
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 cowbellGeekWire
 
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 winGeekWire
 
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 GinzburgGeekWire
 
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 GoodaleGeekWire
 
Developing for Mobile by Andre Charland
Developing for Mobile by Andre CharlandDeveloping for Mobile by Andre Charland
Developing for Mobile by Andre CharlandGeekWire
 
Ec2 for Startups - Ian Eure
Ec2 for Startups - Ian EureEc2 for Startups - Ian Eure
Ec2 for Startups - Ian EureGeekWire
 
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 VijayashankerGeekWire
 
Keeping One Step Ahead - Bob Walsh
Keeping One Step Ahead - Bob WalshKeeping One Step Ahead - Bob Walsh
Keeping One Step Ahead - Bob WalshGeekWire
 
StartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben ElowitzStartupDay 2010 Keynote - Ben Elowitz
StartupDay 2010 Keynote - Ben ElowitzGeekWire
 
Dealing with Failure - Keith Smith
Dealing with Failure - Keith SmithDealing with Failure - Keith Smith
Dealing with Failure - Keith SmithGeekWire
 
Making Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff LawsonMaking Money with SaaS - Jeff Lawson
Making Money with SaaS - Jeff LawsonGeekWire
 
Revenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi SinhaRevenue Streams for Startups - Rashmi Sinha
Revenue Streams for Startups - Rashmi SinhaGeekWire
 
Marketing your Startup - Monica Harrington
Marketing your Startup - Monica HarringtonMarketing your Startup - Monica Harrington
Marketing your Startup - Monica HarringtonGeekWire
 

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

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
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 interpreternaman860154
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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 MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

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