Wednesday, November 09, 2005

AJAX: A White Tornado Stronger Than Dirt

Don Dodge believes that Microsoft reinvents itself every 5 years in an effort to adapt to an ever changing software world -- and that with Windows Live and Office Live, Microsoft has come aLIVE again, coinciding perfectly with "The Coming Web Services Tsunami". Perhaps, but Web Services is proving to be significantly more challenging than Web Browser technology was a decade ago -- the last time Bill Gates fired off a fatwa-like edict. (Don, how did Microsoft reinvent itself in the intervening period 5 years ago?)

Web Services has already been around for awhile. Thus far, Web Services have primarily been developed using SOAP, WSDL, and UDDI. For the most part, these XML-based technologies have provided a text-based alternative to binary-based object request brokers such as CORBA and DCOM. The main advantage, of course, has been XML's ability to flow freely through port 80 -- the same port used by HTTP to transmit HTML.

Web Services have mostly been designed around traditional request-reply, synchronous, client/server-like interprocess communication. Once a client makes a request, it waits until the server responds. Because all data transferred between clients and servers must be converted back and forth between binary and text on both sides of the connection, there are inherently longer delays between interactions than older CORBA or DCOM implementations. However, the performance hit is well worth the cost because of the benefit of being able to ride on top of the ubiquitous Web-based HTTP Internet network.

In addition to being slow, request-reply interactions also tend to be tightly-coupled. The huge breakthrough needed before Web Services will truly take off depends on a significant shift toward more loosely-coupled processing. That's where AJAX becomes important.

AJAX officially stands for Asynchronous Javascript And XML. Of course for me, a baby boomer who grew up watching TV commercials back in the Sixties, AJAX will always be a "white tornado" for cleaning my kitchen floor, or a "white knight on a horse" who would point his lance at people in the park and their clothes would turn magically clean because AJAX was "stronger than dirt."

The real magic underlying 21st-century AJAX is that it forces de-coupling, and de-coupling is what will enable the flexibility and scalability that Web Services pundits have promised but thus far failed to deliver.

A decade ago, Bill Gates' Internet Tidal Wave memo succeeded in turning Microsoft around on a dime. The company instantly changed its strategic client/server approach away from proprietary Windows-based fat-clients and replaced it with a browser-based technological solution.

Roll forward to 2005. Longhorn, aka Vista, was supposed to have already been finished. The huge opportunity Microsoft had hoped to leverage hinged on the industry rapidly shifting to rich client user interfaces. But schedule delay after schedule delay has resulted in a rapid closing of the window of opportunity. Just as "fat clients" lost out to standards-based open Web browser user interfaces, it appears that "rich clients" may lose out to standards-based open AJAX-enabled Web browser user interfaces.

Let's give Microsoft credit for recognizing the changing marketplace. It's great that they're going to rally behind de-coupled AJAX development so that Web Services can finally begin to deliver on it's true promise. By itself, however, AJAX, is still not sufficient. The essential breakthrough also requires support for development by exception. Object-oriented's composites and inheritance provide a key portion of the necessary solution. Still needed is an equivalent capability on the process/workflow side of software development.


Post a Comment

<< Home