OASIS Approves OData 4.0 Standards For an Open, Programmable Web
First time accepted submitter Dilettant writes "The OASIS members approved Version 4 of the OData standards, which now also feature the long requested compact JSON as primary format. OData helps "simplifying data sharing across disparate applications in enterprise, cloud, and mobile devices" through interfacing data sources via a REST like interface."
Look... I have to live with it in my work, okay? But it's anything but fun to work with.
For computer-to-computer data interchange, JSON is not bad. But it's about as human-readable as the Voynich Manuscript.
If (PlatformIndepenentProgrammingRelated == True) And (RelatedToJava == False) {
Good!!!
}
They cracked the code on good web programming standards lol.
An Irish android? How appropriate!
I eat only the real part of complex carbohydrates.
At the link for the specifications OData JSON Format Version 4.0
The documents that are tagged as Authoritative are .doc, not even .docx
I am Slashdot. Are you Slashdot as well?
OData is (now) a standard for how applications can exchange structured data, oriented towards HTTP and statelessness.
OData consumers and producers are language and platform neutral.
In contrast to something like a REST service, for which clients must be specifically authored and the discovery process is done by humans reading an API doc, ODATA specifies a URI convention and a $metadata format that means OData resources are accessed in a uniform way, and that OData endpoints can have their shape/semantics programmatically discovered.
So for instance, if you have entity named Customer hosted on http://foo.com/myOdataFeed, I can issue an HTTP call like this:
GET http://foo.com/myODataFeed/Cus...
and get your customers.
furthermore, the metadata document describing your customer type will live at
foo.com/myODataFeed/$metadata ... which means I can attach to it with a tool and generate proxy code, if I like. It makes it easy to build a generic OData explorer type tool, or for programs like Excel and BI tools to understand what your data exposes.
Suppose that your Customers have have an integer primary key, (which I discovered from reading $metadata), and have a 1:N association to an ORders entity. I can therefore write this query:
GET http://foo.com/myODataFeed/Cus... .. and get back the Orders for just customer ID:1
I can add additional operators to the query string, like $filter or $sort, and data-optimization operators like $expand or $select.
OData allows an arbitrary web service to mimic many of the semantics of a real database, in a technology neutral way, and critically, in a way that is uniform for anonymous callers and programmatically rigorous/discoverable.
Examples of OData v3 content are available here:
http://services.odata.org/V3/N...
OData V4 is a breaking protocol change from V3 and prior versions, but has been accepted as a standard
And, shameless plug: If you want to consume and build OData V1/V2/V3 services easily, check out Visual Studio LightSwitch :)
My opinions are my own, and do not necessarily represent those of my employer.
SPARQL appears to be read only, and to be restricted to data in kvp or 3-tuples.
OData supports mutable entities, change and request batching, and http GET semantics for data access. It would appear to map much better to real-world databases and business use-cases.
My opinions are my own, and do not necessarily represent those of my employer.
Know who leads the OData brigade? Microsoft. Get your crying ready, neckbeards.
On a more serious note, OData is awesome. If you've ever tried to provide a good data query API (supporting boolean syntax arbitrary queries) via a web service it's not easy. OData does it very well.
Sure, you'll get some whining from people who don't understand it that it forces you to expose your data model to the outside world, but it does absolutely no such thing. You can, should you choose, expose a complete abstraction layer over your data model. But for a lot of uses it's really easiest to just let Visual Studio do its magic an presto, you have a web service accessible data access layer.
SPARQL 1.1 supports updates (insert/delete) and the SPARQL CONSTRUCT operator can be used to build query results in a nested graph format. Additionally SPARQL protocol defines a standard HTTP binding protocol that can generate output in CSV and JSON formats in addition to XML. To me it appears OData is a reimagining of W3C's Semantic Web efforts.
If a nation expects to be ignorant and free, in a state of civilization, it expects what never was and never will be-T J