AJAX in the enterprise?

AJAX is making inroads with consumer-based Web apps, but the programming technique has yet to replicate that success in the enterprise.

Asynchronous JavaScript and XML or AJAX allows the Web browser to communicate asynchronously with a server using Java and XML and update the browser page without the user having to hit the refresh button. AJAX has been popularized by Web apps like Google Maps, which promotes a greater level of user interactivity than previous generations.

The popularity of apps like Google Maps, which are highly personal in nature, have caused experts like Adam Bosworth, vice-president of engineering at Google Inc., to question where AJAX fits into the enterprise.

“The applications that are taking off today in AJAX aren’t customer support applications per se,” Bosworth wrote in a June 1st posting titled, “AJAX reconsidered,” on his Weblog. “They are more personal applications like mail or maps or schedules which are often used daily.”

Some Canadian firms, however, are finding a place for AJAX in corporations. Scott Howlett, co-founder and principal of Toronto consulting firm iMason, which develops Internet-based apps in ASP.Net, said the primary use of Atlas (Microsoft’s AJAX framework) and AJAX-based applications among his customers is for customer-facing applications.

“Our enterprise customers are using an AJAX approach for their internal Web-based applications,” said Howlett. “Customers are starting to use AJAX to see how they can make their Intranet experience better.”

Vancouver-based eBusiness Applications is building AJAX components for developers that can be easily rolled into enterprise applications such as virtual spreadsheets and charting.

Jim Elliott, IBM Canada‘s advocate for Open Computing, said other Web technologies, like HTML, started outside of the enterprise and worked their way in.

“There was a consumer side to HTML that was very big but probably even bigger was companies using HTML internally to run their own internal processes,” said Elliott. “(AJAX) will have an impact on things like Google Maps and various other Web 2.0 applications like Flickr. It will be very big in consumer but it may be bigger in enterprise applications.”

Another issue facing AJAX is interoperability. There are currently between 100 to 200 AJAX frameworks from various vendors such as Adobe’s Spry that don’t interoperate with each other across different browsers such as Firefox, Internet Explorer (IE), Opera and Safari.

To address this, IBM and several other software companies formed Open AJAX in February. The open source project, which currently has over 40 members including IBM, Google, BEA Systems, Red Hat, Borland Software, Novell, Oracle, Yahoo and Adobe, aims to simplify development tools for AJAX-based Web development.

Ben Watson, senior manager of technical evangelism at Adobe, said the project’s first and biggest challenge is achieving interoperability between those frameworks or toolkits.

“Because AJAX is a set of technologies that are applied together in order to achieve a desired result, all of the frameworks could potentially approach it differently in terms of how you write the code or how much Java you have to write or what would exist on the server versus what would exist on the client,” said Watson.

To help developers create applications that are more compatible across browsers, Google has come up with its own Google Web Toolkit, which is a Java development tool that lets programmers develop AJAX apps in the Java programming language.

“The basic idea is you can develop both your back end and your front end in the same language,” said Bret Taylor, product manager at Google. “We offer a very traditional UI development environment in Java for Web applications as opposed to desktop applications.”

Microsoft has yet to join the Open AJAX initiative, despite efforts by IBM and others.

“I think it’s unfortunate that Microsoft isn’t a part of this because one of the things that could mark the downfall of AJAX is frameworks or approaches to it that are so proprietary that they don’t interoperate with other technologies,” said Watson, adding AJAX is based on technologies that were built into IE four or five years ago.

According to iMason’s Howlett, Microsoft has made part of its Atlas toolkit available at its shared source code library at http://www.codeplex.com.

Jeff Zado, senior product manager of development tools at Microsoft Canada, said Atlas goes beyond AJAX-style Web development in that it also extends some of the server-side controls to provide an even richer experience.

“Windows Presentation Foundation Everywhere extends it even further to allow you to incorporate islands of even richer content from the standpoint of video, media, or audio,” said Zado.

As AJAX continues to grow in popularity, it could take some lessons from other Web technology predecessors like Java applets, which some experts argue have been able to develop similar portable application interfaces.

But Google’s Taylor said Java applets tend to be self-contained entities within a page and aren’t really integrated with the rest of the Web site. “It takes a while for that page to load because it has to load the entire Java virtual machine just to run that small component of the page,” said Taylor.

Adobe’s Watson also pointed to potential security threats with Java applets.

“The issue with applets is that without a clear set of standards that are adhered to and defined by a central body they can become an opportunity for hackers and for people to exploit the desktop,” he said.

But analysts have also warned of security implications with AJAX in that it increases the amount of traffic flowing between the browser and the Web server, leaving systems more vulnerable to attack. iMason’s Howlett, however, points out that most businesses would secure endpoints before putting them out over the Web.

“The type of data that people are providing for their AJAX apps is generally publicly available or they can also be service endpoints,” he said.

Comment: info@itbusiness.ca

Share on LinkedIn Share with Google+