
|
OpSource Joins OpenAjax Alliance to Promote Industry Standards | By Chris Prichard
Recognizing the importance of open standards in advancing Web 2.0 innovations, OpSource has become a member of the OpenAjax Alliance. Established in January 2006, OpenAjax is an initiative to advance Web technologies. The OpenAjax Alliance is an organization dedicated to expanding the adoption of open and interoperable Ajax-based Web technologies.
We know Ajax technologies are important to our customers. We’re also aware of the core challenges facing customers. By participating in the Alliance, we can help to form standards on how Ajax is implemented by independent software vendors (ISVs) and, particularly, on the requirements for interoperability between various libraries.
The Alliance’s primary objective is to accelerate customer success with Ajax. The organization achieves this by promoting the customer’s ability to mix and match solutions from Ajax technology providers, and by helping to drive the future of the Ajax ecosystem.
One example of Ajax in action is Google Maps. This web-based mapping system allows you to pinpoint locations anywhere in the world, including satellite images, by using the power of Ajax to provide a responsive user interface.
Currently, there are three primary design strategies for Ajax enabling an application:
- DIY (Do It Yourself)
In this approach you do all the coding to build Ajax into a Web application. This means you do all the JavaScript technology, CSS, and DOM coding on the client, as well as the coding for page presentation. On the server, you do the coding to handle the XMLHttpRequest call, and to return an appropriate response, such as XML.
- Use a Client-Side JavaScript Technology Library
Instead of writing all the client-side JavaScript technology code for an Ajax-enabled application, you can take advantage of JavaScript technology libraries that provide Ajax functionality, such as those in the Dojo toolkit, Prototype, Script.aculo.us, and Rico.
- Use a Client-Server Framework
Another approach to building Ajax into a Web application is to use a client-server framework. There are a number of client-server frameworks that you can use, including JavaServer Faces technology frameworks, such as those in the Java EE 5 SDK, ICEfaces, AJAX4jsf, and Project Dynamic Faces. There are also other types of client-server frameworks, such as Direct Web Remoting (DWR), Google Web Toolkit (GWT), and R.A.D. Tools for .Net Ajax-enabling.
The second strategy (Use a Client-Side Javascript Technology Library) is used in the majority of the development environments today. However, it does introduce some interesting problems. Namely, if a single JavaScript technology library does not give a developer the functionality needed, they have the flexibility of getting additional functionality from another JavaScript technology library, that is, from the same or another toolkit. They are not limited to using one client-side JavaScript technology library in their Web application. For instance, a developer can use a Prototype object for Ajax-related communication with the server and widgets from the Dojo toolkit for the UI.
Unfortunately, first generation Ajax libraries often are designed with the assumption that developers will use these libraries in isolation from other Ajax libraries. First generation Ajax libraries thus often assume a "consequence-free" JavaScript environment where they are the first and last Ajax library to load within a given Web page, not taking into account the possibility that other Ajax libraries might have executed before them (and thereby altered the state of the browser's JavaScript environment) or the possibility that other Ajax libraries might execute after them. As a result, it is very difficult to build Web pages that use multiple first-generation Ajax libraries together.
There is strong demand among developers to fix these shortcomings. Developers have requirements to integrate Ajax technologies because:
- One Ajax library may not have all features the developer needs,
- The developer may need to use a particular best-of-breed Ajax component from a second Ajax library to satisfy a particular requirement, and
- The developer may be building a composite application, such as a mashup or portal, where the application's subcomponents might use different Ajax technologies under the hood.
The OpenAjax Hub is a set of standard JavaScript functionality defined by the OpenAjax Alliance. This functionality set focuses on being small and fast to address key interoperability issues that arise when multiple Ajax libraries are used within the same Web page.
Through our involvement with the Alliance, OpSource will collaborate with other technology leaders to develop a set of technologies under the OpenAjax banner. This will benefit customers, and, particularly Web developers, in several ways:
- More vendor choice and interoperability,
- Lower development costs and faster delivery of Web 2.0 innovations, and
- Richer Web experience and greater collaboration that can be added incrementally to existing HTML Websites or used for creating new applications.
For more information on the OpenAjax Alliance, please visit www.openajax.org.
OpSource, Inc. is an expert in delivering software on-demand or as a service for ISVs. To learn more about OpSource, please visit opsource.net.
Article by Chris Prichard, director of engineering at OpSource, Inc.
|