SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
APACHE OLINGO
OASIS OData - Client and Server	

Stephan Klevenz,ApacheCon 2014 Denver
AGENDA
• Part I	

• OData Protocol	

• Overview	

• OASIS	

• Part II	

• Play with OData	

• Demos	

• Basic Processor	

• Annotation Processor	

• JPA Processor
PART I
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
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
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
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)
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
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
METADATA DOCUMENT
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
SERVICE DOCUMENT
(HATEOAS)
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
URI SYNTAX
ATOMPUB - EDM	

(HATEOAS)
Atom / AtomPub
Property
Entry
Collection / Feed
Service
EDM
Property
Entity
Entity Set
Entity Container
ATOM ENTRY
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
• 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 …)
PART II
LET’S PLAY WITH 	

ODATA AND DO SOME
DEMOS
QUESTIONS & ANSWERS
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

Weitere ähnliche Inhalte

Was ist angesagt?

Airflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceAirflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceTao Feng
 
Unleashing the value of metadata with Talend
Unleashing the value of metadata with Talend Unleashing the value of metadata with Talend
Unleashing the value of metadata with Talend Jean-Michel Franco
 
OData: A Standard API for Data Access
OData: A Standard API for Data AccessOData: A Standard API for Data Access
OData: A Standard API for Data AccessPat Patterson
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practicesAnkita Mahajan
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaEdureka!
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveNordic APIs
 
Graph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph DatabaseGraph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph DatabaseConnected Data World
 
HTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeHTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeAbhishek L.R
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Paulo Gandra de Sousa
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUDPrem Sanil
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsTessa Mero
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - APIChetan Gadodia
 

Was ist angesagt? (20)

Airflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceAirflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conference
 
Unleashing the value of metadata with Talend
Unleashing the value of metadata with Talend Unleashing the value of metadata with Talend
Unleashing the value of metadata with Talend
 
OData: A Standard API for Data Access
OData: A Standard API for Data AccessOData: A Standard API for Data Access
OData: A Standard API for Data Access
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep Dive
 
Graph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph DatabaseGraph in Apache Cassandra. The World’s Most Scalable Graph Database
Graph in Apache Cassandra. The World’s Most Scalable Graph Database
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Rest web services
Rest web servicesRest web services
Rest web services
 
HTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status CodeHTTP Request Header and HTTP Status Code
HTTP Request Header and HTTP Status Code
 
API Basics
API BasicsAPI Basics
API Basics
 
OAuth
OAuthOAuth
OAuth
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 
Rest API
Rest APIRest API
Rest API
 
Listeners and filters in servlet
Listeners and filters in servletListeners and filters in servlet
Listeners and filters in servlet
 
REST API and CRUD
REST API and CRUDREST API and CRUD
REST API and CRUD
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
File Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & ParquetFile Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & Parquet
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
 
Introduction to REST - API
Introduction to REST - APIIntroduction to REST - API
Introduction to REST - API
 

Ähnlich wie Apache Olingo - ApacheCon Denver 2014

OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developersGlen Gordon
 
OData and SharePoint
OData and SharePointOData and SharePoint
OData and SharePointSanjay Patel
 
Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIGert Drapers
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataPace Integration
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Woodruff Solutions LLC
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Woodruff Solutions LLC
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)Pavan Golesar
 
Virtuoso Universal Server Overview
Virtuoso Universal Server OverviewVirtuoso Universal Server Overview
Virtuoso Universal Server Overviewrumito
 
OData support in Cast Iron 7.5.1
OData support in Cast Iron 7.5.1OData support in Cast Iron 7.5.1
OData support in Cast Iron 7.5.1Sarath Ambadas
 
Introduction to Google APIs
Introduction to Google APIsIntroduction to Google APIs
Introduction to Google APIsSiva Arunachalam
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Eric D. Boyd
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Hortonworks
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical ApproachMadhaiyan Muthu
 
Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)ukdpe
 

Ähnlich wie Apache Olingo - ApacheCon Denver 2014 (20)

OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
 
OData and SharePoint
OData and SharePointOData and SharePoint
OData and SharePoint
 
Introduction to o data
Introduction to o dataIntroduction to o data
Introduction to o data
 
Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPI
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and OData
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Odata
OdataOdata
Odata
 
Odata
OdataOdata
Odata
 
Virtuoso Universal Server Overview
Virtuoso Universal Server OverviewVirtuoso Universal Server Overview
Virtuoso Universal Server Overview
 
OData support in Cast Iron 7.5.1
OData support in Cast Iron 7.5.1OData support in Cast Iron 7.5.1
OData support in Cast Iron 7.5.1
 
Introduction to Google APIs
Introduction to Google APIsIntroduction to Google APIs
Introduction to Google APIs
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
 
Real-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalRReal-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalR
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)
 

Kürzlich hochgeladen

concept of soil quality & soil health.pptx
concept of soil quality & soil health.pptxconcept of soil quality & soil health.pptx
concept of soil quality & soil health.pptxpranavmishrafzd
 
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...ThinkInnovation
 
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsba
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsbaAdobe Scan 06-Mar-2024 (1).pdfwvsbbsbsba
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsbas73678sri
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformationAnnie Melnic
 
