AJAX has been the other big software story of 2005, along with Web 2.0

By: Dion Hinchcliff – Ajax has been the other big software story of 2005, along with Web 2.0. An optional ingredient to Web 2.0 software, Ajax has changed the perception of Web-based software as being horribly clunky, page-oriented, and boring when compared to native computer applications. Ajax describes a set of techniques that makes Web software quite the opposite.   A quick visit to Google Maps and its live scrollable map tiles or NetVibes and its drag-and-drop reorganization of your personal data both show how potent and compelling Ajax techniques really are. I originally covered the current state of Ajax back in August in a widely linked article. It still provides a good summary of the history, benefits, and pitfalls of Ajax but it’s amazing what has happened since then. It’s also interesting to see what issue haven’t been resolved. Though Ajax isn’t a technology, it’s strictly constrained by the technologies that it uses to describe how to weave visually arresting, highly intereactive, web service-based applications that can be loaded into any browser with a single URL, all without installing any software. But some challenges continue to remain but are decreasing in concern. The term and world-wide attention behind Ajax is not even a year old, but you can find a wide range of poweful tools either with newly added support for Ajax or created just to support the Ajax way of life. In addition, many of the constaints and problems with Ajax have been resolved or greatly reduced. But keeping track of all these developments is very difficult, so I’ve compiled a summary here of the major advances in Ajax so far this year. I hope you enjoy. And as always, please add your own at the bottom for all to benefit… Improved Ajax Techniques

  • Content with Style: Fixing the Back Button and Enabling Bookmarking for AJAX Apps – Mike Stenhouse explains how to fix two of the more distracting problems with Ajax. These can be particularly problematic for users new to Ajax applications. Since Ajax apps typically load into a single web page, it makes pressing the Back button meaningless or actually harmful. And this breaks the browser usage model annoyingly. Also, individual views of data in an Ajax application cannot have a URL or permalinks unless precautions are taken. Mike does a great job covering how to reduce these problems.
  • Saving Session Across Page Loads Without Cookies, On The Client Side – Ajax virtuoso Brad Neuberg strikes again with a detailed explanation of how to deal with saving session information across page loads without relying on cookies. This is important in larger applications which typically want to store more information than a cookie can hold. Brad also has some terrific tools to deal with this as well (see AMASS below)
  • Call SOAP Web services with AJAX – By design, Ajax is a voracious consumer of web services like XML/HTTP, REST, and SOAP. A great article at IBM’s DeveloperWorks describes how to easily call SOAP web services from Ajax. This is important because SOAP is a complex protocol that requires some familiarity to use. While Ajax development tools like Atlas, General Interface, and Bindows will solve this by providing a SOAP stack, for many, hand development of back-end SOAP request is the only option right now to achieve interoperability with WS-I Basic Profile web services.
  • Ajax using only an image – Browsers and networks continue to get more secure and many configurations will not allow an Ajax application to use web services, and almost none of them will allow you to access a server other than the one the Ajax app loaded from. Enter an elegant technique to solve this by using image URLs. Not for the faint of heart, and certainly a possible security hole but a compelling solution nonetheless.

