Who Needs an Enterprise AJAX Solution?
Behind the Browser
Another industry executive, Isomorphic founder and CTO Charles Kendrick, told me two reasons why his customers adopt his product rather than FOSS AJAX: the desire for an integrated solution, and the desire to be insulated from browser idiosyncrasies. The integrated solution argument is basically Meriaz's complete, extendable components library. Kendrick's additional point about this is that allowing developers to cobble together different solutions can be a minefield without serious (and expensive) integration testing.
His emphasis on using the framework to insulate the developer from cross-browser issues is a big one. Kendrick said, "I personally think eliminating this problem is the No. 1 thing that an enterprise AJAX platform should deliver."
I talked to two developers. One had contributed to a case study that vendor Backbase did about its customer Serena, which wanted to replace a homegrown AJAX framework in its Business Mashups product; the company eventually chose Backbase. Why Backbase, and not any of the other AJAX frameworks evaluated, which included Dojo, TIBCO General Interface, and the Microsoft AJAX Library?
"Backbase Enterprise AJAX was a good fit for us for four reasons," said Pavel Kramer, a senior software developer working on this product. "First, it uses declarative XML; second, Backbase provides enterprise-class support; third, the framework has good performance; and fourth, it's easy to bind Backbase XML controllers to databases."
The other developer I talked with, Mike Willson, works for a large ISV that did not wish to be publicly identified for this article. He has been using Isomorphic SmartClient for two years, for an online time-sheet application that uses grid controls and lots of server-side Java components. He previously did his AJAX development with Dojo.
"Our biggest issue was support from the vendor. It was hard to get going in Dojo unless you happened to find an example of what you wanted to do. With SmartClient, the documentation is pretty good, but even more importantly the vendor is great about supporting the whole stack, not just their piece of it, and good about helping us with edge cases and extensions for our particular application."
I think the situation with Dojo support has improved since two years ago so that Willson's experience might not be completely applicable today. Jep Castelein, senior product marketing manager at Backbase, also suggested to me that "the availability of a skilled consulting force in case additional help is needed" is one of the marks of an enterprise AJAX solution.
While the Dojo documentation still has a few holes, it has been beefed up tremendously; in addition, there are at least two good books in print on Dojo development. It's also possible to find consultants who know Dojo well. Similar things could be said about jQuery, Prototype, Scriptaculous, and Ext. So on this particular point, I would draw the line between the lesser-supported open source libraries and the better-supported libraries, rather than between the open source AJAX libraries and the enterprise AJAX frameworks.
So I find that I have to give a consultant's answer to "Why buy an enterprise AJAX solution?" It depends on a number of factors. The biggest question by far, however, is whether you'll need extensive support. If so, you probably should pay for an enterprise AJAX solution. If not, then you may well be able to find a free AJAX framework that meets most or all of your needs: Just make sure that you have a strategy for dealing with future growth of your Web 2.0 project.