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:
This article examines the next-generation applications that Ajax and OpenAjax make possible and the productivity improvements that these technologies bring to application developers.
Ajax enables the next-generation of Web applications, which provide a richer user experience, enhanced user productivity and lower development costs.
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 is accelerating the movement away from installable, two-tier, client-server applications to multi-tier web applications.
As the natural evolution of HTML, Ajax's platform-independent runtime technology is well-suited for next-generation service-oriented architecture (SOA) applications. Ajax offers standards compliance and platform independence on the client, while SOA offers similar benefits on the server.
Ajax enables mixing and matching of multiple component technologies within the same application. This enables Ajax developers to build composite applications that leverage best-of-breed Ajax technologies from multiple suppliers, achieving many different types of composite applications:
Ajax enables collaborative applications, such as:
Collaboration capabilities are based on XMLHttpRequest and other network communications technologies.
An important new application area is the Ajax-powered wiki, where wikis go beyond text-based collaborative documents into the following scenarios:
Ajax offers multiple approaches to achieving cross-device applications:
The combination of Ajax and OpenAjax promote easier delivery of rich Web experiences that build on open standards while achieving lower development costs.
Ajax leverages a combination of open technologies that are native to browsers. Most are official Web standards, while many of the rest have been implemented widely in browsers but have not been formally recognized by a standards body:
Ajax builds on open standards that are widely available as native features (i.e., without plugins) in popular browsers. In most cases, Ajax restricts itself to the commonly implemented subset of particular standards (e.g., DOM2 and DOM3, which are not supported completely yet) or sometimes supports commonly implemented extensions (e.g., the innerHTML property within the DOM is implemented by most popular browsers but is not covered by W3C specifications).
While open source software is not mandatory for Ajax projects, a large part of Ajax's momentum is due to the open source community's commitment to Ajax. Today, many Ajax open source projects bring the power of community-based open development models and no-cost licensing models to developers. Here are some of today's Ajax open source projects:
One of the main attractions of Ajax is that it does not lock developers to a particular hardware platform, operating system, application server, web browser or IDE. Developers are free to choose among many technology providers, commercial and open source, to find the products or open source technologies that best match their unique requirements and preferences, while achieving the key benefit of write-once, run-everywhere, across multiple computing devices, operating systems, and web browsers.
Ajax is fully compatible with the HTML application development infrastructure that exists today, including application servers (e.g., J2EE and .NET), server scripting languages (e.g., ASP, JSP and PHP), server application frameworks (e.g., JSF and Struts), web services, and service oriented architecture (SOA).
Organizations have the option of moving from HTML to Ajax in a phased manner.
Ajax offers a wide range of architectural options. This diversity allows Ajax developers to choose from many different commercial products and/or open source technologies to find the ones that best match their existing application development infrastructure and technology preferences.
With Ajax, the learning curve is shortened and investments minimized since application execution relies on Open standards support in web browsers. As a result, existing development and deployment frameworks and techniques still apply. The developer works in an environment he knows well and keeps full visibility and control, with the ability to code and debug all the way down to the DOM calls that affect what the browser displays. But Ajax also provides productivity advantages. Ajax toolkits typically offer declarative markup and APIs at higher abstraction levels and take care of lower-level details automatically.
The result is that Ajax offers the best of both worlds: automation advantages while still leaving the developer fully empowered.
With so many Ajax commercial products vendors and open source initiatives, developers are likely to find the off-the-shelf components, toolkits, frameworks, educational materials, and other resources they need to deliver and maintain next-generation Web 2.0 applications built with Ajax.
Many Ajax technologies provide declarative options (HTML/XML) for defining large parts of an Ajax application. These declarative options often automate large parts of the application development process and enable better leverage of IDEs.
Ajax libraries often provide the following features to enable client-side management of data:
The OpenAjax Alliance plays a key role in defining key Ajax interoperability standards and educating the community on how to be successful with Ajax applications development. The OpenAjax Alliance's various activities are key enablers to fulfilling the Ajax promise of lower-cost development of rich user experiences.