TIBCO Takes the Open-Source Route to Integrating Mashups and Composite Apps

After helping to set the standards of the OpenAjax Alliance Hub, TIBCO is taking its own PageBus publish-and-subscribe message bus open source. It's an important integration tool as developers envision componentized Ajax applications.
Not so long ago, with stellar examples from the likes of Google (Google Maps), light bulbs emblazoned with Ajax lit above many a Web developer's head. Aha! Ajax will make mashups and composite applications like portals so much better – real-time updating without blipping the whole bloody page! True. But as mashup and composite applications became one of the driving forces behind Ajax (and a good chunk of Web 2.0), they became more complicated and difficult to manage.

Integrating connections from multiple sources is an ancient problem for enterprise IT shops, and its appearance in a new context, the Web page, is not surprising. An old hand at this, TIBCO (The Information Bus Company), tackled the problem with over seventy other vendors in the OpenAjax Alliance (OAA). The result was the OpenAjax Alliance Hub, a standardized program built on a core 'publish and subscribe' messaging system donated in part by TIBCO.

Intelligent Enterprise talked with TIBCO's Director of Developer Evangelism, Kevin Hakman, about the PageBus project, TIBCO's version of the OpenAjax Bus announced on July 30th, and TIBCO's view of the developing OAA Hub standard.

PageBus is an open source publish-and-subscribe message bus implemented in JavaScript. Since it's in a JavaScript file, its context is an HTML page. One of Hakman's key points is that "Message busses are very good at solving the complexity problem in using composite components. Using a publish/subscribe architecture becomes a much more manageable way; it helps to enforce good development practice, modularizing in testable units." With PageBus, programming complex mashups is a matter of simple API calls to the message bus. It handles the connection management.

This becomes very important as people envision Ajax applications with great modularity. "People are talking now about really having increasing numbers of reusable Ajax components that you can start to compose into broader applications." If this works, it will certainly be among the members of the OAA that conform to the OpenAjax Hub specification. As the OAA describes it, "The Hub 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, which enables loose assembly and integration of Ajax components. Some components publish events using the OpenAjax Hub to which other components subscribe, thereby allowing these components to communicate with each other through the Hub, which acts as an intermediary message bus."

There are other benefit said Hakman, "Taking the principles from the server side message busses and reapplying them to the client side, such as holding open a connection between the browser and the client; you can have messages on the server propagate out to the PageBus with real-time publish and subscribe communications between client and browser." Hakman added, "PageBus has topic-based messaging with wild cards and different types of pattern matching so you can browse information in very interesting ways." In short, within a publish-and-subscribe framework, data flexibility is a feature, not a chore. When asked about the relationship between TIBCO's PageBus and the OpenAjax Alliance Hub, Hakman said, "90 percent of the functionality of PageBus is in the OpenAjax Hub…simple things like 'Unsubscribe All' are not in release 1.0 but are in PageBus." Implied is the possibility for parallel development and enhancement, although TIBCO is obviously making its own track for PageBus. The PageBus project is intended to dovetail with TIBCOs General Interface Ajax tools (also open source, BSD).

The problem at hand, component integration, is classic, but TIBCO PageBus and OpenAjax Alliance Hub illustrate something relatively new: Despite the usual tug and pull of vendors wanting to have their own solutions, the center of gravity for Ajax—as it is for much of the Web—is open source and standards based.