What's new here is that nothing is new here.
I used this phrase nine years ago to open an obscure spasm of pomposity that opened the Pattern Languages of Program Design 3 book to describe the patterns movement itself. But, in the spirit of that piece, I'm going to shamelessly recycle it here, because it fits Ajax, that trendy, breakout postmodern school of web application design, to a tee.
The fascinating thing about Ajax is that it is an amalgam of existing technologies that all date back to the twentieth century. It's what the Web 2.0 crowd might call a mash-up. Only the name is new.
Sun, for its part, is cautious about embracing the Ajax handle, but is not coy about this school of design itself.
Indeed, it's not clear that anyone claims to have actually invented Ajax. Instead, ad hoc designs using these technologies, such as Google Maps, Flickr, and the like, have appeared and incrementally grown more elaborate, and more refined right under everyone's noses for the last couple of years. Such is the face of innovation in the 21st century.
Now, Michael Mahemoff has exhibited no compunction in calling a pattern a pattern. Ralph Johnson pointed out this website a few weeks ago for a forthcoming book on
Ajax Patterns. It is tastefully rendered, and quite engaging. I commend it to the reader's attention.
if nothing else, Mahemoff's site has encouraged me to take a harder look at MediaWiki as a pattern cultivation tool (though I've yet to do so.)
A few thoughts on Ajax:
It should go without saying that like so much of "architecture" in the web services realm, Ajax is a Worse-is-Better poster child.
Ajax applications typically shift control of an application back from the serve to the client side using a client side "engine" written in Java script. This engine communicates asynchronously with the server using XML. The server side could be written using nearly anything, but typically is written in a scripting language like PHP, Python, Perl, or Ruby.
Ajax, it would appear, has as it basis the groundbreaking architectural premise that a local rendering engine that buffer's communication with remote servers can provide a more satisfying, more responsive interactive experience to the user than can websites without one. (There I go with that tone that may strike readers as a touch sarcastic. I assure you that I don't have a sarcastic bone in my body.)
Why XML? For one thing, as always, XML can effortlessly traverse that semi-permeable membrane, that blood-brain barrier, Port 80, and hence walk through firewalls that would impede other vectors for virtual matter.
Of course, the same reasoning applies more or less to just about any "LAMP-based" design.
James Governor concurs that Garrett's is a pattern naming coup here. [Michael's Ajax Patterns Tag]