My one and only new year's resolution this year is to take the time to write down all of the silly questions I have in my head that I would like to have answered. The kind of questions we knowledge workers do not ask willingly because of fear that we will look silly or ill-informed.
Here are a couple from my ever-expanding list:
1) Archaeologists must dig down into the earth to discover stone ageartifacts. Where did all of the new earth come from to bury everything?
2) Is there a scientific explanation for the fact that the moon is justthe right size to totally eclipse the sun, and that it is at just theright rotational speed to ensure we only see one side of it from Earth?
3) Why are there two tides a day? (I have read a few explanations forthat one but still don't feel that I understand it properly.)I remember studying English grammar in my youth and finding my headexploding with "why" questions I was too diffident to ask. Here are someI remember:
1) Are irregular verbs unavoidable? Wouldn't language acquisition be somuch easier without them? Why do they exist?
2) Why are there so many "special cases" that break the rules?
3) Why are there so many more nouns than verbs?
Let's skip the question about the avoidability of irregular verbs andthe plenitude of special cases. (I still have not come across a goodexplanation of these phenomena!). Instead, let's concentrate on thequestion of the disparity between the number of verbs and the number ofnouns.
It sounds plausible that in the classic subject/verb/object scheme ofthings common to almost all languages, there are many more objects inthe world than there are actions you would want to perform on objects.
By combining a small number of verbs with a large number of nouns(objects), you create a very large communication space with the minimumof fuss. As long as you know the general rule for applying verbs tonouns you can do so without any extra language machinery beyond thegeneral rule. I'll buy that.
Believe it or not, this brings us nicely onto the subject of enterpriseapplication integration (EAI) in general and web services in particular.
The web can usefully be thought of as a large collection of nouns. Thesenouns are known as URLs. Basically, things that have addresses, createdusing a unified, universal naming convention.
The web also has a small set of verbs. Some of the most common are GET,PUT, POST and DELETE. The HTTP protocol is basically the means by whichwe apply this small set of verbs to a vast sea of nouns on the web.
Recently however, we have seen the emergence of the web equivalent ofirregular verbs. Hoards of them in fact. Each of which must be learnedon a case-by-case basis. There is no rhyme or reason to how these verbswork. You just have to learn them just like the irregular verbs of yourgrammar classes.
Examples include the verbs "To search using search engine X", "To createa PDF", "To list Italian fiscal codes". . . A sample list of these socalled web services are available on the Xmethods website.
Web services technology - in the sense of SOAP/WSDL - is basically arecipe for creating an uncountable number of irregular verbs - one foreach noun on the Web!
But look back at what we started with on the web. No irregularity. Justa vast communication space created out of sheer simplicity. A smallnumber of standard verbs applied uniformly to a large number of nouns.
So here is the big question. We have learned from the real pain ofenterprise application integration that irregularity really hurts. EveryCORBA IDL was basically an irregular verb. Every EDI bilateral exchangeformat was an irregular verb. The combinatorial explosion of effortinvolved in linking one irregular verb to another is unacceptable.
Irregular verbs hurt.
And yet we may have living proof that it does not have to be so. Perhapsirregularity - at least in IT languages is not unavoidable. We have theweb.
If things continue in their current trajectory in the web servicesworld, grammar classes for programmers in the future are not going to bea pleasant experience. Those that find the experience of learning thisstuff "off by heart" grindingly time consuming and boring will ask "doesit really need to be this way?". "Is all this money really being wellspent learning all this stuff?" "Why is it that EAI still costs tentimes what the hardware/software cost - just like in the CORBA and EDIdays?" "Why can't things be as simple as the original web?".
The good news is that there is a growing appreciation of *why* the Webworks, thanks in no small part to Roy Fielding's dissertation on theREST architectural style that underlies the runaway integration successstory that is the web. At the heart of REST is the idea that the webworks precisely because it uses a small number of verbs applied to alarge number of nouns.
Examples of how this idea can be applied to web services are emerging -building on the lessons of the web rather than repeating the mistakes ofEAI eras past.
As a starting point, I recommend Roger Costello's REST tutorial. Fromthere I recommend Mark Baker, Paul Prescod and Bill dehÓra.
2003 is likely to be the year when all of this will come to a head. Thedebate is unlikely to be boring.
 http://www.xmethods.com http://www.xfront.com/REST.html http://www.markbaker.ca/blog/2003/01/04#2003-01-ws-predictions http://www.blogstream.com/pauls http://www.dehora.net/journal/archives/000146.html#000146