Announcing the 2008 InteropFest for IDEs and Mashups

OpenAjax Alliance is pleased to announce the start of this year’s interoperability event, the 2008 InteropFest for IDEs and Mashups. The 2008 InteropFest continues until just before AJAXWorld West 2008 (i.e., until just before October 20, 2008).

The 2008 InteropFest focuses on two main areas: Ajax IDEs and secure mashups.

InteropFest Focus #1: Ajax IDEs

Today, Ajax tooling falls short of potential, in large part due to interoperability problems. There are a number of Ajax IDEs today and hundreds of Ajax libraries, but only a small fraction of IDEs work well with only a small fraction of Ajax libraries, usually due to one-off coordination between particular Ajax libraries and particular IDEs.

To promote strong plug-and-play between Ajax IDEs and Ajax libraries, OpenAjax Alliance has developed an industry standard called “OpenAjax Metadata” (http://www.openajax.org/member/wiki/OpenAjax_Metadata_Specification), which defines an industry standard XML grammar for the following:

  • JavaScript APIs – Descriptive information about the namespaces, classes, methods, parameters, properties, etc. found in JavaScript libraries. This API metadata can be used by Ajax IDEs to deliver content-assist features and interactive help.
  • Widgets – XML metadata, along with wrapper HTML and JavaScript, for the UI controls found in many Ajax libraries. This widget metadata can be used by Ajax IDEs to populate widget palettes and to allow visual layout of Ajax applications.

InteropFest Focus #2: Secure Mashups

OpenAjax Alliance is working on multiple related technology efforts in order to help realize the potential of mashup technologies to enable user-generated situational applications, where applications are assembled by end users by dragging various widgets onto a canvas and connecting widgets together. The two main inhibitors to widespread deployment of mashups are security issues and interoperability challenges:

  • Mashup security: OpenAjax Alliance is addressing security primarily through the secure mashup runtime environment found within OpenAjax Hub 1.1.
  • Widget interoperability: The alliance is addressing widget interoperability primarily through its widget metadata standards found within OpenAjax Metadata (see the related discussion of widgets in the discussion about IDEs)

The OpenAjax Hub 1.1 is the key technology piece for addessing mashup security issues. OpenAjax Metadata for Widgets is the key technology piece for addressing the widget interoperability challenges.

What We Have Built At OpenAjax Alliance So Far

We have built a significant amount of technology in advance of the 2008 InteropFest:

For OpenAjax Hub 1.1, we have:

For OpenAjax Metadata, we have:

  • Draft specification for OpenAjax Metadata, which was developed in the IDE Working Group, where the leading contributors have included the following companies/products: Adobe Dreamweaver & Spry Toolkit, Aptana Studio (Eclipse-based), Eclipse ATF, Eclipse JSDT, Microsoft Visual Studio and ASP.NET AJAX, OpenLink Software, and TIBCO General Interface
  • Open source Sample Mashup Application that serves as a reference implementation for OpenAjax Metadata and implements most of the mashup-related features in OpenAjax Metadata
  • An XML validator for OpenAjax Metadata in the form of a “Validator” widget within the Sample Mashup Application
  • Open source extension to JSDoc Toolkit that can generate OpenAjax Metadata for JavaScript APIs out of any JavaScript file that uses JSDoc inline comments. (Source code for the JSDoc to OpenAjax Metadata converter is available at the OpenAjax Alliance open source site)

As preparation for the 2008 InteropFest, we have set up the following:

How to Participate in the 2008 InteropFest

The following sections explain how different classes of developers can participate in the 2008 InteropFest and how they can work with the Sample Mashup Application. Subsequent sections provide some additional information about the 2008 InteropFest.

JavaScript library developers

JavaScript library developers (or other developers with access to the JavaScript library source code) are strongly encouraged to generate OpenAjax Metadata files that define the JavaScript APIs and widgets that are included in their library and then use the Validator widget within the Sample Mashup Application to validate their OpenAjax Metadata files. To explain in more depth:

  • OpenAjax Metadata for JavaScript APIs – By providing OpenAjax Metadata for your library’s JavaScript APIs, you will enable developers you use your library to take advantage of Ajax IDEs that offer intelligent code assist and context-sensitive help.
  • OpenAjax Metadata for Widgets – By providing OpenAjax Metadata for your library’s widgets, you will enable your developers to take advantage of visual Web application design (e.g., drag and drop onto a canvas) in selected Ajax IDEs and you will have made your widgets “mashable” in that they will be ready for use within mashup editors such as the Sample Mashup Application.

The Sample Mashup Application includes a “Validator” widget that allows you to upload your OpenAjax Metadatata files (either in the form of a single XML file or a ZIP package) and validate your XML file(s) against the OpenAjax Metadata language schema. Library widgets that have corresponding OpenAjax Metadata files can also be uploaded to the Sample Mashup Application’s repository, which will cause the widget to appear in the Sample Mashup Application’s list of widgets, and therefore can be included within a mashup. A JavaScript library can claim to be a successful participant in the 2008 InteropFest by producing OpenAjax Metadata files for a subset of their features where those file validate successfully against the language schema.

Web Widget developers

(For the purposes of this discussion, a “Web Widget”, aka Gadget, is a standalone Web component that can be embedded into other applications. One of the leading formats in the industry for Web Widgets today is Google Gadgets.)

Web Widget developers are strongly encouraged to create an OpenAjax Metadata file for their Web Widget, then use the Validator widgets within the Sample Mashup Application to validate their XML, and if possible upload the file to the repository so that it can be included within user-created mashups. A Web Widget developer can claim to be a successful participant in the 2008 InteropFest by producing an OpenAjax Metadata file for their widget where the file validates successfully against the language schema.

IDE developers

IDE developers should add support for both aspects of OpenAjax Metadata to their products:

  • OpenAjax Metadata for JavaScript APIs – This will allow your IDE to provide intelligent code assist and context-sensitive help for arbitrary JavaScript libraries.
  • OpenAjax Metadata for Widgets – This will allow your IDE to support rich visual editing with widgets from arbitrary Ajax libraries.

An IDE can claim to be a successful participant in the 2008 InteropFest by consuming OpenAjax Metadata files and demonstrating user interface features that reflect the information from the OpenAjax Metadata files.

Mashup editor developers

Mashup editor developers should add support for OpenAjax Metadata for Widgets and OpenAjax Hub 1.1 to their products. This will enable your mashup editor to support the industry standard for Web Widgets and support the secure mashup runtime framework provided by OpenAjax Hub 1.1.

A mashup editor can claim to be a successful participant in the 2008 InteropFest by consuming OpenAjax Metadata files for widgets and/or including support for OpenAjax Hub 1.1.

Users

Users who are interested in learning more about user-designed mashups (i.e., where applications are assembled without programming), or are interested in learning more about “secure mashups”, can play with the mashup editor to add widgets to the canvas and link the widgets so that data can be passed from one widget to another, all within the context of the security management features that are included in the Sample Mashup Application (due to OpenAjax Hub 1.1 being used under the hood). (Note: Need to build widgets and demos that showcase the security features.)

For more information

For more information about the 2008 InteropFest:

  • If you are a member, you can send questions and comments as follows:
    • Discussion on Hub 1.1 occurs on the Interoperability WG mailing list at interop@openajax.org
    • Discussion about OpenAjax Metadata occurs on the IDE WG mailing list at ide@openajax.org (for things related to IDE workflows) and the Gadgets TF mailing list at gadgets@openajax.org (for things related to mashups and Web Widgets)
  • If you are not a member of OpenAjax Alliance, please send questions and comments to public@openajax.org.

Also, feel free to send questions and comments individually to Jon Ferraiolo (jferrai at us.ibm.com), who manages operations at OpenAjax Alliance.