OData<br />“Make An AppA Feed For That”<br />http://christopherDeweese.com<br />http://twitter.com/cdeweese<br />
This session<br /><ul><li>A Problem
What is OData?
Nuts & Bolts
Make a feed for that (.NET 4/VS 2010 - *bling*)</li></li></ul><li>Alt.Title<br />‘Make Your Data Show It’s “O-Face”’<br />...
A Problem<br /><ul><li>Middle-Tier Data Access</li></ul>DatabaseServers<br />Front-End<br />Servers<br />Middle-TierServer...
What is it?<br /><ul><li>Open Data Protocol
A protocol for working with data via HTTP
Developed as protocol for “Astoria”/ADO.Net Data Services
V2 implemented in WCF Data Services</li></li></ul><li>Intrigued. Continue.<br /><ul><li>Represent structured data in a ric...
Supports multiple formats – Xml, Json
Xml is based on Atom Pub
Currently released under Microsoft’s Open Specification Promise</li></li></ul><li>What you get<br /><ul><li>OData services...
Rich metadata allows consumers to understand data shape & types
OData is modular; only implement the pieces you need</li></li></ul><li>More Xml?<br /><ul><li>More than just spewing Xml
OData is about making data accessible and queryable using standard Http verbs & actions
Don’t forget!  OData supports JSON too (if you hate Xml that much)</li></li></ul><li>Query over Http?<br /><ul><li>OData p...
$filter
$orderby
$skip, $top
Upcoming SlideShare
Loading in …5
×

OData Make a Feed for That

4,792 views
4,664 views

Published on

Covers the basics of OData

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,792
On SlideShare
0
From Embeds
0
Number of Embeds
1,451
Actions
Shares
0
Downloads
78
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

OData Make a Feed for That

  1. 1. OData<br />“Make An AppA Feed For That”<br />http://christopherDeweese.com<br />http://twitter.com/cdeweese<br />
  2. 2. This session<br /><ul><li>A Problem
  3. 3. What is OData?
  4. 4. Nuts & Bolts
  5. 5. Make a feed for that (.NET 4/VS 2010 - *bling*)</li></li></ul><li>Alt.Title<br />‘Make Your Data Show It’s “O-Face”’<br />Credit: @drusellers<br />
  6. 6. A Problem<br /><ul><li>Middle-Tier Data Access</li></ul>DatabaseServers<br />Front-End<br />Servers<br />Middle-TierServers<br />
  7. 7. What is it?<br /><ul><li>Open Data Protocol
  8. 8. A protocol for working with data via HTTP
  9. 9. Developed as protocol for “Astoria”/ADO.Net Data Services
  10. 10. V2 implemented in WCF Data Services</li></li></ul><li>Intrigued. Continue.<br /><ul><li>Represent structured data in a rich way
  11. 11. Supports multiple formats – Xml, Json
  12. 12. Xml is based on Atom Pub
  13. 13. Currently released under Microsoft’s Open Specification Promise</li></li></ul><li>What you get<br /><ul><li>OData services provide a Service Document that is all about Metadata
  14. 14. Rich metadata allows consumers to understand data shape & types
  15. 15. OData is modular; only implement the pieces you need</li></li></ul><li>More Xml?<br /><ul><li>More than just spewing Xml
  16. 16. OData is about making data accessible and queryable using standard Http verbs & actions
  17. 17. Don’t forget! OData supports JSON too (if you hate Xml that much)</li></li></ul><li>Query over Http?<br /><ul><li>OData provides query operators to sort & filter data via URIs
  18. 18. $filter
  19. 19. $orderby
  20. 20. $skip, $top
  21. 21. … and there’s more
  22. 22. Producers implement query operators around their data</li></li></ul><li>Query? Over Http?<br /><ul><li>Ever tried to build a “queryable” web service with SOAP?
  23. 23. Bottom line: Ugly.
  24. 24. OData: Not-so-uglyhttp://myblog.com/blog.svc/Posts?$filter=TagName%20eq$20‘WCF’</li></li></ul><li>Why Http? <br /><ul><li>OData takes what works for the web
  25. 25. Using Http as it was meant to be used
  26. 26. Follows REST style philosophy – uses URIs as resources
  27. 27. [OData team does not claim to be ‘restful’]
  28. 28. Makes Data accessible to apps via the most successful protocol in use – Http.
  29. 29. Not another “SOAP”
  30. 30. ATOM, JSON - Easy integration with Modern Languages & Frameworks</li></li></ul><li>Terminology<br /><ul><li>Entity – Representation of data – Blog Post, Product, Movie, etc.
  31. 31. Feed – A collection of entities exposed through a service.
  32. 32. Producer – Services that exposes data using OData feeds – Netflix, MIX10, NerdDinner
  33. 33. Consumer – An application or framework that can consume OData feeds – Silverlight 4, PowerPivot, PHP*, Objective-C* [*=using OData SDK]</li></li></ul><li>OData “Ecosystem”<br />Slide Credit: Session FT13 from MIX10<br />
  34. 34. OData in the Wild<br />Servers<br /><ul><li>WCF Data Services
  35. 35. SharePoint 2010
  36. 36. SQL Server Reporting Services 2008 R2
  37. 37. SQL Azure
  38. 38. IBM WebSphereeXtremeScale
  39. 39. Microsoft Media Room
  40. 40. WCF RIA Services</li></ul>Services<br /><ul><li>Netflix
  41. 41. Mix 2010
  42. 42. Nerd Dinner
  43. 43. Vancouver’s vanGuide
  44. 44. Open Government Data Initiative
  45. 45. Open Science Data Initiative
  46. 46. Microsoft Codename “Dallas”
  47. 47. City of Edmonton</li></ul>Clients<br /><ul><li>Excel + PowerPivot
  48. 48. LINQPad
  49. 49. OData Explorer</li></ul>Client libraries<br /><ul><li>.NET
  50. 50. Silverlight
  51. 51. Windows Phone 7 Series
  52. 52. Javascript
  53. 53. Java
  54. 54. Objective-C
  55. 55. PHP</li></ul>Slide Credit: Session FT13 from MIX10<br />
  56. 56. Let’s Take a Peek<br /><ul><li>NUTS! (and bolts too) </li></ul>Photo Credit:SashaW via Flickr<br />
  57. 57. Feed for What?<br /><ul><li>Scott Hanselman’sStackOverflow Challenge
  58. 58. Using a recent dump of the SO Database, let’s build a feed for that</li></ul>Read Scott’s post here: http://bit.ly/bq5WA9<br />
  59. 59. Stuff We Didn’t Cover<br /><ul><li>Creating/Deleting Entities
  60. 60. Security (ASP.NET/Windows/NTLM)
  61. 61. Other Languages, JavaScript, PHP, Etc.
  62. 62. Media Streaming/Content Delivery support (WCF Data Services/IDataServiceStreamProvider)
  63. 63. Lots of other things..</li></li></ul><li>Take-a-ways<br /><ul><li>OData is a protocol for enabling data-driven, web-based services
  64. 64. In .NET OData is implemented by WCF Data Services using EF
  65. 65. Developers can take control of Entity Access & Performance tuning of WCF Data Service (caching, paging)
  66. 66. OData uses existing authentication & authorization schemes
  67. 67. OData feeds can replace existing web APIs with a data-centric model</li></li></ul><li>Discussion<br />
  68. 68. Thanks!<br /><ul><li>OData resources:
  69. 69. http://odata.org/
  70. 70. http://blogs.msdn.com/astoriateam
  71. 71. Contact me:
  72. 72. http://christopherDeweese.com
  73. 73. @cdeweese on the Twitter</li>

×