oasis odata technical committee. agenda introduction oasis odata technical committee odata overview...
Post on 28-Mar-2015
228 Views
Preview:
TRANSCRIPT
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
OData Overview
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.
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
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
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”
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
VOCABULARIES
• Shared annotation terms• Type or Value terms
• Common Extensions• Capabilities, Display, etc.
• Ontologies• Shared schemas• Include data and operations
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
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
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
Q & A
top related