Ajax Tools and Libraries

  • TIBCO’s General Interface – I’ve not used this Ajax development environment extensively yet but it apparently eats its own dog food and runs entirely inside a browser (which apparently must be Internet Explorer). Supposedly containing an entire SOAP stack, a full-blown IDE, and numerous libraries, General Interface is one of the leading solutions in this space and can be downloaded and used today. TIBCO cautions you not to use it for production apps yet, but my initial use was encouraging.
  • Microsoft Atlas – A serious contender in the Ajax IDE space (details here), Microsoft is planning for Atlas to be a heavy-duty, enterprise scale Ajax solution. Integrated into Visual Studio 2005, Atlas is just a code name but expect that it will be a leading Ajax player from the get go and will live up to its name.
  • Dojo – Still in early release, the open source Ajax library, Dojo, is getting lots of attention from folks in the know. Dojo is billed as a “powerful, portable, lightweight, and tested tools for constructing dynamic interfaces. Dojo lets you prototype interactive widgets quickly, animate transitions, and build Ajax requests with the most powerful and easiest to use abstractions available.” I haven’t used it yet, but you can bet I will be soon.
  • Script.aculo.us – One of the very best Ajax visual effects libraries that I’ve used is the eponymous script.aculo.us. Advertised as “Web 2.0 JavaScript”, script.aculo.us has numerous effects and convenience tools, all built on nice, tight object-oriented abstractions. I’ve used it and I can recommend it for its simplicity and reliability.
  • Bindows – Mind-blowing Ajax library for recreating the full richness of native applications, and includes a SOAP stack.
  • AMASS – Ajax gets good client-side storage. A brilliant piece of work by Brad Neuberg, check out a description of how AMASS works here.
  • TrimQuery – A robust JavaScript database for Ajax. When combined with AMASS above, neat things can really happen.
    Ruby on Rails
  • Ruby on Rails – Should probably be listed first, not down here. The best lightweight, server-side Ajax framework out there today. Note that Ajax pioneers and Web 2.0 leaders 37Signals sponsor this site and RoR is used by a great many successful Web 2.0 sites.
  • Log4Ajax – Many serious developers wouldn’t switch to a new programming model without a Log4J equivalent and here it is. Both traditional console as well as advanced logging support for Ajax is here today. SourceForge site here.
  • Backbase – This IDE is getting good reviews but it apparently uses an abstraction layer like Morfik. I haven’t used it yet but I keep hearing about it.
  • Sajax – A good competent server-side framework featuring support for most common back-end languages like Perl, Python, Ruby and much more.

Note: The most complete Ajax framework listing I’ve seen available is here. Ajax News and Resources Ajax Developer's Journal

  • The Ajax Developer’s Journal – Good sources of news for Ajax are still pretty scarce but that’s starting to change in a big way. SYS-CON has recently launched their Ajax Developer’s Journal and has been working closely with Jesse James Garrett, who coined the term. Expect lots of interesting and topical new articles and coverage on a regular basis.
  • Ajaxian – Dion Almaer and Ben Galbraith have been working on Ajaxian for a while now and it remains one of the very best sources for the latest Ajax news, tools, events, and general inspiration.

Critiques and Analysis of Ajax

  • Ajax Mistakes – This is Alex Bosworth’s terrific analysis of the early problems with Ajax. He a big believer in the technology and his Ajax-powered LiveMarks site is one of my absolute favorites. A good place to start to understand some of the challenges with Ajax.
  • Fixing Ajax: XmlHttpRequest Considered Harmful – Some good coverage of why Ajax doesn’t really enable the use of the services of other web sites without a lot of work. This is a big barrier to leveraging Web 2.0’s global services landscape. This can be solved a number of ways however and the options are explored here. The image URL solution a few paragraphs above is missing but otherwise this is an excellent summary.
    Ajax Network Constraints
  • 10 Places You Must Use Ajax – Alex is back and carefully enumerates the good places to use Ajax. He also covers when to avoid it. Excellent material for those learning how to design with Ajax.
  • Top 10 Reasons Ajax Is Here To Stay – Andre Charland nails it. Though some folks dislike Ajax for a variety of reasons, here are some terrific positive motivations for using it today.
And don’t forget to see what can be done with Ajax! Check out these great new Ajax-enabled applications here.

posted Friday, 30 December 2005

Published Dec. 31, 2005

About Dion Hinchcliffe Dion Hinchcliffe is cofounder and chief technology officer for the enterprise architecture firm Sphere of Influence Inc. (www.sphereofinfluence.com), founded in 2001 in McLean, Virginia. A veteran of software development, Dion works with leading-edge technologies to accelerate project schedules and raise the bar for software quality. He is highly experienced with enterprise technologies and he designs, consults, and writes prolifically. Dion actively consults with enterprise IT clients in the federal government and Fortune 1000. He also speaks and publishes about Web 2.0 and SOA on a regular basis.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: