William Henry wrote a little piece called Poor Service Semantics where he criticizes uses of CORBA IDL that offer operations like “runIt” or “doIt”. He writes;

The problem with these is that the semantics are lost as to what the business actually is doing.

Rubbish! “what the business actually is doing” is determined by the implementation of the service. Do you want clients of your services to have dependencies upon those implementations? I thought not. We have a name for that practice, “tight coupling”.

submitPizzaOrder() tells you less about what the business is doing than submitPepperoniPizzaOrder(), but is it somehow less of business semantic as a result? No, of course not, it’s just more general. Likewise, submitOrder() is more general still, and submit() yet more general again … so general in fact that it can’t be generalized any further (i.e. it’s uniform).

doIt, runIt, submit, processMessage, or POST; whatever you want to call your “process this document” semantic, it’s most definitely a business operation, just a highly reusable one.

Tags: soa, rest, mest, webservices.

You mean they aren’t already?
(link) [del.icio.us/distobj]
Wow, congrats Tim and Lauren! To think that we gave up on the idea of having any more at the combined age of 72! 8-O
(link) [del.icio.us/distobj]
“I don’t know about you, but I am rearing my children to be prepared for a world that is not centered on America. Are you?”
(link) [del.icio.us/distobj]
“Instead, standards such as Plain Old XML (POX) over HTTP and Representational State Transfer (REST) are asserting themselves as legitimate and very credible ways of delivering on the value proposition of Web services”. Who knew?! 8-)
(link) [del.icio.us/distobj]