Richard,
It's unclear to me what your definition is...
For a web service to be RESTful, the HTTP method must control the
action, and the URL must identify the business object to operate on.
Example:
GET
http://example.com/orders/12345
This would retrieve an order number 12345. The "verb" is the HTTP
method, in this case, GET -- which means to retrieve. The URL
identifies the order.
PUT
http://example.com/orders/12345
Same URL, but this time it creates/replaces the order, because the PUT
method was used.
POST
http://example.com/orders/12345
Modifies an order, because it's a POST operation
DELETE
http://example.com/orders/12345
Hopefully you get the picture. Now let's say I decided to do this using
XMLSERVICE
POST
http://example.com/cgi-bin/xmlcgi.pgm
The object being identified would be in an uploaded XML document. The
action to perform would also be in the uploaded XML document. The action
is NOT determined by the HTTP method. The object to operate on is NOT
determined by the URL. It's not RESTful.
It has nothing to do with whether the parameters are/aren't in XML.
It's the very fact that the object to operate on is _in_ a parmeter (as
opposed to the URL) and the action to take is also _in_ a parameter (as
opposed to using the HTTP method) that tells us that it is not RESTful.
I only skimmed the article you linked to, but it seems to agree with me.
You refer to "small semantics" and an in earlier post you referred to
"purists". The problem is, these "small" semantics you refer to are the
/defining/ characteristics of what RESTful is.
Saying that XMLSERVICE is RESTful except for small semantics is like
saying that I'm a woman except for small semantics. I'm very similar to
a woman! I have a head, two arms, two legs. I speak the same human
languages that women speak. I eat, sleep, breathe, drive cars, read
books, and type on a keyboard, just like a woman does. There are only a
few small differences between me and a woman, right? The problem is...
those small differences _are_ the defining characteristics. Namely, that
I'm MALE.
The same is true with XMLSERVICE. It's not RESTful, because it doesn't
use the HTTP method as a verb, or the URL as the noun, and these are the
defining characteristics of what it means to be RESTful.
On 1/26/2012 7:20 PM, Richard Schoen wrote:
Here's an interesting article on RESTful services
http://www.ibm.com/developerworks/webservices/library/ws-restful/
I think other than having to format a parameter as XML, XMLSERVICE fits the RESTful definition pretty closely outside of using the actual URL as parameters.
Small semantics in my opinion :)
To me RESTful is anything where I can pass a formatted URL with parms of some sort and get data back in XML, JSON or whatever format I desire.
Maybe you have a tighter definition on RESTful, but I like my definition.
Regards,
Richard Schoen
RJS Software Systems Inc.
Where Information Meets Innovation
Document Management, Workflow, Report Delivery, Forms and Business Intelligence
Email: richard@xxxxxxxxxxxxxxx<mailto:richard@xxxxxxxxxxxxxxx>
Web Site: http://www.rjssoftware.com<http://www.rjssoftware.com/>
Tel: (952) 736-5800
Fax: (952) 736-5801
Toll Free: (888) RJSSOFT
----------------------------------------------
I would call XMLSERVICE "POX" (Plain Old XML). It's definitely not REST...
On 1/26/2012 5:56 PM, Richard Schoen wrote:
Yes, the purists might say it's probably not true REST, but to me it
fits the concept of almost REST just fine :-)
As an Amazon Associate we earn from qualifying purchases.