OData Introduction and Impact on API Design (Webcast)


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
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Creative Commons Attribution-Share Alike 3.0 United States License
  • 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