Hard-nosed executives recognize that there are costs associated with any benefit. To convince today's upper-level decision makers to approve strategic investments, they need to hear more than phrases like "essential to the business," "the results are too unpredictable," and "yields intangible benefits." In the world of Web development, the move from HTML to AJAX-powered HTML can often be achieved at a relatively low cost, but there are both direct and indirect costs associated with AJAX that must be taken into account. A close analysis of these factors will enable business managers to make more well informed decisions when considering AJAX adoption in a particular application and across their organization.
Let's look first at the expected benefits from AJAX.
AJAX is all about ways to create a more interactive and productive connection between a user and a Web-based application. Because AJAX provides similar advanced user interface features to those in desktop applications (such as advanced UI controls, animated effects and adjustable layout controls) thereby providing the visual and interaction tools needed to make the application self-explanatory users spend less time learning and operating the application. The AJAX partial page update feature minimizes user delays by eliminating the "click, wait, refresh" approach of pre-AJAX HTML applications.
Beyond better user interfaces for existing applications, AJAX enables new classes of applications that fall under the umbrella term Web 2.0 that also fit into a Service Oriented Architecture (SOA). Among the next-generation applications that will power the enterprise and the Internet of the future are the following:
* Users as co-developers: New AJAX-powered environments, such as application wikis, are empowering users to create their own customized mashups including personalized dashboards and situational composite applications.
* Collaboration: AJAX technologies are typically the centerpiece of Web 2.0 information collection and sharing environments that harness the collective intelligence of disparate communities.
* Software above the level of a single device: Web 2.0 is accelerating the movement from installable desktop applications to Web-based applications, thereby leveraging the advantages of networks and information sharing.
* Cross-device applications and mobility: Simultaneous with the adoption of Web 2.0 is the growing proliferation of Web-capable mobile devices. AJAX technologies enable Web 2.0 applications across both large-screen desktops and small-screen mobile devices.
AJAX often boosts developer productivity. There are many AJAX technology providers, including both commercial products and open source initiatives. As a result, developers will find the off-the-shelf components, toolkits, frameworks, educational materials, and other resources they need to produce and maintain next-generation Web 2.0 applications built with AJAX. And due to open source alternatives, AJAX provides zero-cost deployment options as well.
AJAX and SOA need each other so both can reach their full potential. SOA's encapsulation of business functionality into discrete services with well-defined Web Service interfaces makes it easier for AJAX toolkits to facilitate the creation of Rich Internet Applications (RIAs). AJAX applications need to leverage business functionality, but, in the absence of SOA, AJAX toolkits must have myriad adapters supporting disparate technical means of accessing that functionality. The more that SOA advances, the more the toolkits will be able to streamline access to business functions by supporting Web Service client technology. Thus, SOA helps move AJAX forward.
Conversely, AJAX helps SOA move forward. We need RIA technologies to be able to exploit and justify the significant investment that SOA entails. The ability to create mashups, dashboards, and composite applications relatively rapidly to respond flexibly to changing business conditions is the essence of the ROI that we expect from investing in SOA.
In addition, AJAX deployment offers several long-term strategic benefits including:
* Replacement for desktop applications: AJAX offers a desktop-like user experience while retaining the benefits of server-based application deployment, centralized infrastructure administration, easier scalability, and immediate availability of application updates to all users. As a result, AJAX helps accelerate the movement away from installable, two-tier, client/server applications to multi-tier Web applications.
* Higher customer expectations around the user interface: The industry is embracing richer, more desktop-like, user interfaces for customer-facing Web applications. In many circumstances, adopting AJAX techniques is becoming a business requirement to maintain parity with the rest of the industry and match growing user expectations about Web-based user experiences.
* Operations efficiencies: In today's global economy, cost efficiency is more important than ever. AJAX techniques can help maintain the efficiency and competitiveness of internal systems.
What Are the Costs Associated with AJAX?
The costs for adopting AJAX depend on the circumstances of the application you're developing. In cases where AJAX snippets are added to existing HTML applications in an ad hoc manner, the incremental costs can be small. On the other hand, if the AJAX deployment strategy requires significant retooling of the existing IT infrastructure and substantial staff re-training then costs obviously go up.
It's also important to keep in mind that AJAX techniques require developers to learn techniques on both the client side as well as the server side.
On the server side, re-education requirements depend on the AJAX toolkits in use. For some toolkits, developers may have to familiarize themselves with the AJAX toolkit's UI markup language and its server-side AJAX APIs.
Most AJAX applications leverage an AJAX framework but still require some level of customization by the development team. A key factor in calculating the cost of adopting AJAX is the amount of customization work required to complete the task. If the AJAX framework's built-in features are sufficient for your needs then your AJAX development costs will be lower.
For existing applications that are modified to take advantage of AJAX techniques, end users will require some re-training on the applications' new AJAX-powered user interfaces.
New Issues to Manage
Like anything else, the AJAX technique of partial data exchange can be misapplied so that server and network loads increase in an undesirable manner. So it's critical that AJAX developers are made aware of the importance of these issues and that bandwidth behavior is tested before applications are deployed.
Another concern is the misapplication of AJAX "push techniques," where AJAX toolkits enable servers to push incremental data to clients without requiring the clients to poll periodically. Developer education about these issues and pre-deployment testing of the application's network behavior are important.
With mashups plugging in third-party components there are potential security implications. It's recommended that IT managers establish a company policy on mashup products and technologies, such as only installing markup frameworks from trusted suppliers; only allowing components from trusted sources; and requiring secure gateway facilities that control the domains with which particular components can communicate.
Typically each AJAX toolkit has its own features, markup, and APIs. Long-term maintenance costs will be minimized if the application uses a popular Ajax toolkit that's familiar to a large pool of developers and by ensuring that the Ajax toolkit is OpenAjax-conformant. (See "Managing Long-Term Costs with Help from OpenAJAX.")
Other Factors To Consider
Now let's take a look at some additional key considerations in the cost/benefit analyses of adopting AJAX and determining ROI. Some important points to keep in mind include:
* Interaction and user experience requirements: If a given application requires either high levels of user responsiveness (that is, it's undesirable to use the old-style "click, wait, refresh" HTML technique) or requires a self-evident desktop-like user interface (to limit training costs) then AJAX techniques can reduce user wait time and improve productivity in a measurable way.
* Network bandwidth requirements: Applications that generate high levels of network activity often benefit from AJAX techniques by leveraging the partial data exchange and partial page update features associated with AJAX. AJAX techniques often replace full-page requests with small data exchanges, reducing network bandwidth requirements, minimizing server CPU processing, and improving response times.
* Scalability requirements: Large and/or growing user populations require scalable application deployment architectures. In such scenarios, it's critical to determine whether the AJAX-enabled application offers appropriate scalability characteristics.
* The mission-critical nature of the application: The greater the strategic value of the application, the greater the investment in RAS (reliability, availability, serviceability) required. Highly mission-critical applications may be less desirable early candidates, but offer the highest ultimate return.
* The complexity of database interaction: AJAX will be more difficult to apply where there's no good separation of back-end databases from the Web-tier application logic. Relevant questions to consider: Is the application tightly coupled to a back-end database? To what degree is transaction integrity and recoverability critical, and how do these factors relate to AJAX partial update techniques?
* The real-time nature of the underlying application: In general real-time monitoring and real-time business applications benefit significantly from AJAX, particularly the push technologies available in some AJAX toolkits.
* Systems integrator requirements: If the application requires involving a systems integrator then it's important to determine how familiar the integrator is with AJAX and the AJAX toolkits that you plan to use on the project.
Managing Long-Term Costs with Help from OpenAjax
The OpenAjax Alliance produces various specifications that define OpenAjax conformance, an industry trust mark that promotes interoperability. As OpenAjax conformance specifications emerge, customers who require compliance from their AJAX vendors will increase their interoperability, safety, and choice, and thereby help manage the long-term costs of adopting AJAX.
The move to AJAX is part of a business operations strategy and is often coupled with the move to SOA. Arriving at estimates of return on AJAX or SOA is a difficult challenge for IT managers and executives. IT can support and even lead the effort by providing recommendations on appropriate questions to ask the business side of the house. IT can also help generate the answers needed to estimate ROI. Establishing an IT-user team to help the business drive the direction of the AJAX effort can be a forum for confirming and refining ROI estimates. Making the leap to AJAX isn't something that can be done overnight or with the snap of your fingers. It involves serious consideration and an honest internal evaluation. But by taking all of these points into account, decision makers will be better equipped to pave the way toward AJAX adoption.