OData Introduction and Impact on API Design (Webcast)
Upcoming SlideShare
Loading in...5
×
 

OData Introduction and Impact on API Design (Webcast)

on

  • 7,497 views

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 ...

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.

Statistics

Views

Total Views
7,497
Views on SlideShare
3,846
Embed Views
3,651

Actions

Likes
7
Downloads
119
Comments
1

16 Embeds 3,651

http://blog.apigee.com 2493
http://apigee.com 625
http://blog.local 209
https://blog.apigee.com 133
http://blog-dev.apigee.com 94
http://feeds.apigee.com 61
http://blog.sonoasystems.com 14
http://mktg-dev.apigee.com 7
http://mktg-dev.wearepropeople.md 7
http://webcache.googleusercontent.com 2
http://blog-dev.wearepropeople.md 1
http://ip54.216-86-157.static.steadfast.net 1
http://conversation.ecairn.com 1
http://mktg-new.local 1
http://www.hanrss.com 1
http://plus.url.google.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • <br /><iframe width="350" height="288" src="http://www.youtube.com/embed/L0u5nDaufGA" frameborder="0"></iframe>
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Creative Commons Attribution-Share Alike 3.0 United States License

OData Introduction and Impact on API Design (Webcast) Presentation Transcript

  • 1. OData and Impact onAPI DesignWithAnant Jhingran Brian Pagano Greg Brail@jhingran @brianpagano @gbrail
  • 2. groups.google.com/group/api-craft
  • 3. youtube.com/apigee
  • 4. slideshare.net/apigee
  • 5.  Introductions OData Primer API Design The OData Community Conclusions
  • 6. @jhingran @brianpagano @gbrail
  • 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. 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. 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. 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. REST APIS 1 NToday we’ll discuss the “Schema-ed” view of theworld, and in particular, the OData approach
  • 12. Let’s look at OData requests and responses.
  • 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. 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. 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. 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. Libraries
  • 18. from http://www.odata.org/libraries
  • 19. WTF is WCF?
  • 20. Who is using OData?
  • 21. Who created OData?
  • 22. How does OData compare to other approaches?
  • 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.  OData GData SOAP Observed API Patterns on the Web
  • 25. How active is community support for OData?
  • 26. Is it time to rally around a standard like OData?Or is too early?
  • 27. Should one implement OData?
  • 28. Questions
  • 29. THANK YOUQuestions and ideas to:groups.google.com/group/api-craftAnant Jhingran Brian Pagano Greg Brail@jhingran @brianpagano @gbrail