What is Ajax?
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 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.
The following sections summarize the key characteristics of Ajax:
a) 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.
b) HTML: click, wait, refresh
The following illustration shows the typical “click, wait and page refresh” experience that users get with HTML applications:
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.
c) 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:
- Standard user interface (UI) controls (e.g., buttons, input fields and combo boxes)
- Advanced UI controls (e.g., tabbed palettes, calendar widgets, tree widgets and data grid widgets)
- Flexible, dynamic layout containers that adjust to the size of the embedded content and window size
- Floating palettes and modal dialogs
- Animations and animated effects
- Cut and paste, and drag and drop
d) 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.
e) 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.
f) 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.
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.
a) 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.
b) How OpenAjax Alliance is organized
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) 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:
- Interoperability Working Group – This group is responsible for technical activities in the general area of Ajax runtime interoperability. The key products coming out of this group include documents that provide the detailed definition of OpenAjax Conformance, such as the Specification for the OpenAjax Hub, management of the OpenAjax Registry, and development of OpenAjax Best Practices.
- Marketing Working Group – This group is responsible for the OpenAjax Alliance’s communications, educational and promotional activities for fulfilling the Alliance‘s mission to accelerate customer success with Ajax, promote adoption of open and interoperable Ajax-based Web technologies, and help drive the future of the Ajax ecosystem. Among other things, this group produces the Alliance‘s white papers, oversees the development of its website, and drives the strategy, high-level definition and industry rollout of the term OpenAjax Conformance.
- IDE Working Group – This group is developing metadata standards for Ajax libraries in order to facilitate the integration of Ajax libraries into Ajax developer tools (i.e., IDEs).
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:
- Security Task Force, which is identifying key Ajax security issues and investigating related activities that the alliance might pursue
- Mobile Ajax Task Force, which is investigating what OpenAjax Alliance might do to accelerate customer adoption and success with Ajax on mobile devices
- Production Ajax Management Task Force, which is investigating what OpenAjax Alliance might do to help vendors and customers in the area of runtime performance monitoring
- Searchability Task Force, which will investigate how to make current application state within an Ajax application discoverable and usable to search engines, perhaps by standardizing on particular approaches to URL fragment identifiers or parameters.
- Runtime Advocacy / Lobbying Task Force, which will attempt to recruit a critical mass of Ajax toolkits and investigate ways that OpenAjax Alliance might be able to play an advocacy role to accelerate browser improvements that make Ajax applications work better.
- Mashup Widgets/Gadgets Task Force, which will investigate a common metadata standard for Ajax-based mashup components such that (ultimately) the developers of the mashup components will be able to write-once and have it run anywhere.
c) 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.
d) 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:
- Seamless integration of multiple Ajax products and technologies within the same Web application, particularly with applications that use mashup techniques
- Greater certainty about product choices, where OpenAjax Conformance plays a similar role in the Ajax community as the Good Housekeeping Seal does with consumer products
- Lower training costs, lower development costs, and faster delivery of Web 2.0 innovations due to industry adoption of common approaches that build from OpenAjax standards
- Interchangeability of OpenAjax Conformant products, such that customers can choose among multiple vendors
As currently envisioned, to be OpenAjax Conformant, an Ajax product must:
- Support the OpenAjax Hub
- Support all relevant Conformance Requirements defined within the OpenAjax Alliance’s collection of OpenAjax Best Practices specifications
e) OpenAjax Hub
- Ajax library loading and registration
- A publish/subscribe-based event hub
The Alliance develops the OpenAjax Hub Specification and provides an open-source reference implementation.
f) OpenAjax Registry
g) 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.
f) 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.
g) 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.