01/17/08 :: [REST] The Myth of a "UNiform" Interface is Gone [permalink]
Stefan commented on Dare Obasanjo's latest post: "Myth: RESTful Web Services DOn't Need an IDL".
That couple of sentences made my day:
When building services with WS-*, you have a WSDL to describe your methods & expected inputs/outputs and XSD schema(s) to describe the schemas for said inputs/outputs. When building a RESTful Web Service, the need for both of these documents does not go away regardless of how often you repeat the phrase “uniform interface”.
Nope, I did not write them, Dare did.
I did not write this either, John Fry commented:
IMHO this is the single biggest barrier with using REST in any sort of enterprise way. When working with REST interfaces, I feel like I working with a raw C static library and my only source of navigation is the developers crappy documentation.
Read this from John Heintz:
Also, the most interesting and intricate parts are left out of most IDLs (CORBA, WSDL, Java/C# interfaces, …): states, transitions, pre/post conditions, and everything else that is maybe described in a blurb of text.
My suggestion for what we should be talking about is a “state definition” language. REST is “State Transfer” with a uniform interface. Providing an extensible, composable, shared semantic between providers and consumers to document high level states and resources makes sense to me.
John, we are in complete agreement about everything, I don't want to comment of SDL vs IDL, this is not my debate, this is a debate for the REST community.
Well sometimes, it really helps to have a discussion and create some "understanding", even if you have to be rough to spark the discussion. My job is done, that's where I wanted to drive the discussion, I won't go as far as telling the RESTifarian how they should be designing their XXDL (pick what ever you want for XX). Just a word of caution, don't just try to be "different" try to be "better" than WS-*. Another word of caution, I said it, beware of who you bring on board, otherwise, you'll get RPC or CORBA all over again, but I guess there is enough people allergic to that approach in the REST community that the risk is slim. You won't have to sneak it in like we did in WS-*.
(:-))