using odata to build great customer experiences on any device by lance olson
DESCRIPTION
Talk on Microsoft's ODataTRANSCRIPT
OData: The Open Data Protocol
Windows
iPhone
Browser
Windows PhoneSilverlight
Web Site
Web API
webOS
S E R V I C E SPOWERING
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 maintenanceMore 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 propertiesNavigation over relationshipsPaging through resultsCreate, Read, Update, Delete operations
Solves key problems with today’s service interfacesEnables a broad ecosystem of reusable clientsSimplifies interface maintenance – lowers costEncourages 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
demo
For Information Workers
demo
For Consumers
demo
OData Ecosystem – Current implementationsEnterprise 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, JSONReleased under the Open Specification Promise
○ Implemented by multiple 3rd parties including IBM WebSphere
.NET client source codeReleased under Apache 2.0 licensehttp://odata.codeplex.com/
Contact Information [email protected] 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.