AJAXWorld 2006 October Applications

From MemberWiki

Jump to: navigation, search

This is a temporarily staged version of an article ultimately destined for AJAXWorld magazine's October edition.

Note that the deadline for proposed wiki-based editing changes was end of day (California time) on Thursday, August 10, 2006, which has now passed. Simultaneous with member comments, IBM's byline editing team has reviewed the text and proposed changes. Their proposed editing changes have now been added to this wiki page. However, going forward, the "master" document is likely to be a forked version of this document that is developed offline from the wiki. Therefore, all further changes to this wiki page may not be noticed and are not likely to effect the AJAXWorld articles.

Contents

Unlocking Productivity and Flexibility Gains with OpenAjax

By Jon Ferraiolo (on behalf of the OpenAjax Alliance)

AJAX is an industry phenomenon. Hundreds of companies, including industry heavyweights, have announced AJAX products, and dozens of AJAX open source projects have been launched. Most Web developers say they are already using AJAX or plan to use AJAX in upcoming projects in order to achieve next-generation user experiences, improve developer productivity, and lower bandwidth requirements.

However, various challenges remain for AJAX to achieve its potential and deliver its full set of benefits. Some of these challenges are informational - providing the industry with easy access to information on how to be successful with AJAX. Other challenges are technical - today's AJAX products work well, but do not interoperate with other AJAX products. In recognition of these various challenges, leading companies and open source projects have joined forces to create the OpenAjax Alliance, whose mission is to take on these challenges to accelerate industry adoption and success with AJAX.

In this article, I provide an overview of what the OpenAjax Alliance envisions as the applications that AJAX and OpenAjax will enable and the value proposition that we want to see fulfilled as quickly and completely as possible.

More productive end-users, lower bandwidth, and strong ROI

In most businesses, decision makers are interested mainly in how information technology can increase revenue, reduce costs or make better use of information assets. Factors that are typically considered include:

  1. Time spent waiting for data to be transmitted. Over many repetitions, the time employees spend waiting for pages to load can add up to significant costs.
  2. Time spent completing a particular task. Inefficient user interfaces can translate into long periods of lowered end-user productivity.
  3. Bandwidth consumed for the entire task. If repetitious tasks consume considerable bandwidth, IT costs can grow dramatically.

AJAX technologies help with all of the above. Because AJAX supports dynamic and continuous user experiences, user productivity increases significantly and measurably (e.g., seconds-saved-per-transaction x number-of-transactions-per-year). Because AJAX provides similar advanced user interface features to those in desktop applications (e.g., advanced UI controls, animated effects and adjustable layout controls) – thereby providing the visual and interaction tools needed to make the application self-explanatory – users spend less time learning and operating the application. AJAX's partial page update feature offers reduced communications overhead versus HTML's traditional approach of click, wait, and then full-page refresh.

Next-generation applications (Web 2.0 and RIAs)

Replacement for desktop applications

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.

The runtime companion for SOA

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.

Mashups, dashboards and other composite applications

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, such as:

  • Mashups - A mashup is a Web site or Web application that uses content from more than one source to create a completely new service. One concrete example is a custom mapping application that talks to a company's own server to pull down XML address data and then leverages mapping services (e.g., Google or Yahoo) to show a map view in combination in an application-specific custom user interface. Mashups often enable rapid application development by integrating ready-made third-party components.
  • Portals and dashboards - Portals and dashboard applications consist of multiple panes that often can be configured by the user. Often, each pane is a separate application. AJAX technologies can be used to manage the entire composite application and its integrated applications.
  • Service compositions - In an SOA environment, composite business applications assemble multiple application services to create new functionality that supports innovative business processes. In some cases, the services from which the new application is composed have no user interface, so the composite application is completely responsible for the user interface. In other cases the services do have user interfaces, so that the composite application knits together not only back-end behavior components, but user interface components as well.

Collaboration

AJAX also enables collaborative applications, such as:

  • Next-generation chat and instant messaging (IM) - AJAX enables Web-based messaging applications that run in the browser.
  • Web meetings and whiteboarding - AJAX's rich user interface, network programming, and vector graphics features provide the infrastructure for browser-based Web meetings and shared whiteboards.
  • Collaborative content creation - Web-based collaborative applications such as wikis can transition from users having to learn arcane wiki markup languages to a WYSIWYG user experiences, comparable to what users experience today with desktop content creation tools.
  • Trip planning - A social group can use an AJAX-powered application to work together to plan and schedule their activities.
  • Photo sharing - AJAX enables richer sharing of experiences, such as attaching annotations, tagging or marking up photos.

Collaboration capabilities are based on XMLHttpRequest and other network communications technologies.

AJAX-powered wikis

An important new application area is the AJAX-powered wiki, where wikis go beyond text-based collaborative documents into the following scenarios:

  • Rich, lightweight portals – AJAX-powered wikis enables fast deployment of Enterprise rich dashboards by allowing a wiki page to contain both text content and AJAX-powered user interface components, such as data grids, forms fillout, mapping, and charting.
  • Personal mashups and dashboards – Many leading Internet companies provide the option today for customized home pages. When personalization is paired with AJAX-powered components and wiki back-end services, IT gains easy deployment and end-users gain the ability to manage their view on information.

Cross-device applications (desktop and mobile)

AJAX offers multiple approaches to achieving cross-device applications. This includes:

  • Using AJAX desktop technologies on high-end mobile devices - Today, some mobile devices offer mobile Web browsers that support the same feature set (HTML, JavaScript, etc.) as desktop mobile browsers. Examples include the Opera browser and Nokia's mobile browser, which is built from the same KHTML/WebKit code base as the Apple Safari browser. Web developers can reach this subset of mobile devices using the same AJAX source code as they use for desktop AJAX. Over time, as mobile devices become more powerful, increasingly larger percentages of mobile devices will ship with Web browsers that offer full desktop AJAX support.
  • Using a mobile subset of AJAX - The W3C and the Open Mobile Alliance (OMA) are working together to standardize appropriate mobile subsets of XHTML, SVG, CSS and ECMAScript to take into account the constraints of today's mobile devices, and combine them together to form a mobile standard for rich content using AJAX.
  • Using a server-side, multi-target AJAX toolkit - To reach a large number of mobile devices, some of which ship with more limited features sets, Web developers can take advantage of AJAX toolkits that provide a cross-platform abstraction layer. These toolkits adapt AJAX source into appropriate client-side instructions, such as mobile subsets of HTML+JavaScript, mobile SVG, or J2ME.

Conclusion

AJAX offers great promise, but challenges remain before AJAX can realize its full potential and deliver the benefits of Web 2.0. The OpenAjax Alliance has been established to address those challenges and accelerate industry success with AJAX-powered, next-generation rich applications. Target applications include replacements for desktop applications, SOA applications, composite applications, collaboration tools, next-generation wikis and cross-device applications.

Personal tools