Your SlideShare is downloading. ×
0
Odata - “Make An AppA Feed For That” <br />Chris Deweese, Consultant, Daugherty Business Solutions<br />
Warning<br />Should I answer my phone and suddenly run out, rest assured knowing it’s because my wife is most likely going...
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>A Problem<br /><ul><li>Middle-Tier Data Access</li></ul>...
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 feed for that - stldodn

1,172

Published on

Presentation delivered at the 2010 Day of .NET, August 20 & 21 at the Ameristar in St. Charles, MO

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,172
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "OData feed for that - stldodn"

  1. 1. Odata - “Make An AppA Feed For That” <br />Chris Deweese, Consultant, Daugherty Business Solutions<br />
  2. 2.
  3. 3. Warning<br />Should I answer my phone and suddenly run out, rest assured knowing it’s because my wife is most likely going into labor with our 3rd child.<br />Its definitely not because I’m totally unprepared for this and have no idea what I’m talking about.<br />Definitely not that.<br />
  4. 4. This session<br /><ul><li>A Problem
  5. 5. What is OData?
  6. 6. Nuts & Bolts
  7. 7. Make a feed for that (.NET 4/VS 2010 - *bling*)</li></li></ul><li>A Problem<br /><ul><li>Middle-Tier Data Access</li></ul>DatabaseServers<br />Front-End<br />Servers<br />Middle-TierServers<br />
  8. 8. What is it?<br /><ul><li>Open Data Protocol
  9. 9. A protocol for working with data via HTTP
  10. 10. Developed as protocol for “Astoria”/ADO.Net Data Services
  11. 11. V2 implemented in WCF Data Services</li></li></ul><li>Intrigued. Continue.<br /><ul><li>Represent structured data in a rich way
  12. 12. Supports multiple formats – Xml, Json
  13. 13. Xml is based on Atom Pub
  14. 14. 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
  15. 15. Rich metadata allows consumers to understand data shape & types
  16. 16. OData is modular; only implement the pieces you need</li></li></ul><li>More Xml?<br /><ul><li>More than just spewing Xml
  17. 17. OData is about making data accessible and queryable using standard Http verbs & actions
  18. 18. 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
  19. 19. $filter
  20. 20. $orderby
  21. 21. $skip, $top
  22. 22. … and there’s more
  23. 23. 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?
  24. 24. Bottom line: Ugly.
  25. 25. 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
  26. 26. Using Http as it was meant to be used
  27. 27. Follows REST style philosophy – uses URIs as resources
  28. 28. [OData team does not claim to be ‘restful’]
  29. 29. Makes Data accessible to apps via the most successful protocol in use – Http.
  30. 30. Not another “SOAP”
  31. 31. 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.
  32. 32. Feed – A collection of entities exposed through a service.
  33. 33. Producer – Services that exposes data using OData feeds – Netflix, MIX10, NerdDinner
  34. 34. 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 />
  35. 35. OData in the Wild<br />Servers<br /><ul><li>WCF Data Services
  36. 36. SharePoint 2010
  37. 37. SQL Server Reporting Services 2008 R2
  38. 38. SQL Azure
  39. 39. IBM WebSphereeXtremeScale
  40. 40. Microsoft Media Room
  41. 41. WCF RIA Services</li></ul>Services<br /><ul><li>Netflix
  42. 42. Mix 2010
  43. 43. Nerd Dinner
  44. 44. Vancouver’s vanGuide
  45. 45. Open Government Data Initiative
  46. 46. Open Science Data Initiative
  47. 47. Microsoft Codename “Dallas”
  48. 48. City of Edmonton</li></ul>Clients<br /><ul><li>Excel + PowerPivot
  49. 49. LINQPad
  50. 50. OData Explorer</li></ul>Client libraries<br /><ul><li>.NET
  51. 51. Silverlight
  52. 52. Windows Phone 7 Series
  53. 53. Javascript
  54. 54. Java
  55. 55. Objective-C
  56. 56. PHP</li></ul>Slide Credit: Session FT13 from MIX10<br />
  57. 57. Let’s Take a Peek<br /><ul><li>NUTS! (and bolts too) </li></ul>Photo Credit:SashaW via Flickr<br />
  58. 58. Feed for What?<br /><ul><li>Scott Hanselman’sStackOverflow Challenge
  59. 59. 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 />
  60. 60. Stuff We Didn’t Cover<br /><ul><li>Creating/Deleting Entities
  61. 61. Security (ASP.NET/Windows/NTLM)
  62. 62. Other Languages, JavaScript, PHP, Etc.
  63. 63. Media Streaming/Content Delivery support (WCF Data Services/IDataServiceStreamProvider)
  64. 64. 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
  65. 65. In .NET OData is implemented by WCF Data Services using EF
  66. 66. Developers can take control of Entity Access & Performance tuning of WCF Data Service (caching, paging)
  67. 67. OData uses existing authentication & authorization schemes
  68. 68. OData feeds can replace existing web APIs with a data-centric model</li></li></ul><li>Discussion<br />
  69. 69. Thanks!<br /><ul><li>OData resources:
  70. 70. http://odata.org/
  71. 71. http://odataprimer.com
  72. 72. http://blogs.msdn.com/astoriateam
  73. 73. Contact me:
  74. 74. http://christopherDeweese.com
  75. 75. @cdeweese on the Twitter</li>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×