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.
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.
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.