SOA, AJAX and REST: The Software Industry Devolves into the Fashion Industry
Ever since the article Ajax: A New Approach to Web Applications unleashed itself on the Web I've seen the cacophony of hype surrounding Asynchronous JavaScript + XML (aka AJAX reach thunderous levels. The introduction to the essay already should make one wary about the article, it begins
Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:
- standards-based presentation using XHTML and CSS;
- dynamic display and interaction using the Document Object Model ;
- data interchange and manipulation using XML and XSLT ;
- asynchronous data retrieval using XMLHttpRequest ;
- and JavaScript binding everything together.
So AJAX is using Javascript and XML with the old new twist being that one communicates with a server using Microsoft's proprietary XmlHttpRequest object. AJAX joins SOA in ignominy as yet another buzzword created by renaming existing technologies which becomes a way for some vendors to sell more products without doing anything new. I agree with Ian Hixie's rant Call an apple an apple where he wrote
Several years ago, HTML was invented, and a few years later, JavaScript (then LiveScript, later officially named ECMAScript) and the DOM were invented, and later CSS. After people had been happily using those technologies for a while, people decided to call the combination of HTML, scripting and CSS by a new name: DHTML. DHTML wasn't a new technology — it was just a new label for what people were already doing.
Several years ago, HTTP was invented, and the Web came to be. HTTP was designed so that it could be used for several related tasks, including:
- Obtaining a representation of a resource from a remote host using that resource's identifier (GET requests).
- Executing a procedure call on a remote host using a structured set of arguments (POST requests).
- Uploading a resource to a remote host (PUT requests).
- Deleting a resource from a remote host (DELETE requests).
People used this for many years, and then suddenly XML-RPC and SOAP were invented. XML-RPC and SOAP are complicated ways of executing remote procedure calls on remote hosts using a structured set of arguments, all performed over HTTP.
Of course you'll notice HTTP can already do that on its own, it didn't need a new language. Other people noticed this too, but instead of saying "hey everyone, HTTP already does all this, just use HTTP", they said, "hey everyone, you should use REST!". REST is just a name that was coined for the kind of architecture on which HTTP is based, and, on the Web, simply refers to using HTTP requests.
Several years ago, Microsoft invented
XMLHttpRequest
. People used it, along with JavaScript and XML. Google famously used it in some of their Web pages, for instance GMail. All was well, another day saved... then someone invented a new name for it: Ajax.
...
So I have a request: could people please stop making up new names for existing technologies? Just call things by their real name! If the real name is too long (the name Ajax was apparently coined because "HTTP+XML+HTML+XMLHttpRequest+JavaScript+CSS" was too long) then just mention the important bits. For example, instead of REST, just "HTTP"; instead of DHTML just "HTML and script", and instead of Ajax, "XML and script".
What I find particularly disappointing about the AJAX hype is that it has little to do with the technology and more to do with the quality of developers building apps at Google. If Google builds their next UI without the use of XML but only Javascript and HTML will we be inundiated with hype about the new JUDO approach (Javascript and Unspecified DOm methods) because it uses proprietary DOM extensions not in the W3C standard?
The software industry perplexes me. One minute people are complaining about standards compliance in various websites and browsers but the next minute Google ships websites built on proprietary Microsoft APIs and it births a new buzzword. I doubt that even the fashion industry is this fickle and inconsistent.
Postscript: I wasn't motivated to post about this topic until I saw the comments to the post Outlook Web Access should be noted as AJAX pioneer by Robert Scoble. It seems some people felt that Outlook Web Access did not live up to the spirit of AJAX. Considering that the distinguishing characteristic of the AJAX buzzword is using XmlHttpRequest and Outlook Web Access is the reason it exists (the first version was written by the Exchange team) I find this highly disingenious. Others have pointed this out as well, such as Robert Sayre in his post Ever Wonder Why It's Called "XMLHTTPRequest"?
Comments
Anonymous
March 22, 2005
I completely agree, the term ajax just sounds like some marketing lingo for people to put on their resume.Anonymous
March 22, 2005
Dmitri Glazkov makes the same point on his blog at http://glazkov.com/blog/archive/2005/03/20/386.aspx
. Only he credits MSDN with being the pioneer - the async left nav menu.Anonymous
March 22, 2005
Hi Dare,
the "new" thing here is that for some time now, you can use use XMLHTTPRequest from Mozilla/Firefox as well (compatible except for object instatiation), so for the first time it's actually possible to use this stuff cross-platform.
Best regards, JulianAnonymous
March 24, 2005
Asynchronous Javascript and XML, or AJAX, is a relatively new way of using relatively old technologies to do relatively cool things with web pages. Google is fond of it, they use it for Google Suggest, as well as Google Maps....Anonymous
March 25, 2005
Yup, too many names. Well said, Dare.Anonymous
May 23, 2005
[via Dare Obasanjo's WebLog] 쿬 REST ڷ ãٰ, ĥ ƴ Ajax ٽ ѹ ĺ Ǿϴ. AJAX "Asynchronous Javascript And XML" ο ̶ , ο õ Client Side UI õ ...Anonymous
April 09, 2006
PingBack from http://blogs.ebusiness-apps.com/dave/?p=32Anonymous
November 27, 2007
PingBack from http://feeds.maxblog.eu/item_802058.htmlAnonymous
May 29, 2009
PingBack from http://paidsurveyshub.info/story.php?title=dare-obasanjo-s-weblog-soa-ajax-and-rest-the-software-industryAnonymous
June 08, 2009
PingBack from http://insomniacuresite.info/story.php?id=3291Anonymous
June 08, 2009
PingBack from http://hairgrowthproducts.info/story.php?id=2827