AJAX, the Enterprise, and SOA—A Look Into the Future

Get an overview of the next frontier of AJAX development: the enterprise, where AJAX components can be the Web 2.0 front end of a SOA.

Consumer Web sites such as Google Maps and Yahoo Mail generally come to mind first when one thinks of AJAX-enabled applications. On those sites, millions of users experience the results of dynamic AJAX interaction between the browser and server. Less known, however, are the benefits AJAX can deliver to application development inside the enterprise. So vendors in the burgeoning enterprise AJAX space, many of whom are watching the recent AJAX and rich Internet application (RIA) buzz define a technology category they have been working in for years, must educate the market. How do enterprise developers who are loath to delve into JavaScript code incorporate the technology quickly? Which applications make sense for AJAX solutions? How can internal, non-consumer AJAX Web applications benefit business?

DevX spoke with six of these vendors to get an overview of this next frontier of AJAX development:

* Backbase – makers of Backbase enterprise AJAX software
* Helmi Technologies – makers of the Helmi Open Source RIA Platform
* ICESoft Technologies – makers of ICEFaces, a Java EE framework for AJAX applications based on JavaServer Faces
* JackBe – makers of the enterprise AJAX development and runtime environment, NQ Suite, and the Presto rich enterprise application platform
* Nexaweb – makers of the Enterprise Web 2.0 Suite of products for Java-based AJAX development
* TIBCO General Interface – makers of General Interface (GI) toolkit for building desktop application-like Web applications

Robert Lepack, VP of marketing for ICESoft, gave a break down of what enterprise customers are looking for, which seemed to ring true for the market as a whole. He said ICESoft clients are divided evenly between those migrating legacy apps to the Web and those building new RIAs. He also detailed their evaluation criteria when selecting an AJAX solution: richness of the component libraries, SOA compatibility, standard tools support, and portal integration.

There's a difference between 'AJAXified' pages and AJAX/rich Internet applications for the enterprise.—Kevin Hakman, director of product marketing for General Interface
Helmi Technologies Founder Juho Risku said, "Enterprises are basically looking for savings because of the instantaneous user experience on enterprise applications. That's the reasoning behind AJAX [deployments]." He gave the example of an enterprise application handling 500 clicks per user, per day and taking five seconds to respond to each click. With 1,000 users, that adds up to millions of seconds per year those users spend waiting.

"There's a difference between 'AJAXified' pages and AJAX/rich Internet applications for the enterprise," said Kevin Hakman, director of product marketing for General Interface. As an example, he cited H&R Block, which annually sets up 12,000 additional offices during tax season and equips them with high-productivity GI workspaces through the browser.

But how will a technology based on a scripting language perform in the enterprise application realm, traditionally the domain of powerful development platforms like Java and .NET? As Lepack stated, "There's a reason why Java is a language, and JavaScript is a scripting language."

The vendors made it clear that AJAX isn't right for every application. Nexaweb CTO and Founder Coach Wei said, "AJAX is a great technology for enhancing the performance functionality of Web-based applications in the browser [but it] is not good for much more client-centric applications [such as] the traditional PowerBuilder kind of application."

Anything that requires signal processing or complex algorithms on the client side is definitely not something AJAX should be used for.—Helmi Technologies Founder Juho Risku
For example, Hakman doesn't see AJAX used in high-throughput, algorithmic trading systems that handle portfolios with thousands of stocks. "Systems at that level of performance absolutely require some type of compiled code to execute. Obviously, JavaScript is not compiled code," he said. However, Hakman does anticipate JavaScript becoming a first-class language and cited Firefox 2.0's implementing a just-in-time compiler for JavaScript as the beginning of a trend.

"Any ERP application, that's perfectly OK with AJAX," explained Risku, but he stipulated, "Anything that requires signal processing or complex algorithms on the client side is definitely not something AJAX should be used for."

So does that mean AJAX applications won't scale well?

Risku believes application and platform design is an overlooked factor in AJAX scalability. Wei actually contends that an AJAX application should be more scalable than a traditional Web application if developed correctly, because it offloads part of the processing from the server on to the JavaScript on the client. Still, the Nexaweb chief concedes that it has its limits. "The Web itself and old HTTP Web servers, they're optimized and designed for short-lived, infrequent requests and responses coming from the client side. If your AJAX application pounds and pounds for requests very frequently, that is not a scenario HTTP Web servers are optimized for traditionally."

