There is a big difference -- and I do mean a *big* difference -- between
a conversation and a statement. Children, especially my children, are
exhibiting difficulty with the distinction at the moment. They see no
reason why they cannot simply shout out statements (normally of the "I
want X" variety) at arbitrary points in time. They do so oblivious of
the need to orchestrate the exchange of these statements with the
service node targeted by the statements -- typically me or my
long-suffering wife.
Orchestration -- an agreed upon protocol for the exchange of statements
-- is the key to having a productive conversation. Without
orchestration, there is chaos, blood pressure, and much wailing and
gnashing of teeth.
As the Cluetrain Manifesto[1] tells us, markets are conversations.
Closer to the heart of us technologists, business processes are
conversations. Commerce is an orchestrated dance of sales pitch,
enquiry, haggle, agreement, deal, and value exchange in a pretty well
defined order.
Once the XML scheme had spread into the financial sector, it took about
two nanoseconds for technologists to realize that it could be applied to
capturing *statements* in commerce. Then, quicker than a kid can shout,
"I want chocolate now!", a bunch of initiatives were under way to
describe common business statements such as purchase order, invoice,
etc.....
But then an interesting thing happened. The difference between a
statement and a conversation dawned. No amount of beautifully crafted
statements adds up to a conversation. A conversation requires ebb and
flow, the passage of time, you need a dance....
To start with, various bodies just rolled their own conversation
languages to get around the problem. They had to bite off all the age
old nuggets of reliable messaging, sequencing, transactional integrity,
and so on. All over the map, the same problem -- "the conversation
problem" -- was solved over and over and over again.
Come to think of it, that is pretty much where we are now -- no off-the
shelf "plumbing" available to create a conversation out of a number of
orchestrated statements. Well, that's not quite true. A major light
burns on the horizon. For reasons I don't quite understand, the whole
Web Services thing has caused the conversation problem to take center
stage.
Right now, attempts at standardizing a conversation language are coming
out of the woodwork every quarter. XLANG, WSFL, WSCI, WSCL, DAML-S...
the list goes on and on. It's quite chaotic at the moment but that's
okay. There is lots of activity and that is the main thing because it
will eventually sort itself out.
Personally, I think the emergence of a standard conversation language on
the Web will be the key leap forward in the whole Web Services arena.
Not SOAP, not REST, not UDDI. The conversation is the key enabler. The
real missing piece. You know what? Maybe the Web Services standards
people need to beef up the number of parents of pre-teens involved in
the design. They are the real experts in the evolution from statements
to conversations. They can take their work home with them too.
Finally, a thank you to Panos Konstantinidis for suggesting "heterarchy"
as an antonym for "hierarchy" which came up in a recent column [2].
NOTES
[1] http://www.cluetrain.com/
[2] http://www.itworld.com/nl/xml_prac/06272002/