Slashdot Mirror


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."

16 of 68 comments (clear)

  1. JSON Sucks by Jane+Q.+Public · · Score: 3, Insightful

    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.

    1. Re:JSON Sucks by pigiron · · Score: 3, Insightful

      You actually prefer XML???????

    2. Re:JSON Sucks by Anonymous Coward · · Score: 5, Insightful

      Absolutely. XML is much more mature. XML has standardized schemas, validation, querying, transformation, a binary format and APIs for interoperability from any language. All JSON really has going for it is that it's already JavaScript.

      The funny thing is that, at the end of the day, JSON and XML are the same thing, only syntactically different. Yet the prevailing opinion seems to be that XML is absolute and total shit whereas JSON is some golden calf.

    3. Re:JSON Sucks by Jane+Q.+Public · · Score: 2, Interesting

      "The funny thing is that, at the end of the day, JSON and XML are the same thing, only syntactically different."

      Yes, exactly. But XML is readable by people. JSON is not. Just try to read any big dataset in JSON, especially if it's minified. Good luck. At least with XML you have a shot.

      Having said that: there are lots of good tools for converting from one to the other, so it could be a lot worse.

      You make a good point about standards and validation, though, too. That's why business data interchanges are generally built on XML, and not JSON. Even though JSON is generally more efficient.

    4. Re:JSON Sucks by rsborg · · Score: 2

      You actually prefer XML???????

      Yes, as I deal in data interchange all the time, XML is great as it allows schema definition/sharing (XSD) and XSLT is a mature transformation language, that, after many years in the woods, is now available with functional capabilities (XSLT v3.0).

      The only problem we have is that often, endpoint partners/vendors don't provide the XSD, nor do they share how they plan to validate files we send them. Or they ignore our XSD. But I still can't imagine things would be better if JSON were the interchange format.

      If I control both endpoints (i.e., our browser script talking to our server through XHR), then JSON is an acceptable format. If not, I prefer XML.

      --
      Make sure everyone's vote counts: Verified Voting
    5. Re:JSON Sucks by Jane+Q.+Public · · Score: 2

      "Really. Non of that totally unnecessary tag BS inherited from a printer definition spec (of all absurd things.) And key/value pairs are a hell of a lot easier to insert into a database in addition to being easier to read."

      Key-value pairs are a tiny subset of all data types. There are many data types that they have to struggle to represent very well. And when they try, the result (to the human eye) is a huge mess.

      You're entitled to your opinion of course. But I think you're looking at it from a very narrow perspective. Have you ever actually had to program for the exchange of complex data sets? By that I mean something quite a bit more involved than a web store?

    6. Re:JSON Sucks by Zamphatta · · Score: 2

      I couldn't agree with you more. I love XML far more than JSON. I don't get why so many seem to want to use JSON these days. Quite often, it's easy to glance at some XML and get an idea what to do with it, but you can't quite do that with JSON. Is there an XSLT equivalent for JSON? I haven't heard of one.

  2. Yay! by slashmydots · · Score: 2

    If (PlatformIndepenentProgrammingRelated == True) And (RelatedToJava == False) {
    Good!!!
    }

    They cracked the code on good web programming standards lol.

  3. O'Data by Megahard · · Score: 4, Funny

    An Irish android? How appropriate!

    --
    I eat only the real part of complex carbohydrates.
  4. Oh the irony by OzPeter · · Score: 3, Interesting

    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?
    1. Re:Oh the irony by Anonymous Coward · · Score: 2, Interesting

      Oh the irony

      History, not irony.

      Microsoft took over OASIS in 2006 as part of their campaign to scuttle open document formats. They're still running the show there.

      http://www.zdnet.com/microsoft...

  5. What is OData? Why should you care? by bmajik · · Score: 4, Informative

    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.
  6. Re:Reinvention of RDF + SPARQL by bmajik · · Score: 2

    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.
  7. Microsoft. by RightSaidFred99 · · Score: 2

    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.

    1. Re:Microsoft. by RightSaidFred99 · · Score: 2

      Lol.. The only problem with your attempt at being snide is that Microsoft's development technologies, whatever you think of their desktop OS, phones, or office suites, are beyond reproach so your joke falls more than a little flat.

  8. Re:Reinvention of RDF + SPARQL by nickmalthus · · Score: 2

    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