Your SlideShare is downloading. ×
Apache Olingo - ApacheCon Denver 2014
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

Apache Olingo - ApacheCon Denver 2014

1,299
views

Published on

Published in: Data & Analytics

1 Comment
1 Like
Statistics
Notes
  • Hello Stephan, is there any tutorial available for implementing $filter in Olingo, especially when backend data source is not through JDBC. Any sample perhaps?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,299
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
1
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. APACHE OLINGO OASIS OData - Client and Server Stephan Klevenz,ApacheCon 2014 Denver
  • 2. AGENDA • Part I • OData Protocol • Overview • OASIS • Part II • Play with OData • Demos • Basic Processor • Annotation Processor • JPA Processor
  • 3. PART I
  • 4. ODATA PROTOCOL OVERVIEW OData stands for Open Data Protocol 
 (http://www.odata.org) • is based on REST principles • supports JSON and AtomPub data formats • Implementations available in • .NET, Java, JavaScript, Ruby, PHP and ObjectiveC
  • 5. Binary API doesn’t work over the Internet (ODBC,ADO.NET, JDBC…) ! Internet is HTTP! ! HTTP + SQL ! OData as the 
 SQL for the Web RDBMS Data Files Data XML Data NoSQL Data SQL API Parser API Query API Applications OData http UNLOCK DATA SILOS
  • 6. ODATA PROTOCOL REST HTTP GET PUT … DELETE ATOM JSON Server Producer Client Consumer .NET, Java, Ruby, PHP … .NET, iOS, JavaScript, Java, Ruby Excel,Tableau, LINQPad, PowerShel, OData Explorer Azure, MySQL,AppEngine, SAP, IBM, Oracle
  • 7. Project Astoria (Microsoft internal) ADO.NET Data Services (Microsoft) WCF Data Services (Microsoft) OData 2.0 (Microsoft Open Specification Promisse) OData 3.0 (public) OData 4.0 (OASIS TC)
  • 8. STRUCTURE OF ODATA Architecture REST Protocol HTTP Data Formats (Serialization) AtomPub JSON Metadata CSDL (Conceptual Data Definition Language) Data as Resources GET, PUT … DELETE Cache, Proxies URI Addressable Data Flexible Syntax Entity Data Model (Chen’s 1976) Entities == Resources Associations == Links CRUD Create, Read, Update, Delete GET - Read Resource POST - Create Resource PUT - Change Resource DELETE - Delete Resource
  • 9. ENTITY DATA MODEL (EDM) Entity Container Entity Set Entity Property Property Entity Property Property Entity Set Entity Property Property Entity Property Navigation Property Entity Property Navigation Property Association Association
  • 10. METADATA DOCUMENT
  • 11. OData Resource Is Described in an Entity Data Model by Collection • Entity Set • A navigation property on an entity type that identifies a collection of entities • Entry • EntityType • Note: EntityTypes may be part of a type hierarchy Property of an entry • Primitive or Complex EntityType Property ComplexType • ComplexType Link • A Navigation Property defined on an EntityType Service Operation • Function Import
  • 12. SERVICE DOCUMENT (HATEOAS)
  • 13. ODATA URI CONVENTIONS http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name _______________________________________/ __________________/ _________________/ | | | service root URI resource path query options Root http://services.odata.org/OData/OData.svc/ Resource Path /Products Query Options $filter=price lt 3.5 Entity Set /Products Single Entity /Products(3) Member Access /Products(3)/Price LinkTraversal /Products(3)/Supplier
  • 14. URI SYNTAX
  • 15. ATOMPUB - EDM (HATEOAS) Atom / AtomPub Property Entry Collection / Feed Service EDM Property Entity Entity Set Entity Container
  • 16. ATOM ENTRY
  • 17. OASIS ODATA 4.0 Design Goals • A "web of structured data" without boundaries between isolated services • Request exactly the desired subset of data with as few roundtrips as possible • Keep the query language simple and intuitive • Make all features of OData combine well with each other • Keep each single feature as simple as possible • Avoid having several ways to achieve the same goal
  • 18. • Model Evolution (Versioning) • Model Reuse and Cross-Service  Navigation • Deltas • Asynchronous Requests and Callbacks • Vocabularies and Annotations • Actions and Functions • Improved Query Language ($search, CrossJoin, Lambda …) • ImprovedType System • Entity References • New JSON • MISC (stream properties, geo data types, any()/all() operators …)
  • 19. PART II
  • 20. LET’S PLAY WITH ODATA AND DO SOME DEMOS
  • 21. QUESTIONS & ANSWERS
  • 22. SOURCES AND CONTACT http://odata.org http://olingo.apache.org https://www.oasis-open.org/ committees/odata/ Stephan Klevenz PMC Member of Apache Olingo sklevenz@apache.org @sklevenz

×