Skip to main contentIBM Zurich Research Laboratory
 
IBM
Home IBM Research IBM Switzerland      
 Select a country
 IBM Research Home
Zurich Research Lab
Computer Science
· Completed projects

Multichannel application hosting platform

In today's mobile computing world, a broad range of end-user devices can potentially access data and applications on servers, much like desktop computers access HTML sources across the Internet. A common feature among these mobile devices is their browser-centric architecture: content is transmitted from the server to the client in the form of a marked-up document, all interaction at the client device is orchestrated through a user-interface that is generated and maintained by a generic browser program. But devices differ greatly with regard to their input, output, and processing capabilities; with regard to their content formats (wml for WAP devices, or VoiceXML for voice-based browsers, for example); and with regard to their user interface paradigms, including alternative modalities such as voice or combinations of voice and text. Most significantly, the interaction patterns and typical usage scenarios vary from one device to another.

Providing adequate services to mobile devices is thus more complex than providing services to uniformly configured HTML browsers. An application must deliver information through different channels, and the content format and interaction modality must be selected according to the requesting device. We have designed an application hosting platform aimed at facilitating the development and hosting of such multichannel applications, illustrated in the figure below. Its architecture not only allows applications to generate the appropriate content format for each device, but also allows authors to define a device-specific view on the application's data and features, thus providing optimal application interaction for each device.

Whale hosting platform, click to enlarge

Our platform acts as a bridge between the user's receiving device and an application server's back-end data sources. The back-end data sources may be transaction engines, in which case we provide a suitable access "window" into those transactions, allowing the user to select among them, enter the relevant parameters, trigger a specific transaction, and retrieve the resulting data sets. Alternatively, the back-ends can be plain data sources (such as databases, data warehouses, news feeds, etc.), in which case the platform hosts the actual application logic as well. We provide a framework for the strict separation of device-independent logic from the markup generation. By separating the logic components of an application from the front-end in a thorough manner, additional devices can be added easily by supplying an additional set of markup generation components, without requiring other parts of the application to be modified. Conversely, migrating an existing application to a modified back-end system with the same functional characteristics affects only the logic components and does not require changes to the markup generation.

The JSP (Java server pages) mechanism was selected to drive the overall application architecture. JSPs are output templates from which Java Beans, which implement the application logic, can be polled; if used correctly, one can guarantee that only application logic that is relevant to a specific device-dependent markup is being executed. An additional component of the platform, the "WhaleInvoker", dynamically selects and executes the appropriate combination of Java server pages and Java beans to satisfy a data request from an end-user device. The multichannel application hosting platform was used to develop the Swissair "Easy Check-In" service, which allows selected Swissair passengers to check-in to booked flights using a WAP phone. The platform hosts the checkin application itself, as well as an SMS-based notification functionality and a configuration server for over-the-air provisioning of WAP telephones.

WAP phone

     
  About IBM  |  Privacy  |  Terms of use  |  Contact