Ajax-Based Dojo Toolkit

The Dojo Foundation is a forerunner in the race to develop a standardized Ajax toolkit. Thus far, it seems to be a favorite and is receiving industry support, including the

September 13, 2006

7 Min Read
Network Computing logo

 

 



With the OpenAjax Alliance comesthe possibility for a unified language, as well as a setof APIs, on which developers could easily implementdynamic Web applications. A unified toolkit wouldoffer consistency in a market that has myriad Ajaxbasedtechnologies in play, providing the enterprisewith a broader pool of developers able to offer longtermsupport for applications and a stable base onwhich to build applications. As is the case with manyfledgling technologies, one toolkit will become thestandard—whether through a standards body or by defacto adoption—and Dojo is one of the favoredentrants in the race to become that standard.

The chief players of the OpenAjaxAlliance are BEA Systems, Google, IBM, Laszlo Systems,Mozilla, Novell, Oracle, Red Hat and SunMicrosystems. The main supporters of the Dojo Toolkitare BEA, IBM, Informatica, Laszlo, Oracle and Sun.

There are several popular Ajaxbasedtoolkits being used to build dynamic Web applications,but all are in the early stages of maturity and havesome time to grow. Dojo is one of the first to receivesupport from players like IBM and Sun, which may verywell propel it to the forefront of the race to become thetoolkit of choice. But the race is just beginning, andMicrosoft's Atlas is not far behind.

When we get together over drinks with friends, it hardly ever results in anything more than a hangover. When industry titans do the same, it can result in an alliance. BEA Systems, Borland, Google, IBM, Laszlo Systems, Mozilla, Novell, Oracle, Red Hat, Sun Microsystems, Yahoo, Zend Technologies and Zimbra have all publicly come out in support of an initiative designed to promote and standardize the use of Ajax (Asynchronous JavaScript and XML) in the enterprise. The OpenAjax Alliance is a group of industry heavyweights that all have a stake in the success of Ajax technology and have joined forces to promote the technology and bring some sanity to the its ongoing development.

Dynamic Web applications that act more like rich client interfaces have been available for some time through the innovative use of some of the less-well-understood features of scripting languages, such as JavaScript. As mainstream adoption of service-oriented architecture has taken hold, there has been an explosion of available technology based on Ajax, usually comprising simple client- and server-side libraries in JavaScript and server-side languages, such as PHP. Ajax-based technology appeals to developers not only because of its dynamic communication paradigm, but also because of its abstraction of differences in event and DOM objects between browsers--things that have pained developers trying to support multiple browser environments, and which usually have caused them to give up and support only one.

Nonstandard StandardThe problem with Ajax at the moment--aside from a few technical issues regarding latency, scalability and other enterprise-class concerns--is that everyone codes Ajax in their own way, and no two Ajax toolkits are interoperable. The Dojo Foundation, a nonprofit organization established last year with the goal of providing a toolkit upon which developers can build dynamic Web applications consistently, is developing the Dojo Toolkit, one of the first efforts at a standardized toolkit. But there's no promise that a developer who's used Dojo can easily switch to the Kabuki Ajax toolkit. Kabuki was recently accepted for incubation by the Apache Software Foundation and is also being promoted by the OpenAjax Alliance.

The Open Ajax initiative is not tied to any specific toolkit, and there hasn't been a concerted effort as of yet to flesh out and provide a true "toolkit," though there are plenty of packages that bill themselves as such. But Dojo, which is an open-source DHTML toolkit written in JavaScript, seems to be a favorite and is receiving industry support from heavyweights BEA, IBM, Oracle and Sun, as well as Informatica and Laszlo.