JackBe CTO John Crupi offered a different perspective, as his product is an SOA service consumer. "The front end will be AJAX, but ultimately if you really want to get the performance and scalability you need for enterprise apps, you have to have a framework that extends into the backend enterprise. In our view, that backend extension is using SOA as the data service provider," he said.

JavaScript programming expertise is rather limited. It's a very complex programming model and actually very cumbersome and labor-intensive.—Backbase CEO Jouk Pleiter
The vendors were also quick to point out that although JavaScript has limitations, it is far from simple. JavaScript has gained a reputation among many developers as a messy and cumbersome language. As such, each AJAX vendor abstracts the developer from the raw JavaScript with either proprietary syntaxes or markup languages. For example, JackBe employs a declarative markup language, JackBe Markup Language (JBML), Backbase has an XML-based language BXML and a tag library of AJAX functions, and Nexaweb employs the XAP declarative framework.

Backbase Co-Founder and CEO Jouk Pleiter echoed most of his counterparts when he said, "JavaScript programming expertise is rather limited. It's a very complex programming model and actually very cumbersome and labor-intensive. A framework like Backbase tries to hide away the complexity."

Adding to the complexity is the fact that AJAX development currently lacks standards. This is an issue all six of the companies DevX spoke with (and some 49 others) are trying to address collectively through the Open AJAX Alliance, an industry body whose mission is promoting interoperability among the multitude of AJAX widgets, components, and libraries.

"The Open AJAX Alliance is taking all of the vendors and saying 'Let's not fragment the market the way Web service standards bodies did and have competing standards,'" said Crupi. "The first step is to support interoperability. You should be able to intermix various widgets and frameworks and not have a problem."

Backbase chief Pleiter also advocates for a single common API that can serve as a basic language specification for all AJAX solution vendors. As he sees it, even if all the different AJAX implementations could cooperate, each would still have its own API. He said, "We now have 200 different APIs for 200 different check problems, which is clearly way too fragmented [and] clearly doesn't drive for any standardization."

A flurry of open source activity has occurred in the AJAX market.
Today, many of the vendors' products already support widely used open source toolkits such as Dojo and DWR as interoperable add-ons to their native libraries. A majority of the companies DevX spoke with have even released their own products as open source projects. In just the past few months, a flurry of open source activity has occurred in the AJAX market:

* Helmi launched the first beta of its Open Source RIA Platform v2.0.
* ICESoft released ICEfaces under an open source license.
* Nexaweb initiated XAP (the eXtensible Ajax Project) through the Apache Software Foundation.
* TIBCO released General Interface 3.2 under an open source license.

Although the vast majority of freely available frameworks, toolkits, and libraries on the AJAX landscape—Helmi estimates 1,500 in all—aren't involved in the interoperability effort, most of the vendors feel confident that the ones that matter are. Hakman predicted that fewer than 10 would emerge as broadly adopted, and Pleiter said, "I think 80 percent of the stuff doesn't even qualify to remain in the marketplace because it's just a small fragment, it's just a piece of code. They are not viable options, especially in the enterprise."

Helmi Founder Risku added, "Most of the platforms are such that no one even knows that they are there. There definitely will be a lot of consolidation happening."

If the Open AJAX Alliance is successful, however, Hakman sees the Java platform as a model of what AJAX could become. "Like in Java with JSP, Swing, and Spring, you've got a different tool for different tasks within that context. The idea is [that] AJAX is just an ecosystem with a number of large frameworks and toolkits that are broadly adopted, but plenty of room for more [vendors] that make specialized widgets."

Comments

Guy Peled said…
Hi,

I would like to introduce you to a new technology called

href="http://www.visualwebgui.com">http://www.visualwebgui.com


which provides a unique way to create AJAX applications by providing full

WinForms like development including design time support. The architecture

eliminates most of AJAX soft spots by simply
returning back to server based computing but still having a dynamic AJAX

based UI. It also has been said by developers to boost productivity to R.A.D.

levels with out limiting your options.

Guy

Popular posts from this blog

Lilipip

Interview with Dan Malks, Deepak Alur, & John Crupi of JackBe

DC Metro Police