OpenAjax Alliance banner

Home

Introducing Ajax and OpenAjax

Abstract

The OpenAjax Alliance has assembled a set of white papers as a guide to help Web developers and IT managers understand and evaluate Ajax, define a successful Ajax strategy, and become familiar the important role OpenAjax plays in the development of the Ajax market.

The white papers are:

 

Contents

1 What is Ajax?

1.1 The continued evolution of HTML

The page-oriented HyperText Markup Language (HTML) has long been the standard for Web-based interaction. It is designed to display text and images in a Web browser. Its simple publication and viewing model has helped fuel the explosive adoption of the World Wide Web into the global phenomenon we know today. But this growth has users wanting more -- Web applications that provide a desktop-like user experience -- and HTML's page-oriented model falls short.

Ajax is a design approach and a set of techniques for delivering a highly interactive, desktop-like user experience for Web applications in popular HTML browsers. Ajax, which stands for Asynchronous JavaScript and XML, improves the user's Web application experience while retaining the HTML benefits of server-based application deployment. Ajax achieves desktop-like Web pages by having parts of a page reload, instead of the entire page, in response to user input. Instead of whole-page refreshes, small amounts of data are exchanged with the server behind the scenes, and the application remains usable by the end user. Ajax techniques therefore represent the continued evolution of DHTML to deliver Rich Internet Applications (RIAs) and the Web 2.0 experience.

Ajax is attractive to IT professionals because it enables rich user experiences while preserving existing back-end infrastructure. Users benefit from next-generation applications that have the feel of desktop applications and provide new capabilities, while IT preserves existing benefits from Web-based application deployment and continuity with existing HTML-based back-end infrastructure.

Ajax technology has emerged as a critical technology for launching the Web's next generation, often referred to as Web 2.0. Ajax is increasing end user productivity and enabling new classes of collaborative applications. In short, Ajax is redefining the Web and requiring every organization with a Web presence or Internet-based business applications to develop an Ajax strategy.

Ajax builds on open standards that are widely available as native features (i.e., without plugins) in popular browsers. Ajax's incremental update techniques are obtained through built-in features such as JavaScript and the XMLHttpRequest API. Ajax developments often leverage JavaScript libraries that provide a cross-browser abstraction layer.

The following sections summarize the key characteristics of Ajax:

1.2 Dynamic and continuous user experience

The primary difference between HTML applications and Ajax applications is that Ajax allows users to interact with the application while the browser is communicating with the server.

1.2.1 HTML: click, wait, refresh

The following illustration shows the typical "click, wait and page refresh" experience that users get with HTML applications:

Old-style HTML approach of click-wait-refresh where user clicks the submit button, waits for server processing, and then waits for a full page redraw

1.2.2 Ajax-powered user experience

Ajax minimizes the number of page refreshes because the client issues data requests to the server, not page requests. The Ajax application stays on the screen continuously while the Ajax engine handles data exchange with the server. Instead of page refreshes, the application updates only those parts of the screen affected by newly arrived data.

Block diagram showing client-server interaction with Ajax partial updates

1.3 Desktop-like user interfaces

Ajax enables rich user interfaces traditionally only found in installable desktop software. Typical rich user interface features found in Ajax applications include:

1.4 Network programming

Network programming features make it possible to exchange data asynchronously with the Web server, enabling next-generation collaborative applications. Ajax runtime libraries can support a server's ability to push data asynchronously to the client.

1.5 Synergy with SOA

Ajax-based composite applications that assemble content from multiple sources are a key to extracting value from a service-oriented architecture (SOA). Ajax is well positioned to take advantage of way that SOA systematically streamlines access to content.

1.6 Evolving over time

Ajax will evolve over time as its technologies mature and new releases of browsers fulfill developers' requirements. Today, Ajax offers a rich, desktop-like user experience, with powerful network programming capabilities built on natively implemented open standards. Going forward, Ajax technology providers and browser vendors will continue making advancements that increase the power and performance available to Ajax developers.

2 What is OpenAjax?

OpenAjax represents the collection of technologies and approaches defined by the OpenAjax Alliance to promote open and interoperable Ajax-based Web technologies that in turn lead to long-term customer success with Ajax.

2.1 OpenAjax Alliance: mission and objectives

