Open Ajax Alliance
Ajax is a popular approach to developing applications and mashups. But with different implementation approaches, it makes it hard to create an application or widget that works consistently across browsers and in mashups. Until now... The OpenAjax Alliance has announced a new draft specification that will facilitate interoperability across IDEs and make widgets more interoperable in mashups.

Open Standards for AJAX IDE's

The OpenAjax Alliance is a consortium of vendors and organizations who are working together to promote AJAX interoperability. The alliance was at the Rich Web Experience conference last week promoting their new specification. According to Jon Ferraiolo, Director of the alliance, the specification has been developed to provide standards for AJAX IDE capabilities such as code assist, debug and visual layout. Currently each AJAX tool kit implements its APIs and widgets in its own way and as a result AJAX development across IDEs is inconsistent. The IDE Working Group developing the standard is being lead by Aptana -- one of the most well known AJAX IDE vendors today. There are a couple of other groups participating in the core working group including Adobe Dreamweaver and Microsoft Visual Studio teams. Other participants include the Eclipse Foundation, Sun Microsystems, TIBCO and OpenLink Software.

OpenAjax Metadata Specification

The specification is called OpenAjax Metadata for AJAX 1.0. It provides an industry standard XML for JavaScript APIs and mashups. The metadata being defined is directed toward software products like Ajax IDEs and mashup frameworks. For IDEs it is expected the developer will get API documentation, intelligent code-assist, widget palettes and property editors. The specification defines the metadata for the following: * Ajax APIs: Describes the runtime JavaScript APIs --classes and methods --that are available for an Ajax library * Ajax Libraries: Defines a number of metadata fields for Ajax runtime libraries * Ajax Widgets: Describes the metadata for UI controls and mashup components Kevin Hakman, chairman of the IDE Working Group described the specification this way:
OpenAjax Metadata is all about making it easier to use JavaScript libraries and incorporate Ajax widgets when creating Web pages, Web applications and mashups," Hakman said. "The OpenAjax Metadata specification provides a way to describe JavaScript objects in a standard way that developers can easily produce and IDEs and mashup environments can consume. The metadata format can describe full JavaScript libraries like Dojo, for example, or single AJAX components like a YUI [Yahoo User Interface] Tree Control, or full-featured mashable AJAX gadgets like Google Maps or even just a plain old JavaScript function too. It works at all levels.
The draft specification for the API is complete and the specification for widgets is expected by the end of the year.

Developing Secure Widgets

In addition to the OpenAjax Metadata for Widgets specification, the alliance has also started to develop a specification called OpenAjax Hub 1.1. This specification provides a secure mashup runtime framework. This framework outlines the processes to load and isolate widgets and create secure message management. The draft of this specification is expected to be complete by the end of the year as well.

2008 InteropFest for IDEs and Widgets

On August 22, 2008, the start of the 2008 InteropFest was officially announced. This event is conducted by the OpenAjax Alliance and covers the work being done on the specifications discussed above. During this event, the organization and working group tool vendors are expected to test the metadata specification across multiple vendors and test the Hub specification. As part of the event, a Sample Mashup Application has been developed. The InteropFest will continue until October 20, 2008 just before AJAXWorld West 2008. Looking forward to seeing the outcome of the InteropFest and seeing how vendors have been able to apply the new specifications to their IDEs and mashup frameworks. It's also good to see Microsoft playing a strong role in the development of the specifications -- it shows they are truly serious about interoperability.