IBM Software Group  |  Lotus software
IBM  Lotus Forms
© 2007 IBM Corporation
The “Hello, world!” of the Backplane
XForms Data Model
XHTML+
XForms
Yahoo
Map
SCXML
Controller
§Search box elements and Yahoo map component “hook-up” to backplane – vs. mash-up to each other
§
§State Chart XML Controller can manage cross-component coordination
Before we dig into the details, we should start with the “Hello, world!” of the Backplane.
•On the upper left side of the display we have a basic application built with XHTML and XForms that allows the user to specify his address and a radius of concern from that location.
•When the user hits a search button, results are obtained, in this case, how many sushi restaurants there are within range.
•The user expects this data to seamlessly be integrated into the user experience of the currently running web application.
•But the returned search list is one-dimensional, so presenting it like a set of Google or Yahoo search results does not produce the richest user experience.  Since we know the list includes geographic information appropriate for two-dimensional display against the backdrop of a map, it makes sense to involve another component for that purpose.
•In this case, the master controller for the application is perhaps expressed in SCXML, and it detects the availability of the restaurant list, and changes the application state to include a map component.
•In this state, the map component shows the list of search results as bubble points against the backdrop of a map of the region specified by the user.
•The user may then choose a particular bubble point, which drives further behavior in either a third component or as part of the first to present restaurant details such as its address or a link to its menu and prices.
One important observation to be made about this application is that data obtained from the web is used within the application to create a dynamic, rich user experience. The application is not replaced by another application containing the additional data.  In other words, the application avoids the unwieldy user experience of a page refresh that is characteristic of older web applications.
The key idea of this slide, though, is this: although this application is simple enough to stitch together by hand, i.e. by directly mashing up the components using detailed knowledge of the data schemas of each, it is also possible to begin envisioning a less ad hoc approach in which the components’ contracts with the outside world are specified and less dependent on the internal workings of other specific components.  This makes solutions that are less brittle and more reusable in other applications.