On 11/12/06, Jan Algermissen <[EMAIL PROTECTED]> wrote: > > > > > > > > On Dec 11, 2006, at 10:39 AM, Steve Jones wrote: > > > No I do... if you are saying that it is impossible to have formal > > contracts in REST and that REST cannot publish application interfaces > > ahead of time > > With REST, the application interface is uniform (I wonder how many times > this **fact** has to be repeated to make it's way through)?
About a billion I'm guessing, or until you realise the difference between an invocation and an application or service level interface. > > All objects have THE SAME interface (the same set of methods) there > are no > others. Nothing that needs to be published. And the object format doesn't need to be published either? The request formats? > > For the HTTP case: The HTTP specs is where the interface is specified. > > There are no other operations or invocations or whatever you call it. > > If you need to get stuff done, you do it by manipulating object > state, not > by calling methods. And how do you specify how the object's state will be manipulated? How do you tell the consumer the acceptable formats for the manipulation of that state? How do you define requests that result in the modification not of the resources state but in the state of a related object? > > Honestly, why is this so hard to get across? Certainly a question given I've read the REST paper and heard this line many many times, and even consumed a few REST resources (although now Amazon isn't REST I've lost one of my reference points). You'd almost think that I understood the GET/PUT bit and I was asking about how the resources themselves would be documented so you can document how all the various required transition requests can be compressed down into four basic request types. I'm equally stunned that people struggle with the difference between invocation and application. POST/PUT are not sufficient to say how REST will implement a complex resource like inventory to enable different types of inventory management to be implemented. Tell you what would help, show me how a URI and PUT/GET/POST/DELETE are sufficient for inventory management of a complex supply chain without requiring ANYTHING that isn't in standard HTTP. This means 1) Just standard HTTP MIME types 2) No XML Schemas If REST has a uniform application interface that consists ONLY of that defined in HTTP then this should be sufficient. If however you require additional elements such as MIME types or XML Schemas then it isn't and there are additional elements that are required to fully specify the application/service level interfaces. Hint: HTML/HTTP uses more than just HTTP. > > Jan > >
