www.mathertel.deOpenAjax implementation

The OpenAjax Hub is a set of standard JavaScript functionality defined by the OpenAjax Alliance that addresses key interoperability issues that arise when multiple Ajax libraries are used within the same web page.

A very important part of this specification is the Publish/Subscribe Event Management that founds a framework for building event driven web applications. These services by providing a common and interoperable service for publishing events on a broadcast basis and for script logic to listen (i.e., subscribe) to events fired by other script logic.

An implementation of the OpenAjax hub specification

The OpenAjax Alliance has defined a specification called the OpeAjax hub that is a mechnism that enables loose connections between multiple components by using a publish subscribe pattern. A second source implementation is available within the AJAXEngine framework (insinde jcl.js) and as well it is available in a standaline version in AoAoA.js.

The OpenAjax Alliance provides a reference implementation is available in an early version and other implementations of the specification are welcome. After reading the available specs and noticing that it is "just" better then my prior codings I decided to implement the specific details on my own and make them available in a standalone JavaScript file. Some requirements are implemented different than in the reference implementation and maybe you find the time to have a look at the difference if you like.

Using the OpenAjax hub

This article describes by using a sample how to use the OpenAjax hub implementation and shows the advantages of using it.

published at Using the OpenAjax hub

Extending the OpenAjax hub

This article shows how to extend OpenAjax events over the network by using an OpenAjax hub compatible approach.

The current version of the OpenAjax hub implementation (Hub 1.0) is focusing on a client-side solution for integrating components into a web application. But it doesn't address any needs that might come with the scenarios where events have to cross the boundaries of the current client side window.

However the hub specification does not explicit exclude these scenarios and is extendible without changing the API itself by introducing a OpenAjax compatible extender component.

published at Extending the OpenAjax hub

OpenAjax compatible components

The components that are available in the AJAXEngine project will become fully OpenAjax compatible and the prior implementation of the PageProperties will be given up for using the OpenAjax even mechanism.

History

While working on a refactoring of the event-subscribe mechanism of the AJAXEngine framework (see http://ajaxaspects.blogspot.com/2005/09/connecting-controls.html) I implemented a version of the current OpenAjax Hub Specification (0.5).

The (hope so) OpenAjax compatible implementation: AoAoA.js

A simple test page: testAoAoA.htm

The size of the implementation is about 1300 bytes when compressed (using http://shrinksafe.dojotoolkit.org/). That's about half the size of the reference implementation.


This page is part of the http://www.mathertel.de/ web site.