"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Thursday, October 14, 2004

Toward a Discipline of Coordination and Action

Don Box on verbs...

I completely agree with the first two paragraphs.

As for the last paragraph, I would argue that HTTP POST is a "coordination" verb and that WSDL is typically used for defining "action" verbs. It's not clear from Patrick's post whether we agree or disagree.

I don't have a large set of examples of SOAP systems, but I've not seen any except for Ruple (PDF) that distinguish between coordination verbs and action verbs. The uses of POST are typically many clients to one server, where the server coordinates the sessions to perform each request. So I don't see a clean distinction there either, in practice or intent.

A new set of verbs or a new discipline (like this one from Vanessa Williams) will be required to achieve the distinction. Again, Ruple is an example of a new set of verbs for coordination. (Was it just ahead of its time, or would it have been more successful if the implementation was more open?)

WS-Transfer (PDF) , like Ruple, appears to be a set of SOAP verbs for coordination. The intent is not as clear to me (it's new without much to go on save the spec itself), at least not as clear as with Ruple. Assuming the intent, I am then not sure about the relative value of WS-Transfer vs. Ruple. For example, Ruple (based on Linda) uses content-based addressing via XML patterns and queries, while WS-Transfer uses direct addressing, WS-Addressing (PDF).

Is this a problem, given a separate query mechanism that yields a direct address that becomes the target of a transfer method? I would argue that (but experience will tell whether) this complicates the coordination responsibilities of the participants. Consider a query-then-delete sequence. In Ruple this is one atomic method. In WS-Transfer a mechanism or convention outside of the specification itself is necessary to coordinate this sequence.

As referenced above, Vanessa William's Restful Tuple Spaces is such a convention using HTTP methods. As she writes...

Clearly, this isn't as simple as sending a few SOAP messages back and forth over some reliable message service.
Maybe there is a need for one more WS-xxx. (Did I say that out loud?)
BTW, Patrick, I hope you'll be at the SellsCon next week.
I can't make it this time, and the location is perfect. I've stayed there, it's great, so maybe this will become its new home.

No comments:

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.