Unlocking Anticipatory Text Generation- A Constrained Approach for Large Lan...
Unlocking Anticipatory Text Generation-  A Constrained Approach for Large Lan...Unlocking Anticipatory Text Generation-  A Constrained Approach for Large Lan...
Unlocking Anticipatory Text Generation- A Constrained Approach for Large Lan...Ingeol Baek
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaManalVerma4
 
Báo cáo Connected Consumer Quý 4 năm 2023
Báo cáo Connected Consumer Quý 4 năm 2023Báo cáo Connected Consumer Quý 4 năm 2023
Báo cáo Connected Consumer Quý 4 năm 2023MarketingTrips
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfNicoChristianSunaryo
 
prediction of default payment next month using a logistic approach
prediction of default payment next month using a logistic approachprediction of default payment next month using a logistic approach
prediction of default payment next month using a logistic approachAdekunleJoseph4
 
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYMANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYFreelance
 
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYINTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYFreelance
 
Film cover research.pptx for media courseowrk
Film cover research.pptx for media courseowrkFilm cover research.pptx for media courseowrk
Film cover research.pptx for media courseowrk494f574xmv
 
Data Discovery With Power Query in excel
Data Discovery With Power Query in excelData Discovery With Power Query in excel
Data Discovery With Power Query in excelKapilSidhpuria3
 
Adobe Scan 06-Mar-2024 (1).pdf shavashwvw
Adobe Scan 06-Mar-2024 (1).pdf shavashwvwAdobe Scan 06-Mar-2024 (1).pdf shavashwvw
Adobe Scan 06-Mar-2024 (1).pdf shavashwvws73678sri
 
Introductio to Data Science and types of data
Introductio to Data Science and types of dataIntroductio to Data Science and types of data
Introductio to Data Science and types of dataManishaPatil932723
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...Jack Cole
 
testingsdadadadaaddadadadadadadadaad.pdf
testingsdadadadaaddadadadadadadadaad.pdftestingsdadadadaaddadadadadadadadaad.pdf
testingsdadadadaaddadadadadadadadaad.pdfDSP Mutual Fund
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 

Kürzlich hochgeladen (20)

concept of soil quality & soil health.pptx
concept of soil quality & soil health.pptxconcept of soil quality & soil health.pptx
concept of soil quality & soil health.pptx
 
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...
Predictive Analysis - Using Insight-informed Data to Plan Inventory in Next 6...
 
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsba
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsbaAdobe Scan 06-Mar-2024 (1).pdfwvsbbsbsba
Adobe Scan 06-Mar-2024 (1).pdfwvsbbsbsba
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformation
 
Unlocking Anticipatory Text Generation- A Constrained Approach for Large Lan...
Unlocking Anticipatory Text Generation-  A Constrained Approach for Large Lan...Unlocking Anticipatory Text Generation-  A Constrained Approach for Large Lan...
Unlocking Anticipatory Text Generation- A Constrained Approach for Large Lan...
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in India
 
Báo cáo Connected Consumer Quý 4 năm 2023
Báo cáo Connected Consumer Quý 4 năm 2023Báo cáo Connected Consumer Quý 4 năm 2023
Báo cáo Connected Consumer Quý 4 năm 2023
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdf
 
prediction of default payment next month using a logistic approach
prediction of default payment next month using a logistic approachprediction of default payment next month using a logistic approach
prediction of default payment next month using a logistic approach
 
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYMANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
MANAGING RESOURCES FOR BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
 
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITYINTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
INTRODUCTION TO BUSINESS ANALYTICS BA4206 ANNA UNIVERSITY
 
Film cover research.pptx for media courseowrk
Film cover research.pptx for media courseowrkFilm cover research.pptx for media courseowrk
Film cover research.pptx for media courseowrk
 
Data Discovery With Power Query in excel
Data Discovery With Power Query in excelData Discovery With Power Query in excel
Data Discovery With Power Query in excel
 
Adobe Scan 06-Mar-2024 (1).pdf shavashwvw
Adobe Scan 06-Mar-2024 (1).pdf shavashwvwAdobe Scan 06-Mar-2024 (1).pdf shavashwvw
Adobe Scan 06-Mar-2024 (1).pdf shavashwvw
 
2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use
 
Introductio to Data Science and types of data
Introductio to Data Science and types of dataIntroductio to Data Science and types of data
Introductio to Data Science and types of data
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
 
testingsdadadadaaddadadadadadadadaad.pdf
testingsdadadadaaddadadadadadadadaad.pdftestingsdadadadaaddadadadadadadadaad.pdf
testingsdadadadaaddadadadadadadadaad.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 

Apache Olingo - ApacheCon Denver 2014

  • 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
  • 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
  • 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
  • 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
  • 15. ATOMPUB - EDM (HATEOAS) Atom / AtomPub Property Entry Collection / Feed Service EDM Property Entity Entity Set Entity Container
  • 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 …)
  • 20. LET’S PLAY WITH ODATA AND DO SOME DEMOS