The OpenAjax Alliance has been moving steadily forward and gaining momentum in organizing and determining its focus. The group is not a standards body, though when Ajax is ready for standardization it will be the members of this alliance that will no doubt be involved and work for its adoption. Rather, the alliance is an industry coalition through which all hope to benefit by promoting the general adoption of Ajax--which each hopes, of course, will lead to enterprise adoption of their platforms supporting the technology. The alliance has decided to organize itself along the lines of the WS-I, which, though not technically a standards body, is recognized as the source of interoperability and WS-* standards compliance specifications. WS-I compliance has become an important facet of SOA infrastructure products in the past year. If alliance members, many of which are also members of WS-I, can act on this goal, they may be able to bring standardization to Ajax without limiting innovation.

The alliance's initial goals are to develop a common syntax for specifying Ajax features and behaviors in the hopes that tooling and runtimes could become interoperable. This goal requires the specification of a declarative XML language, similar to Microsoft's forthcoming XAML, that tools could write to to generate the JavaScript runtime necessary to support the language. This also would result in an API for widgets, event handlers and other Ajax features.Dojo, now at version 0.3, comprises a set of packages--libraries--that provide a comprehensive set of functions and user interface widgets that developers can use to build interactive, highly dynamic Web applications. The toolkit is layered, with libraries specifically supporting the core scripting language, environment (HTML, styles, SVG and DOM), application support (logging, animation, RPC, and so on) and a widget toolkit.

IBM proposed the Eclipse Ajax Toolkit Framework to promote the adoption of Ajax in the development community and specifically will support Dojo, while Laszlo, Zimbra, Yahoo and even Google offer their own Ajax toolkits free for developers and enterprises alike.

Microsoft's arrival with its Ajax implementation, Atlas, represents a risk to Dojo and the alliance's goals in general, but it's tempered by the fact that Atlas is very tied to ASP.Net and Microsoft technologies, whereas Dojo and other toolkits are browser- and platform-agnostic. It's unlikely that a standards fight will ensue between Dojo and Atlas. In general, Dojo's future is bright despite Atlas, since Dojo is backed by some pretty big heavyweights, and Atlas is likely to compete against Microsoft's XAML. In the end, a lot of enterprises will use Atlas or XAML because they like Microsoft, and the wider development community will eschew both because Atlas and XAML are too platform-specific and will continue to use an open technology such as the Dojo.

Lori MacVittie is an NWC senior technology editor working in our Green Bay, Wis., labs. She has been a software developer, a network administrator and a member of the technical architecture team for a global transportation and logistics organization. Write to her at [email protected].

TIMELINE{6.2004}

First Dojo code written by Alex Russell and Dylan Schiemann with the support of Informatica

{3.2005}

Contributions from other Dojo members received

Dojo Foundation established as a 501c(6) organization{2.2006}

AJAX Alliance formed

{5.2006}

Open AJAX Alliance's first roadmap finalized, calling for organization in the manner of the WS-I and not as a standards body

{6.2006}IBM joined Dojo Foundation

Sun Microsystems joined Dojo Foundation

{1.2007}

Microsoft plans to release Vista and unleash XAML

AJAX Player ParticularsThe big supporters of the OpenAjax Alliance as of right now are BEA Systems, Google, IBM, Laszlo Systems, Mozilla, Novell, Oracle, RedHat, Sun Microsystems and Yahoo. This list continues to grow on an almost-daily basis as momentum for a unified tagging/markup language for Ajax increases. Many of these members are specifically supporting the Dojo Toolkit (the main supporters of Dojo are IBM, Informatica, Laszlo and Sun, as well as Oracle and BEA). IBM will contribute code that extends the existing Dojo data model. Informatica's main contribution is the continued support of the primary Dojo developers. The toolkit will be licensed for use in Laszlo's open-source projects and Laszlo, in turn, will contribute libraries to the Dojo Foundation. Sun will be contributing Ajax widgets, helping with internationalization efforts and refining documentation. Notably missing from the list of Dojo Toolkit supporters is Microsoft, which introduced its own Ajax-based toolkit, Atlas, early this year.

SUBSCRIBE TO OUR NEWSLETTER
Stay informed! Sign up to get expert advice and insight delivered direct to your inbox
More Insights