The OpenAjax Alliance is an organization of vendors, open-source initiatives and Web developers dedicated to the successful adoption of open and interoperable Ajax-based Web technologies. The alliance's prime objective is to accelerate customer success with Ajax by improving the customer's ability to mix and match solutions from Ajax technology providers and helping to drive the future of the Ajax ecosystem.

The OpenAjax Alliance provides value to the software community on both technical and marketing fronts. With its technology initiatives, which include specifications and open source software, the alliance will address key Ajax interoperability issues so that developers can successfully use multiple Ajax technologies within the same Web application. With its marketing initiatives, the alliance will help educate the community on how to achieve success with Ajax using open technologies.

2.2 How OpenAjax Alliance is organized

2.2.1 Steering Committee

The members of the OpenAjax Alliance elect representatives from seven companies to positions on the OpenAjax Alliance Steering Committee. The Steering Committee manages the affairs of the OpenAjax Alliance on behalf of its member organizations. Among other things, the Steering Committee has final approval on the creation of working groups and specifications.

2.2.2 Working Groups

The OpenAjax Alliance develops its Specifications and other published Material within Working Groups that are chartered and approved by its membership and Steering Committee. At this point, the alliance has the following Working Groups:

2.2.3 Task Forces

The OpenAjax Alliance establishes task forces to investigate possible areas of new activity. The task forces are informal groups of interested members who perform relevant research and then produce recommendations for future alliance activities. Sometimes task forces are promoted into formally chartered working groups. At this time, there are six active task forces:

2.3 Specifications and open source

Although the OpenAjax Alliance does not intend to become a broadly focused, formal standards body, the alliance does engage in standards-related activities when such activities appear necessary in order to achieve objectives for greater interoperability, vendor choice and promoting innovation. As a result, the OpenAjax Alliance will sometimes develop its own formal specifications and/or open source to fill critical industry gaps. In these cases, the expected outcome in the long term is to turn over such work at an appropriate point to a formal standards organization or open-source project. Often, specifications and corresponding implementation work will occur in parallel.

A focus of the OpenAjax Alliance is collaboration with other key standards efforts. Members of the OpenAjax Alliance may participate in standards activities within other standards bodies and open source projects to help accelerate the coordinated advancement of OpenAjax technologies and products.

2.4 OpenAjax Conformance

A cornerstone of OpenAjax Alliance activities is the definition of OpenAjax Conformance. OpenAjax Conformance is shorthand for the set of conformance requirements that the OpenAjax Alliance places on Ajax technologies, products and applications to promote interoperability and customer success. By using Ajax products that support OpenAjax Conformance, IT managers and Web developers realize the following benefits:

As currently envisioned, to be OpenAjax Conformant, an Ajax product must:

2.5 OpenAjax Hub

The OpenAjax Hub is a small set of JavaScript technologies that addresses critical Ajax runtime interoperability requirements. Version 1.0 of the OpenAjax Hub has the following features:

The Alliance develops the OpenAjax Hub Specification and provides an open-source reference implementation.

2.6 OpenAjax Registry

The OpenAjax Registry provides a centralized, industry-wide global object registration authority that helps prevent JavaScript object collision within complex Ajax applications.

2.7 OpenAjax Best Practices

In addition to committee work on technical specifications that promote interoperability, the OpenAjax Alliance intends to develop a set of OpenAjax Best Practices, which consist of requirements and recommendations that lead to optimal customer results, such as better interoperability, portability, accessibility and internationalization.

2.8 Marketing and communication

The OpenAjax Alliance engages in various promotional, educational and communication activities. Its Web site provides a standard vocabulary for industry terms such as "Ajax" and "OpenAjax" and includes whitepapers and block diagrams on Ajax technologies and associated best practices, with a focus on cross-vendor interoperability. Representatives speak about OpenAjax at conferences and other industry events.

The OpenAjax Alliance Web site provides a central point of information about the OpenAjax vision, explaining how to adopt Ajax successfully so that IT developers will feel safe about their technology and vendor choices.

2.9 Ecosystem leadership and Ajax's future

As needed to advance the future success of OpenAjax, the OpenAjax Alliance intends to play a leadership role in the Ajax ecosystem to ensure the success of Ajax using open technologies. The alliance's leadership activities will include marketing communications, vision white papers, speaking engagements, participation in industry events and evangelism with technology providers.

As part of its leadership role, the OpenAjax Alliance works with key web infrastructure players to raise the level of the least common denominator for the Ajax platform. This will involve coordination and evangelism with leading browser vendors, standards organizations, open source organizations and software vendors.