Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OData Introduction and Impact on API Design (Webcast)

11,036 views

Published on

We're in a data-driven economy. Web API designers need to define what and how to expose data from a variety of apps, services, and stores. What are challenges of unlocking data and opening up access in a straightforward and standards-compliant manner? Is OData the right tool for the job?
Join Anant, Brian, and Greg for a discussion of OData, its API design implications, and the pros and cons of OData as an enabler of data integration and interoperability across Data APIs.

We Will Discuss »

- OData, SQL, and the "RESTification" of data - providing a uniform way to expose, structure, query and manipulate data using REST principles.
- Opportunity and challenges for OData.
- The questions of Web standards and proprietary versus open tools and protocols.

Published in: Technology, Business

OData Introduction and Impact on API Design (Webcast)

  1. 1. OData and Impact onAPI DesignWithAnant Jhingran Brian Pagano Greg Brail@jhingran @brianpagano @gbrail
  2. 2. groups.google.com/group/api-craft
  3. 3. youtube.com/apigee
  4. 4. slideshare.net/apigee
  5. 5.  Introductions OData Primer API Design The OData Community Conclusions
  6. 6. @jhingran @brianpagano @gbrail
  7. 7. Interactions are shifting to edge of enterprise Social Business Networks Networks Your apps Your Your Data Your Web Site Company Your Store APIsWhat the means is thatyou’ve think about “data” –what you expose, and what Appsyou collect “differently” - API-centric
  8. 8. Exposing data attracts business to the core even if data is not your core businessSee Amundsen’s Dogs, Information Halos and APIs:The epic story of your API Strategy »http://blog.apigee.com/detail/api_strategy_talk_web_2.0/
  9. 9. Exposing Data is more than the “R” of CRUD in REST GOOD CLEAN API’S M(E/A)SS OF INTERCONNECTED DATA How do you go from the m(e/a)ss to clean APIs?
  10. 10. Two schools of thought REST APIS REST APIS 1 N Table1 Table2 “Linked Data” view – individual“Schema-ed” Relational or objects, with properties andRelational-like view of “data” interconnections
  11. 11. REST APIS 1 NToday we’ll discuss the “Schema-ed” view of theworld, and in particular, the OData approach
  12. 12. Let’s look at OData requests and responses.
  13. 13. OData by ExampleSQL Query OData Requestselect * from products where id = 1 /Products(1)select * from products /Products?$filter=name eq ‘Milk’where name = ‘Milk’select name from products /Products?$select=nameselect * from products order by name /Products?$orderby=nameselect * from products offset 10 limit 10 /Products?$top=10&$skip=10select * from prices r, products p /Products(1)?$expand=Priceswhere r.id = p.id (* sort of)
  14. 14. Filters/Categories?$filter=Name eq ‘Dairy’Logical Operatorseq ne gt ge lt le eq or andArithmetic Operatorsadd sub mul div modParenthesis Operator()Canonical Functionssubstrof endswith startswithlength indexof replace substring tolowertoupper trim concat year years month daydays hour hours minute minutes secondseconds round floor ceiling isof cast
  15. 15. Format/Categories?$format=json *atom json xml(plus any other IANA-defined media types)*If the $format query option is present in a request URI it takesprecedence over the value(s) specified in the Accept request header.
  16. 16. Metadata<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"> <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0"> <Schema Namespace="NorthwindModel" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2008/09/edm"> <EntityType Name="Category"> <Key> <PropertyRef Name="CategoryID" /> </Key> <Property Name="CategoryID" Type="Edm.Int32" Nullable="false" p8:StoreGeneratedPattern="Identity" xmlns:p8="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /> <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" Unicode="true" FixedLength="false" /> <Property Name="Description" Type="Edm.String" Nullable="true" MaxLength="Max" Unicode="true" FixedLength="false" /> </EntityType> </Schema> </edmx:DataServices></edmx:Edmx>
  17. 17. Libraries
  18. 18. from http://www.odata.org/libraries
  19. 19. WTF is WCF?
  20. 20. Who is using OData?
  21. 21. Who created OData?
  22. 22. How does OData compare to other approaches?
  23. 23. OData or Not? Odata Request Web API Style /Products(1) /Products/1 /Products?$filter=name eq ‘Milk’ /Products?name=Milk /Products/1?$select=name /Products/1/name /Products?$orderby=name /Products?orderby=name /Products?$top=10&$skip=10 /Products?offset=10&limit=10 /Products(1)?$expand=Prices /Products/1?expand=Prices
  24. 24.  OData GData SOAP Observed API Patterns on the Web
  25. 25. How active is community support for OData?
  26. 26. Is it time to rally around a standard like OData?Or is too early?
  27. 27. Should one implement OData?
  28. 28. Questions
  29. 29. THANK YOUQuestions and ideas to:groups.google.com/group/api-craftAnant Jhingran Brian Pagano Greg Brail@jhingran @brianpagano @gbrail

×