OpenAjax Alliance banner


OpenAjax Conformance


1 Introducing OpenAjax Conformance

The term OpenAjax Conformance is shorthand for the set of conformance requirements that OpenAjax Alliance will place on Ajax technologies, products, and applications. The specifications that define OpenAjax Conformance are under development and are not yet completed or approved.

These requirements will focus on a small number of simple but important aspects of Ajax usage, thereby providing the critical bits of Ajax interoperability that customers need, but in a manner that allows Ajax suppliers to continue to innovate and move forward with new technologies and products.

OpenAjax Conformance will provide the following benefits to IT managers and the Ajax developer community:

2 The pillars of OpenAjax Conformance

As currently envisioned, an Ajax runtime library will be able to claim OpenAjax Conformance only if it:

3 Support for the OpenAjax Hub and its various conformance requirements

The OpenAjax Hub is a set of standard JavaScript functionality defined by the OpenAjax Alliance, with strong focus on being small and fast, that addresses key interoperability issues that arise when multiple Ajax libraries are used within the same web page.

The OpenAjax Alliance is far along on both the OpenAjax Hub Specification and an open source reference implementation (

Version 1.0 of the OpenAjax Hub includes the following two key features for Ajax interoperability:

The Publish/Subscribe Event Hub allows one part of a mashup to broadcast an event to which other application components subscribe. For example, suppose there is a calendar widget that allows the user to pick a particular date. The mashup might have multiple UI components that need to update their visual appearance whenever a new calendar date is chosen. In this case, the calendar widget would publish a "new calendar date" event to which the other visualization widgets would subscribe. Therefore, the pub/sub manager's generic messaging benefits is a key integration mechanism between components built from different Ajax toolkits.

Within the OpenAjax Hub Specification are a series of Conformance Requirements which Ajax products must support in order to claim OpenAjax Conformance.

4 Registration with the OpenAjax Registry

One of the challenges with Ajax programming, particularly when mixing and matching different Ajax technologies within the same Web application, are JavaScript object collisions where different Ajax libraries and the application developer attempt to use the same names for global objects. The OpenAjax Registry provides a centralized, industry-wide global object registration authority that provides the following benefits to the Ajax community:

5 Support for all relevant Conformance Requirements defined within the OpenAjax Best Practices specifications

OpenAjax Alliance intends to define a collection of OpenAjax Best Practices that are designed to promote and accelerate customer success using Ajax technologies.

As currently envisioned, the Best Practices specifications will contain two types of best practice items:

It is expected that there will be different Best Practices for different aspects of Ajax application development:

6 Different versions over the course of time

The meaning of OpenAjax Conformance is likely to evolve over time as OpenAjax Alliance addresses new Ajax standards issues on behalf of the Ajax community. Current thinking is that the first official approved version of OpenAjax Conformance will be labeled "OpenAjax 1.0 Conformance". Subsequently, there will be periodic updates, each with their own version number (e.g., version 1.1 or 2.0).

7 Multiple conformance levels

There is a possibility in the future that the term OpenAjax Conformance might provide multiple OpenAjax Conformance levels, particularly as OpenAjax Alliance defines its OpenAjax Best Practices.

8 Conformance claims

When an Ajax technology provider claims OpenAjax Conformance, it must identify which version of OpenAjax Conformance with which it is compatible. For example, the documentation might say: "This product is OpenAjax 1.0 Conformant".

As currently envisioned, the following represent acceptable ways of expressing OpenAjax Conformance within conformance claims: