OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview...

15
OASIS OData Technical Committee

Transcript of OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview...

Page 1: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

OASIS OData Technical Committee

Page 2: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

AGENDA

• Introduction• OASIS OData Technical Committee• OData Overview• Work of the Technical Committee• Q&A

Page 3: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

OASIS ODATA TECHNICAL COMMITTEE

• OASIS OData Technical Committee Announcement May 24, 2012• Supporters: Microsoft, IBM, SAP, Citrix, WS02, Progress, CA, Red Hat• Microsoft contributed OData version 3.0 specs

• Schedule• Call for participation June 11th

• First meeting July 26-27th in Redmond, WAo Members must join by July 19th to vote at first meeting

• Charter proposes ~12 months to Standardize

• More information on joining the OASIS OData Technical Committee• https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata

Page 4: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

OData Overview

Page 5: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

OPEN DATA PROTOCOL (ODATA)

A common, open, REST-ful Web protocol for querying and updating data that provides a uniform way to unlock data and free it from silos that exist in applications today.

Page 6: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

ODATA PRINCIPLES

• Build On REST Principles• Resource-oriented

o Entities modeled as Resourceso Relationships modeled as linkso CRUD = POST, GET, PUT/PATCH, DELETE

• Hypermedia-driveno Navigate from Service Document to Sets to Members to related items to…o Links in Payload for editing, navigation, operations, etc.

• Model-based• URLs, operations, namespaces, derived from declarative model

• Build on Existing Formats• ATOM, JSON

Page 7: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

ODATA ENTITY DATA MODEL

• Entities• Named structures with keys• Inheritance

• Properties• String, Integer, Boolean, DateTime, Spatial datatypes• Collections, Complex Types• Stream Properties• Dynamic Properties

• Relationships• Expose navigation paths

Page 8: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

ODATA SEMANTICS

• Query• Basic filter, sort, projection• Built-in functions• Client/Server paging• Expand

• Navigation• Hyper-media driven relationship links in payload

• Data Modification• POST – a new entity to a collection• PUT/PATCH – to an edit URL to update a retrieved entity• DELETE – to an edit URL to delete an entity

• Batch Operations• Single request, group requests into atomic “changesets”

Page 9: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

EXTENSIBILITY

• Custom Actions• Side-effecting operations that may or may not return a value• May be exposed on instances (Hypermedia-driven)

• Custom Functions• Extend query language• May be exposed on instances (Hypermedia-driven)

• Metadata Annotations• Extend the metadata language

• Instance Annotations• Add additional information to the payload

Page 10: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

VOCABULARIES

• Shared annotation terms• Type or Value terms

• Common Extensions• Capabilities, Display, etc.

• Ontologies• Shared schemas• Include data and operations

Page 11: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

WORK OF TECHNICAL COMMITTEE

• Address issues, comments, errors in submitted documents• Extend OData to support:

o Deltas– Servers return “delta link” that can be used to fetch changes to a result

o Analytic Data– Add $aggregate, $rollup to query– Join support (queries rooted at EntityContainer)– Annotations for “measures”, hierarchies, dimensions, etc.

o Temporal Data– Functions to query “as of” a particular application/system time or time range– Annotate columns that represent “from” and “to” time validity

o Operations against XML, JSON streams– Specify content type for streams– Define operations on well known content types

• Simplified JSON Formato Describe metadata through a common instance annotation mechanismo Leverage templating to remove redundant metadata information from payload

Page 12: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

ODATA EXTENSION DESIGN PRINCIPLES

• Keep it Simple!• Support common scenarios without trying to implement every possible variation• Model the concepts you want the clients to consume

o Push modeling complexity to the service

• Hypermedia-driven• Follow REST principles wherever possible, deriving semantics from exposed Data

Model

• Make Extensions Incremental• Extensions must not violate core semantics of OData

o Client libraries that don’t understand the extensions should still worko Clients that do understand the extensions can have a richer experience

• Be Consistent• Consistency/reuse across core/extensions enhances simplicity

Page 13: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

GET INVOLVED!

• Join the OASIS OData Technical Committee:https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata

• Submit comments to the OASIS OData Mailing List:https://www.oasis-open.org/committees/comments/index.php?wg_abbrev=odata

• Participate in the OData Communityhttp://www.odata.org

Page 14: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.

Q & A

Page 15: OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.