Your SlideShare is downloading. ×
0
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of .NET 2011 - August 5, 2011

822

Published on

The amount of data stored today is growing at a rapid rate. However, data is only valuable if it is accessible and can be consumed by people and systems. OData is an open protocol for sharing data …

The amount of data stored today is growing at a rapid rate. However, data is only valuable if it is accessible and can be consumed by people and systems. OData is an open protocol for sharing data that is positioned to solve this problem. OData uses the standard HTTP protocol using REST principles to make data accessible and has huge industry momentum with rapid adoption growth. In this session, we will explore what OData is all about and how to expose relational and non-relational data as OData using WCF Data Services. We will then walkthrough developing apps to consume the OData feeds from multiple clients including mobile devices. Finally, we will take a look at how you can benefit from using Azure to publish your data with OData services.

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Consuming DataFrom Many PlatformsThe Benefits of ODataEric D. BoydDirector, Chicago + Cloud Practice
  • 2. Introduction Eric D. Boyd 15 Years in Technology
  • 3. I’m From Here
  • 4. I Moved Here
  • 5. I Work Here
  • 6. I Work On
  • 7. I Blog @ ericdboyd.com
  • 8. I Tweet @EricDBoyd
  • 9. Agenda Data What is OData? Use OData
  • 10. DataThe Good Guy and Villain
  • 11. 7 Pitfalls of Enterprise Application Integration1. Constant change2. Shortage of EAI experts3. Competing standards4. EAI is a tool paradigm5. Building interfaces is an art6. Loss of detail7. Accountability
  • 12. “Every two days, we create asmuch information as we did fromthe dawn of civilization up until2003. That’s something like fiveExabytes of data.”--Eric Schmidt
  • 13. Growth of Web APIs http://blog.programmableweb.com/2011/03/08/3000-web-apis/
  • 14. Twitter API 600,000 developers 900,000 applications 13 billion API requests each and every daySource: The Next Web
  • 15. What If? Simple, Well-Known Protocol Simple, Well-Known Formats Platform Independence Device Independence Existing Infrastructure
  • 16. ODataThe Hero
  • 17. REST An architectural style for building loosely coupled systems defined by a set of very general constraints (principles) the Web (URI/HTTP/HTML/XML) is an instance of this style The Web used correctly (i.e., not using the Web as transport) HTTP is built according to RESTful principles services are built on top of Web standards without misusing them most importantly, HTTP is an application protocol (not a transport protocol) Anything that uses HTTP and XML (XML without SOAP) XML-RPC was the first approach for this violates REST because there is no uniform interface
  • 18. What Is OData? Open Data Protocol REST protocol for resource-based services Understood Web Technologies HTTP Atom JSON Use URIs for resource identification and commits It’s the Web for Data and Resources!
  • 19. HTTP Networking protocol for distributed, collaborative, hypermedia information systems Request-Response protocol in the client-server computing model Application Layer protocol Resources are identified and located by URIs 9 Verbs HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, C ONNECT, PATCH Headers Status Codes
  • 20. Atom Atom applies to a pair of related standards Atom Syndication Format: an XML language used for web feeds Atom Publishing Protocol (AtomPub or APP): a simple HTTP-based protocol for creating and updating web resources
  • 21. <?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xml:base=http://services.odata.org/OData/OData.svc/ xmlns:d=http://schemas.microsoft.com/ado/2007/08/dataservices xmlns:m=http://schemas.microsoft.com/ado/2007/08/dataservices/metadata xmlns="http://www.w3.org/2005/Atom"> <title type="text">Categories</title> <id>http://services.odata.org/OData/OData.svc/Categories</id> <updated>2010-03-10T08:38:14Z</updated> <link rel="self" title="Categories" href="Categories" /> <entry> <id>http://services.odata.org/OData/OData.svc/Categories(0)</id> <title type="text">Food</title> <updated>2010-03-10T08:38:14Z</updated> <author> <name /> </author> <link rel="edit" title="Category" href="Categories(0)" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Products" type="application/atom+xml;type=feed" title="Products" href="Categories(0)/Products" /> <category term="ODataDemo.Category" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:ID m:type="Edm.Int32">0</d:ID> <d:Name>Food</d:Name> </m:properties> </content> </entry> <!-- <entry> elements representing additional Categories go here --></feed>
  • 22. JSON JavaScript Object Notation Lightweight Data Interchange Language Independent Alternative to XML
  • 23. JSON vs XMLJSON XML{ <person> "firstName": "John", <firstName>John</firstName> "lastName": "Smith", <lastName>Smith</lastName> "age": 25, <age>25</age> "address": <address> { <city>New York</city> <state>NY</state> "city": "New York", </address> "state": "NY", </person> }}
  • 24. URIhttp://services.odata.org/OData/OData.svc_______________________________________/ | service root URIhttp://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name_______________________________________/ __________________/ _________________/ | | | service root URI resource path query options
  • 25. OData Is… Uniform representation of structured data Atom, JSON Uniform URI conventions Navigation, filtering, sorting, paging, etc. Uniform operations GET, POST, PUT/MERGE, DELETE
  • 26. Another Standard?
  • 27. How Can I UseOData?
  • 28. Locating ResourcesEntity-Set /CustomersSingle Entity /Customers(‘ALFKI’)Member /Customers(‘ALFKI’)/ContactNameLink Traversal /Customers(‘ALFKI’)/OrdersDeep Members /Customers(‘ALFKI’)/Orders(10643)/ShipNameRaw Values /Customers(‘ALFKI’)/Orders(10643)/ShipName/$value
  • 29. Querying and Formatting OptionsFiltering /Customers?$filter=CustomerID eq ‘ALFKI’Sorting /Customers?$orderby=CustomerIDLimiting /Customers?$top=10Paging /Customers?$top=10&$skip=200 /Customers?$orderby=CustomerID&$skiptoken=ALFKIExpansion /Customers?$expand=OrdersFormat /Customers?$format=jsonCount /Customers?$inlinecountShaping /Customers?$select=CustomerID,ContactName
  • 30. Filtering and OperatorsOperation C# OData ExampleOperation Ordering (…) (…) (x add y) eq zNot ! not not xAnd && and x and yOr || or x or yMultiply * mul x mul yDivide / div x div yModulus % mod x mod yAdd + add x add ySubtract - sub x sub yLess than < lt x lt yGreater than > gt x gt yLess than or equal <= le x le yGreater than or equal >= ge x ge yEquals == eq x eq yNot equals != ne x ne y
  • 31. How Can I CreateOData?
  • 32. What about theCloud?
  • 33. Takeaways OData is a platform and device independent solution for working with data Check out http://odata.org SDK, Articles, Videos, Documentation, Samples WCF Data Services http://msdn.microsoft.com/en-us/library/cc668792.aspx Build and Consume OData services!
  • 34. Resources OData Excel Plug-in http://www.powerpivot.com/ LINQPad http://www.linqpad.net Debugger Canvas http://msdn.microsoft.com/en- us/devlabs/debuggercanvas
  • 35. Q&A
  • 36. Other Sessions Overview of the Windows Azure DataMarket Imagination C/D, Next Session Architecting for Massive Scalability Imagination A/B, Tomorrow 9:10AM-10:10AM Making $$$ with Windows Phone Imagination C/D, Tomorrow 3:00PM-4:00PM
  • 37. http://www.AzureStudyGroup.com
  • 38. Thank You!Eric D. BoydDirector, Chicago + Cloud PracticeCentareEmail: eric.boyd@centare.comTwitter: www.twitter.com/EricDBoydBlog: www.ericdboyd.com

×