OData v4.0 Committee Specification with Data Models, URL Components, CSDL, Vocabulary and Annotation
OData v4.0 has been recently approved as a Committee Specification (CS) by OASIS Open Data Protocol technical committee and is available in 3 parts. OData includes an ability to make use of REST based data services to access and manipulate resources defined according to an entity data model.
The first part of the specification provides a basic overview of the protocol in addition to comprehensive coverage of data and service models, versioning, extensibility, formats, header fields, context URL, data service requests, security considerations and various service conformance levels. It also includes status codes of common responses such as success, client and server errors including in-Stream errors.
The second part examines URL components, service root URL, resource path, query options (both system and custom), parameter aliases and conformance related topics. With the help of the third part of the specification, you will be able to learn about the Common Schema Definition Language (CSDL) that defines an XML representation of the entity data model exposed by an OData service.
It provides coverage of CSDL namespaces, entity model wrapper elements and various types of entity models such as nominal, structured, primitive, built-in abstract types and annotations. It also examines schema elements in addition to structural, navigation, entity, complex, enumeration property elements and attributes.
The specification also provides content related to type definition, action, function, entity container, vocabulary and annotation, metadata service schema along with examples and attribute values. In addition to online availability of the documentation, the complete ODATA v4.0 specification along with related files with source codes are available for download from the official oasis site.
In an exclusive interview to InfoQ, Ram Jeyaraman, Senior Standards Professional, Microsoft shared few extra information about the release of OData v4 specification.
InfoQ: Can you share with us the purpose of the new (OData v4) release?
The purpose of the blog post about the new release is to inform about the progression of the OData v4 specifications through the standardization process in OASIS. As you might already know, OData v4 is being developed and standardized in OASIS by a technical committee (https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata) composed of a number of companies and individuals.
Committee Specification stage is an important step in the progression towards the final standard. When the specifications reach Committee Specification stage, it means the work is feature complete, and that implementers can start implementing the specifications and do interoperation testing etc. before the final standard is produced.
InfoQ: Who will benefit from these specifications?
OData v4 defines an open data protocol to access and update data across data services on the web. Basically, it is ODBC for the web. It relies on Web protocols and conventions such as HTTP and REST. Any data service provider (whether on the web or not) or a client who wants to access such data services in an open and standard way may benefit from OData.
InfoQ: Do you have any plan to update the specifications on a regular basis?
Yes, the plan is to advance OData v4 to an OASIS Standard within the next 6 months. After that, I expect the OASIS OData Technical Committee will continue to add new features based on need and implementation experience. Yes, we fully expect OData v4 to evolve further as the adoption grows.