Furthermore, the system should offer a flexible and
standard based deployment mechanism, so that it is
able to dispatch role based user interfaces or
customized user interfaces for new types of devices
after deployment time.
Finally, because the system aims for providing
and executing business process based services, it is
straightforward to implement it as a Web Service
based system, which secures the system to be an
open and standard-based environment.
Hence, we have outlined the following
guidelines that we should take into account when
designing such systems. However, the outlined
guidelines do not aim at providing specific
techniques for satisfying the identified requirements.
Instead, the guidelines aim at building a framework
for facilitating the development that is going to
realize the requirements. As a result, there is no one-
to-one mapping between the guideline and the
requirement.
G1: Model-View-Controller (MVC) is the
general design pattern for designing a system of
heterogeneous device enabled business processes,
because of its supporting of loose coupling between
user interface components and business processes.
G2: In the MVC model, View module needs to
be further decomposed into the components of
presentation and the components of view generation.
Each device has its own user interface infrastructure.
The components of presentation are part of that
infrastructure; the components of view generation
are independent of that infrastructure and
responsible for generating views. The component of
view generation is the place where the user interface
customization is realized. Customization includes
both presentation customization and the user
interface logic customization. The set of components
for generating views for certain customized user
interface could be a stand alone deployment unit.
For instance, a set of components responsible for
generating HTML views and a set of components
responsible for generating XForms views are two
deployment units. Inside a View module, a client-
server structure and messaging based
communication can be adopted as design patterns for
achieving loose coupling between presentation and
view generation. This is necessary if the components
of view generation are deployed on a server side
instead of on a device side, which is a similar case
compared to Web application development.
G3: Model module consists of business
processes that control dynamic nature of the data,
which are independent of user interfaces.
G4: Controller module deals with user inputs and
manages view generation components according to
the results of service invocation, and it also takes
care of interpreting user inputs, determining which
service to invoke, and then invoking that service. It
is used as a communication hub between the view
module and the model module.
G5: There are three types of component-level
communication in existence in the system: device
internal communication, server-side internal
communication and cross boundary communication.
The device internal communication makes use of the
device’s native communication infrastructure for a
better performance. The server-side internal
communication adopts standard messaging
mechanisms in order to achieve maximum
interoperability. Cross boundary communication
should adopt a standard mechanism if possible. A
bottleneck may be lacking support for the standard
mechanism from mobile devices. Therefore, it might
need to have adaptation components for enabling the
standard-based device-to-server communication.
4 CASE STUDY
4.1 Introduction
We have designed and implemented a system of a
group messaging process by taking the design
guidelines into account.
In the group messaging process, a person can
send messages to a group of people, and any person
on the recipient list can receive and read the message
and then send acknowledgement to the sender. The
messages can be either plain textual messages or
textual messages with binary attachments. One
typical scenario is that (Figure 1). Firstly, all users
who are going to send and receive group messages
need to join the process and register their devices.
Then, the sender composes a message, and sends the
message. The system delivers the message to a
group of recipients. The delivery can be performed
in either push or pull style. It is decided by the
specific type of device that the recipient is using.
Once the recipients receive the message, they read it
and then send acknowledgement to the sender. The
system delivers the acknowledgement to the sender
in the same way of the message delivery. The sender
then checks the acknowledgement status from all
recipients. If acknowledgement has already been
received from all recipients, the sender tells the
system to delete the message. If not, the sender
continues to wait for new incoming
acknowledgement. Finally, all users quit the group
messaging process.
DEVELOPING AGILE USER INTERFACES FOR HETEROGENEOUS DEVICES IN BUSINESS PROCESSES
181