Access-Independent Service Creation for the Internet and the World Wide Web

Kenneth G. Rehor, Thomas Ball
Systems and Software Research Center
Bell Laboratories/Lucent Technologies
1000 E. Warrenville Road Room 1G-363
Naperville, Illinois 60566-7013 USA
voice: 630-979-4196 fax: 630-713-4982
{krehor,tball}@research.bell-labs.com

The graphical web browser is now the standard means of access to sources of
information on the Internet and World Wide Web (web). While the first
function of these tools was to let users explore and retrieve structured
information, they also quickly became front ends to services. A service
defines a priori what paths a user can take between information retrieval
steps, what information is retrievable, and what information should be
collected from the user. A well-crafted service allows a user to conduct a
(usually domain-specific) transaction in an efficient manner.

Web services, such as banking, movie ticket sales, and collaborative
learning, are proliferating at tremendous rate. Many of these services are
finely tuned to the modern PC-based graphical browsers, merging text,
graphics, video and audio. However, in the future, we will access services
through a multitude of devices, ranging widely in capability and
functionality. Ideally, services should be available from any device that is
capable of mediating between the service and user. For example, a certain
subset of a web service's functionality may be accessible via the telephone
using interactive voice response (IVR) technology. The usual method for
providing these different access methods is to build separate telephone and
web services, only sharing a common database backend. Smart telephones
and other intelligent mobile devices are being introduced at a furious pace.
How will service providers and programmers accommodate the plethora of
devices?

As a concrete example, consider the Bank-by-Web and Bank-by-Phone
applications which many banks offer or want to offer. Phone banking is very
common, with web banking growing in popularity. Common aspects of the
services include the underlying banking transactions, information retrieval,
and user authentication. Nonetheless, these services generally have
dramatically different development environments, requiring separate
development by separate teams. This increases development cost, time-to-
market, and maintenance complexity. With high-level languages (e.g.
HTML) and GUI page editors, anyone can build a simple web information
access system, without requiring any technical knowledge about how the
bits get to the user's screen. In contrast, interactive voice response (IVR)
development systems historically have been platform specific, requiring
significant low-level technical knowledge for programming. Advances in
high-level scripting languages and graphical service creation make it easier
to build IVR services. However, most of these environments are still
telephone-centric.

We seek ways to unify the programming of services so that different access
devices can be supported with little extra programming effort. Ideally, we
would like to program the logic of a service once and separately specify how
a new device can be integrated into the existing service, rather than having
to change the logic of a service to accommodate a new device. Our initial
research focus has been on how to construct services that are accessible via
both the web browser and telephone. The issues arising in telephone access
include many that are relevant to making services available to an
increasingly heterogeneous collection of devices.

A unifying concept for web and telephone access to services is the form-
oriented query/response interaction paradigm. Even though the data
presentation and collection methods are very different for traditional web
services and IVR services, the basic service/user interaction is similar.
Users interact with the service via a sequence of forms. A form defines the
user interface, by presenting information to the user, collecting information
from a user, and returning it to the service. Both IVR and web services fit
the form-based service paradigm. An IVR service prompts the user for
information and collects a sequence of digits or does automatic speech
recognition. A web service sends an HTML page to a user's graphical
browser providing information and a fixed set of input fields to request
information such as account and password. A multitude of services and
devices fit the form-based interaction paradigm.

For example, a banking service requires essentially the same set of queries
for both web and telephone interfaces. However, the presentation of
information and collection of the information will differ radically, as suited
to the device. For example, a service interacting with a user via web
browser might show a table of account information, status, balance and
interest. If the service were interacting with a user via the telephone it
would have to provide this information in a conversational manner,
'reading' the account information to the user.

Our research has concentrated on a domain-specific language (Mawl) and
architecture for creating, analyzing and maintaining forms-based
applications with support for multiple devices. One of Mawl's key features is
the separation of service logic description from the user interface
description. Three abstractions make this separation possible: sessions
define the service logic; forms define the service/user interaction; templates
define the device-dependent presentation and collection of information. A
form can use different templates for each service/user interaction, depending
on the device type. Forms for graphical browsers use HTML templates, and
forms for telephone interaction use a variant of HTML called the Phone
Markup Language (PML). PML has telephony-specific markups to aid in
presentation via a telephone, and to support call processing features such as
call transfer. We have built a middleware called TelePortal that plays the
role of a browser, presenting PML documents to the telephone user by
"playing" them via standard IVR hardware.

This clean separation of concerns provides the programmer and service
provider with several advantages. It is easy develop complex transactional
services for the web, phone and other interfaces within a common
architecture, eliminating the need for separate development environments
and service platforms.

As the web matures and moves towards a service-oriented and business
transaction platform, the capability to build robust services that are flexible
enough to support and incorporate ever-changing device technology will
become more essential. In the last five years, a huge new batch of soon-to-be
legacy systems has been created, namely all the services we now access via
the graphical web browser. Most of these services will not be able to
accommodate new devices because they were coded in a device-dependent
fashion. Research into architectural and language support for access-
independent service creation and the development of supporting technology
will enable services with a truly global reach.