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]
Damn, DanC is one productive mofo.
(
link) [
del.icio.us/distobj]
Tres cool demo from Microsoft, as described
on Ray Ozzie’s blog;
But each site is still in many ways like a standalone application. Data inside of one site is contained within a silo. Sure, we can cut and paste text string fragments from here to there, but the excitement on the web these days is all about “structured data” such as Contacts and Profiles, Events and Calendars, and Shopping Carts and Receipts, etc. And in most cases, the structured form of this data, which could be externalized as an XML item or a microformat, generally isn’t. It’s trapped inside the page, relegated to a pretty rendering.
So, where’s the clipboard of the web?
If you take a look at what gets put in your clipboard on a “copy/cut”
action, you see this;
<?xml version="1.0" encoding="utf-8" ?><liveClipboard version="1.0"
xmlns:lc="http://www.microsoft.com/schemas/live"><lc:format type="hCard">
%3Cdiv%20class%3D%22vcard%22%3E%3Cdiv%20class%3D%22n%22%3E%3C
span%20class%3D%22given-name%22%3EMatt%3C/span%3E%20%3Cspan%20
class%3D%22family-name%22%3EAugustine%3C/span%3E%3C/div%3E%3Ca%20
class%3D%22email%22%20href%3D%22matta@microsoft.com%22
%3Ematta@microsoft.com%3C/a%3E%3Cdiv%20class%3D%22tel%22%3E%3C
span%20class%3D%22value%22%3E425%20707%207716%3C/span%3E
%3C/div%3E%3Cdiv%20class%3D%22adr%22%3E%3Cspan%20class%3D
%22type%22%3EWork%3C/span%3E%3A%3Cdiv%20class%3D%22street-address%22
%3E1%20Microsoft%20Way%3C/div%3E%3Cspan%20class%3D%22locality%22
%3ERedmond%3C/span%3E%20%3Cspan%20class%3D%22region%22%3EWA%3C
/span%3E%20%3Cspan%20class%3D%22postal-code%22%3E98052%3C/span
%3E%20%3Cabbr%20class%3D%22type%22%20title%3D%22dom%22%3EUSA%3C
/abbr%3E%3C/div%3E%3C/div%3E
</lc:format></liveClipboard>
I wonder what purpose is served by the proprietary XML wrapper? The
“type” doesn’t need to be specified. I suppose the relevant value of the
HTML profile should be imported if present, but that could also be done
by prepending the relevant snippet from the HEAD, no?
Tags:
microformats
Justsystem acquires XMetal. Woot!
(
link) [
del.icio.us/distobj]
Via Jim Webber, a really nice description of the differences between RPC and state transfer approaches using a uniform interface. “The message on the channel no longer represents an instruction but rather an event, a notification that something happened”
(
link) [
del.icio.us/distobj]