Initial draft spec for “OpenAjax Metadata”

Blogged by: Jon Ferraiolo on January 16, 2008 at 2:55 pm

The IDE Working Group, in collaboration with the Gadgets Task Force, has completed an initial draft of the “OpenAjax Metadata Specification”. OpenAjax Metadata represents a set of industry-standard metadata defined by the OpenAjax Alliance that enhances interoperability across Ajax toolkits and Ajax products. With version 1.0, OpenAjax Alliance defines metadata for the following:

  • Ajax widgets – OpenAjax Metadata 1.0 defines metadata for two definitions of the term “widget”:
    • UI controls – Some Ajax libraries provide a set of user interface building block components such as combo boxes, menu bars, or charts
    • Mashup components (aka “widgets” and “gadgets”) – Mashup frameworks allow for pre-packaged mini-applications (sometimes called “widgets” or “gadgets”) to be combined together within a composite application (the “mashup”), where the mashup components react to each other intelligently, such as when the user selects an address in one component which causes a different component to display an updated map that shows the given address.
  • Ajax APIs – OpenAjax Metadata 1.0 provides a reasonably comprehensive set of metadata that describes the runtime JavaScript APIs (e.g., classes and methods) that are available for an Ajax library.
  • Ajax libraries – OpenAjax Metadata 1.0 defines a handful of metadata fields for Ajax runtime libraries, much of which aligns with entries in the OpenAjax Registry.

The primary target consumers of OpenAjax Metadata 1.0 are software products. It is expected that these software products will consume and use the metadata to provide enhanced experience for users who building Ajax-powered solutions. In particular:

  • Mashup frameworks will use OpenAjax Metadata to use OpenAjax Metadata for widgets, such as the message types that the widget produces and consumes and the customization parameters that the widget supports
  • Ajax IDEs will use OpenAjax Metadata to provide the developer with (presumably automatically-generated) API documentation, intelligent code-assist, widget palettes, and widget property editors

The draft specification can be found at: /member/wiki/OpenAjax_Metadata_Specification. The IDE Working Group is early in the development process, so it is expected that there will be significant changes as the Working Group, implementers, and the public provide feedback. Public feedback is encouraged and can be sent to public@openajax.org.

OpenAjax Hub 1.0 Approved

Blogged by: Jon Ferraiolo on January 7, 2008 at 9:29 pm

I am proud to announce that the OpenAjax Hub 1.0 Specification [1] has been approved by the Interoperability Working Group, the members, and the OpenAjax Alliance Steering Committee. This represents the first approved Specification for OpenAjax Alliance per the terms of the OpenAjax Alliance Members Agreement. [2] and is therefore an important milestone for the alliance.

We have been working on Hub 1.0 for about 18 months, developing the spec [1], developing an open source reference implementation [3] and an open source test suite [3], and have verified our work with two major interoperability events, [4] and [5]. In the second interoperability event, the Hub was used to exchange messages among 19 different Ajax toolkits, including most of the toolkits with the highest market share.

OpenAjax Hub provides standard JavaScript that, when included with an Ajax-powered Web application, promotes the ability for multiple Ajax toolkits to work together on the same page. The central feature of the OpenAjax Hub is its publish/subscribe event manager (the “pub/sub manager”), which enables loose assembly and integration of Ajax components. With the pub/sub manager, one Ajax component can publish (i.e., broadcast) an event to which other Ajax components can subscribe, thereby allowing these components to communicate with each other through the Hub, which acts as an intermediary message bus. The umbrella use case for the OpenAjax Hub is the set of scenarios in which an Ajax developer needs to deploy a single application that uses multiple Ajax libraries simultaneously.

Here are some links:

[1] Final approved specification: /member/wiki/OpenAjax_Hub_Specification_v10
[2] Members Agreement: /process/OpenAjax%20Members%20Agreement%20Final%2020060816.pdf
[3] Open source reference implementation and test suite: http://sourceforge.net/projects/openajaxallianc
[4] First InteropFest: /member/wiki/InteropFest_2007_March
[5] Second InteropFest: /member/wiki/InteropFest_1.0

The next phase is OpenAjax Hub 1.1, which will add secure mashup support and client-server communications. We expect an initial draft specifications and open source to appear in the next few weeks.