MODELLING USER INTERACTIONS IN WEB SERVICE-BASED
BUSINESS PROCESSES
Antonio Pintus
CRS4, Loc. Pixinamanna Edificio 1, Pula (CA), Italy
Dipartimento di Informatica e Matematica, Università di Cagliari, Via Ospedale 72, Cagliari, Italy
Fabio Paternò, Carmen Santoro
CNR-ISTI, Via Moruzzi 1, Pisa, Italy
Keywords: User Interface Modelling, Model-Based Design, Task Models, Business Processes, Web services.
Abstract: This paper presents a methodology that defines a model-based approach in composing User Interfaces for
Business Processes based on Web service technology. The core concepts of the methodology are
represented by an integration of modern task model notations developed in the HCI area, such as
ConcurTaskTrees, with a mainstream notation for Business Process modelling (BPMN) developed in the
workflow/business process area. The main advantage is to obtain thorough support in designing complex
interactive business applications able to flexibly compose Web services and obtain meaningful associated
user interfaces which can be not only Web interfaces but also extended to a multi-modal fruition. The
proposed methodology allows a collaborative work between business process modellers and user interface
modellers remaining open to iterative refinements. In this paper we also briefly compare the considered
notations and discuss an example application of the proposed method.
1 INTRODUCTION
Business Process solutions enable enterprises to
consolidate and optimize their business operations
and to gain competitive advantage in the fast
evolving global market. Business process modelling
is the activity of representing enterprise processes.
In particular, the Business Process Modelling
Notation (BPMN) is a standard for business process
modelling, based on a flowcharting technique, able
to represent complex process semantics. With a
broad adoption of Web service technology, business
process management solutions (and workflow
systems in general) started to include Web service
support as a natural component in processes
specification.
Model-based user interface design has mainly
focused on how to obtain user interface
implementations from user interface description
languages or task models. Business process models
have addressed a different topic: how to organize
workflows using business. Business process
notations do not seem suitable to specify user
interfaces for those process units that require user
interactions nor they provide a modelling
methodology for them. Also, Web service
specifications and standards do not include a
formalism to describe and associate user interfaces
related to services, so they have to be composed and
authored from scratch depending on platform, media
and programming languages constraint. This
becomes even more complicated in case of SOA
applications based on Web services and designed as
Business Processes. Thus, it is important to
investigate novel solutions able to integrate business
process-oriented approaches with approaches
coming from the HCI field, such as task models.
They can lead to new methodologies for designing
customizable systems supporting business processes,
which benefit from model-driven user interface
design to support business process management
environments with adaptable, process-specific and
task-specific interfaces. There is a general agreement
on the abstraction layers relevant for interactive
systems, like the CAMELEON Reference
Framework (Calvary, 2003), and there has been a
175
Pintus A., PaternÚ F. and Santoro C.
MODELLING USER INTERACTIONS IN WEB SERVICE-BASED BUSINESS PROCESSES.
DOI: 10.5220/0002774401750180
In Proceedings of the 6th International Conference on Web Information Systems and Technology (WEBIST 2010), page
ISBN: 978-989-674-025-2
Copyright
c
2010 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
considerable amount of work on how to support
transformations across such layers in order to
address multi-device environments, i.e. (Mori,
2004). In this case the generated user interfaces
adapt to the interaction resources available in the
target devices. Thus, the methodology proposed in
this paper can also support derivations of user
interfaces for various types of devices (desktop,
mobile, vocal, ...), which can be used depending on
the current context and task.
In this paper we propose an integrated approach
which combines BPMN notation for business
process modelling with ConcurTaskTrees (CTT) for
task modelling, to fulfil the design of user interfaces
for interactive business processes based on Web
services. Lastly, some conclusions along with
indications for future work are provided.
2 RELATED WORK
The relations between HCI task modelling and
business process modelling are stimulating
increasing interest in deriving user interfaces for
human-based activities in business processes.
In (Traetteberg, 1999) the integration of task
modelling with workflow modelling languages is
motivated from a general point of view, making the
assumptions that workflow models can provide a
useful context for task modelling at different levels
since they essentially face the same domain and, in
particular, low-level workflow activities can be
considered high-level tasks in task models, hence a
task model can be viewed as a refinement of a
workflow model from the perspective of a particular
user role. However, differently from our approach,
this work is not much focused on business processes
based on Web Services, which raise specific design
issues.
In (Zhao, 2007), information inference from a
business process specification is used within a
model-based approach where automatic user
interface generation is achieved through a set of
transformations that exploit the definition of several
heuristic rules to obtain task models directly from
business processes. However, in this work, the issue
of how to transform a task model into a UI structure
is a decision of the UI designer, while in our
approach we make provision for several rules and
guidelines to move in a semi-automatic way from
task models to final UIs. In (Guerrero, 2008) a user
interface modelling approach in the context of
workflows is proposed but it does not use the BPMN
notation. Other works have focused on rapid
prototyping of low-fidelity user interfaces mock-ups
using business process models as a starting point:
(Sukaviriya, 2007) and (Pontico, 2006) highlight the
need of integrating UI aspects in business process
models and the fact that business notations, such as
BPMN alone, are not suitable to analyze user
activities because user interactions are disjointed
throughout the process and stress that a mixed user-
centred approach can lead to several advantages in
eGoverment applications. Moreover, an interesting
work (Sousa, 2008b) has proposed a model-driven
approach in aligning business processes, expressed
using BPMN, with user interfaces, in which
assumptions made on associations between elements
of those models are exploited to automatically
transform business process models into user
interface models to then complete the user interface
development cycle. Therefore, also the latter work
mentioned assumes the concept that the information
contained in business processes are not sufficient for
supporting the related UI design.
3 CONCURTASKTREES AND
BPMN NOTATIONS
The strong motivation of workflow systems is to
provide automatic support to organisation processes
by incorporating the rules that define how activities
should be carried out, how they should
communicate/coordinate/synchronise with each
other, and how to manage the involved information
objects while harmonising their solutions with
existing operating systems, databases, software
applications and hardware infrastructures.
Task modelling deals with similar concepts, as
its objective is to identify the activities users are
supposed to carry out in order to achieve their goals
while using an interactive system and information
contained in task models can be used to generate
effective user interfaces accordingly.
However, on the one hand workflow systems
share some concepts with task modelling, especially
when methods based on task analysis are applied to
multi-user applications, since both of them cope
with identifying roles, specifying constraints
between the activities carried out by the various
roles for accomplishing their work, the information
objects manipulated, and so on. On the other hand,
two basic differences can be identified between
them; the first one is the granularity of the
considered activities: in workflow systems the focus
is generally on entire processes at the organisational
level, which might even have a long duration,
whereas task analysis focuses more on individual
WEBIST 2010 - 6th International Conference on Web Information Systems and Technologies
176
users’ interactions with applications, which in some
cases can be almost instantaneous. The other
difference is the area in which they have been
developed: workflow systems originated in the area
of information systems, where their original aim was
to allow different users to have access to the same
information in a consistent manner, while task
analysis is basically connected with human-
computer interaction, since it provides relevant
information that can be appropriately used in the
design of user interfaces.
The Business Process Modelling Notation (BPMN),
is a visual notation for business process flows
modelling, composed of graphical elements,
semantics, attributes and properties, which visually
compose a Business Process Diagram (BPD) (OMG,
2007). It is conceived to provide a readily
understandable formalism by both business analysts
and technical developers. BPMN fits well with
Service-Oriented paradigms and Web service
technology since it can be almost finally mapped to
process execution languages (Owen, 2005) in order
to obtain an executable process from a BPMN
diagram, providing a notation for them. BPMN
supports modelling a business process flow using
activities, events, gateways for business decisions
and flow branching. Activity is a generic term in
which are included processes and sub-processes and,
when it is not possible a further decomposition, in
tasks, which are the lowest-level, atomic activity
definition that are generally executed by an end-user
and/or an application, like invoking a Web service
operation. However, the concept of task in the BPD
context focuses on what should be accomplished in
performing a task and does not specify how the task
is performed. Indeed, it does not provide any
formalism to describe all user interactions in
accomplishing a particular task when a human
intervention is needed. In this case, task modelling
from HCI could result useful to describe the user
interfaces for the interactive steps involved in the
particular human activity.
ConcurTaskTrees (Paternò, 1999) is a de facto
standard notation for task modelling, also thanks to
the availability of a number of tools that support
editing and analysis of CTT specifications. Its
combination of hierarchical structures (inherited
from Hierarchical Task Analysis) with a flexible set
of temporal operators allows designers to easily
specify complex interactive sessions.
BPMN and CTT notations share similar concepts
and, sometimes even expose similar semantics, these
similarities can lead to definition of automatic
transformations between notations, as discussed in
(Sousa, 2008a), but it is also necessary to take into
account the general lack of support of BPMN for
domain data objects, and that the CTT notation,
beside direct reference to them, offers a more
detailed view on user-applications interactions. So,
we believe that an integration between BPMN for
general business processes design and CTT in
refining the specification of user oriented tasks
achieved through the use of Web services based
applications, can be useful and suitable in defining a
methodology for related user interface design.
The BPMN Task specification includes a
TaskType attribute, where a value of Service,
Receive and Send task types can be used to specify a
Task that provides or uses some sort of service,
which could be a Web service or an automated
application, whereas User task type value denotes a
task where a human performs it with the assistance
of a software application and that type is taken into
consideration our approach.
These features can be used to describe, at a
higher-level of abstraction, a complete SOA
application based on Web service technology where:
a) Tasks which are conceived as completely
automatic activities are achieved through the
invocation of Web services operations, can be
labelled as Service or Receive or Send task types, b)
Tasks in which a human user/performer
accomplishes the task using a software application,
can be labelled as User task type. In the former case,
no human involvement or actions are expected, so
no further modelling is required. More interesting is
the latter case, in which human activities are
required to be achieved and a user interface could be
presented to the user in order to accomplish the task.
This is the case in which task modelling with CTT
helps to define in detail the conceptual model of user
interactions. On the other side, also the CTT main
concept is the Task, although different from BPMN
Task. In CTT, tasks can be used to detail activities
with different levels of granularity thanks to the
hierarchical structure of the notation which allows to
detail them and retain the ancestor's relations.
CTT supports four task categories, which
indicate to what agent the performance is allocated:
a) Abstraction: which represents complex Tasks
(with sub-tasks differently allocated); b) User:
denotes a cognitive human activity; c) Interaction:
involves a human interaction with the system; d)
Application: represents a completely automatic task
performed by the system.
4 AN INTEGRATED APPROACH
In the proposed approach we make the assumption
MODELLING USER INTERACTIONS IN WEB SERVICE-BASED BUSINESS PROCESSES
177
that several business activities are performed using
Web services and that some of these activities
(Tasks) require user interactions. Then, we first
model the business process using a standard business
notation (BPMN). This is useful to identify the main
activities in the process, with large granularity, and
the Web services or their compositions that are
required to support them. Then, each main activity
in the process that requires some user interaction
becomes the root for a corresponding task model
specified using CTT and describing more in detail
how such activity should be performed (see Figure
1). In developing the task models, designers should
consider on the one hand the user requirements
elicited through interdisciplinary teams and the
available Web services, in particular their operations
and parameters. Web services can be considered
system tasks in the CTT classifications, since they
are automatically performed, and the CTT model has
to be refined until a system task for each possible
used service operation is reached.
Obviously the task model should include not
only system tasks but also interactive tasks to
describe the required user interactions and user
tasks, to indicate tasks that involve particular
internal cognitive processing by the user.
From the task model then an abstract, platform-
independent description of a user interface can be
derived. This, in turn, can be transformed into a
concrete user interface description ready for the
generation of the implementation once the target
platform is identified (i.e. XHTML, voice, Java
Swing, etc…). The main advantage of this solution
is that the business process can be supported by
users working in flexible multi-device contexts, in
which users can vary the interaction device to use,
and still receive user interfaces adapting to the
varying interaction resources.
Since a task model can imply the access to
multiple Web services, the building of the
corresponding user interface can be considered a
composition of the user interfaces associated with
each Web service. Such composition can be
performed according to various dimensions: the
abstraction level considered, the granularity of the
elements composed (interface elements or groups or
entire presentations), the user interface aspects
involved (perceivable elements, dynamic behaviour
or content), and in which phase the composition is
expected to take place (e.g. at runtime or at design
time).
When designers have to refine the task model
associated with each main interactive activity in the
BPMN model, they have to consider the Web
services to access and their operations in such a way
Figure 1: The proposed approach.
that system tasks are associated with the operations
to access. The task model is then transformed into a
MARIA (Paternò, 2009) specification: a recent
XML language that provides the possibility to
specify abstract and concrete user interface
descriptions. It overcomes limitations of previous
languages in this area because it also includes a data
model, which is useful to specify the format of the
information manipulated by user interface elements;
and an event model, which allows the description of
flexible interactions with any type of interaction
objects. It also provides support for complex
scripting and Ajax-style interactions.
In this transformation from task models into
logical user interface descriptions we also consider
the existence of user interface annotations associated
with Web services. They can be useful to provide
hints from the service developers regarding
attributes to consider when designing the user
interface of applications accessing such Web
services. For example, such hints can provide
suggestions regarding labels or icons to use rather
than those automatically generated or regarding the
type of interaction object to use for accessing the
service or regarding other aspects of the service (e.g.
its importance or criticality).
5 AN EXAMPLE APPLICATION
We clarify the proposed approach through an
example taken from a business application. The
BPMN diagram visualised in Figure 2 shows an
excerpt of the flow of cooperation occurring
between a customer and a sales representative when
WEBIST 2010 - 6th International Conference on Web Information Systems and Technologies
178
some orders have to be created by the customer and
sent to the sales manager and some business
activities are performed using Web services.
In particular, Figure 2 uses two lanes to show
that there are two basic entities/participants (or
pools) involved in the process (the Customer and the
Sales Manager), which are responsible for two
different groups of tasks. Regarding the Customer,
whenever she decides that some items have to be
bought, s/he has first to login into the system, then
s/he has to create a new order (see “Create new
order” activity in Figure 2). The latter activity
automatically triggers gathering the list of available
products. This is done through a Web Service
operation invocation associated with the “Get
available products” activity in Figure 2. Such an
output is in turn sent to another Web service
operation (associated with the “Get quotations of
products” activity, see Figure 2). In this way, it has
been specified a Web service composition. After
providing this information to the user, the customer
has the necessary information for appropriately
modifying the newly created order, by adding
further details to it (e.g. by adding/deleting items).
Figure 2: BPMN Diagram (two swimlanes: Sales Manager
and Customer.
As soon as s/he finishes to modify the order, s/he
sends it to the Sales manager, and then the Customer
can logout from the system. After some time, s/he
will receive a notification (from the Sales Manager)
about the result of her order request.
If we focus on the swimlane of the Sales
Manager, her main activity is to iteratively check
information regarding drafts that already exist within
the system. However, as soon as a new order from a
customer is received, s/he decides to handle the
newly arrived order: this means to check the type of
payment requested by the customer, and then
complete the order by also sending to the customer
the notification about the result of processing the
order.
Within these two lanes there are some activities
(Tasks) that can be further refined and specified
through suitable task models since they required a
direct user interaction. It is the case, for instance, of
the “Edit Order” activity performed by the Customer
(see Figure 3 for a refinement of this activity
represented as a CTT task model), as well as the
“Complete Order” carried out by the Sales Manager
user (see Figure 4).
Figure 3: Task model of the “Edit Order” activity
(Customer).
As shown in Figure 3, the Customer is supposed
to perform several tasks in order to edit the order.
More specifically, after having checked the list of
available quoted products, s/he can iteratively add
(and also delete) items from her current shopping
cart. In addition, s/he has also to specify the type of
payment requested for buying the items specified.
Please note that, as we mentioned before, the input
of this “Edit Order” task is actually the result of
composing two different services. In addition, please
note that the activity “Edit Order” is consistently
represented as iterative in both diagrams visualized
in Figure 2 and Figure 3 (in the BPMN diagram a
“Loop type” has been used, while in the CTT
notation an iterative task is specified).
In Figure 4 there is a refinement of the
“Complete Order” activity performed by the Sales
representative user. Depending on the type of
payment requested by the Customer, the Sales
Manager activates the concerned check, and the
system notifies him about the result of the process.
Figure 4: Task model of the “Complete Order” activity
(Sales Manager).
Then, the possibility to integrate the business
process specified in Figure 2 with the information
specified in the task models of Figure 3 and Figure 4
allows us to provide an “extended” diagram in
which the associated interactive part of the business
activity considered in the example are further
specified with CTT. Having done this, it is then
possible to derive the user interfaces associated with
the various task/activities, by transforming the
information contained in the CTT task model into an
MODELLING USER INTERACTIONS IN WEB SERVICE-BASED BUSINESS PROCESSES
179
abstract description of the user interface (expressed
with MARIA XML language).
In addition, also the system-supported services
specified in the BPMN diagram can be translated
(through suitable transformations) in order to obtain
the associated abstract UI descriptions for
supporting the access to such services.
After this, and depending on the specific
platform at hand, it is possible to obtain a concrete
description which is in turn transformed into a final
user interface implemented a particular language.
6 CONCLUSIONS AND FUTURE
WORK
In this paper we present an approach to integrating
business process models with task models. The goal
is to exploit the potentialities of the two fields in
order to obtain a comprehensive approach able to
support the design of complex interactive business
applications based on Web services in which not
only them are composed together, but also their
associated user interfaces. We have also shown
some example application of the proposed method.
Future work will be dedicated to developing tool
support for this method in such a way to use a single
environment for editing integrated BPMN and CTT
specifications, which can then be used to generate
user interfaces for various type of interactive
platforms exploiting intermediate logical user
interface descriptions.
REFERENCES
Calvary, G., Coutaz, J., Bouillon, L., Florins, M.,
Limbourg, Q., Marucci, L., Paternò, F., Santoro, C.,
Souchon, N., Thevenin, D., Vanderdonckt, J., 2003.
The CAMELEON Reference Framework, Deliverable
1.1, CAMELEON Project,
http://giove.isti.cnr.it/cameleon/deliverable1_1.html.
Guerrero, J., Vanderdonckt J., Gonzalez, J. M., Winckler,
M., 2008. Modelling User Interfaces to Workflow
Information Systems. In ICAS'08, Proceedings of 4th
International Conference on Autonomic and
Autonomous Systems, IEEE Computer Society, Los
Alamitos, CA, USA, 55-60.
Mori, G., Paternò, F., Santoro, C., 2004. Design and
Development of Multi-Device User Interfaces through
Multiple Logical Descriptions. IEEE Transactions on
Software Engineering, IEEE Press, 30, 8, 507-520.
Object Management Group (OMG): Business Process
Modelling Notation (BPMN) 1.2 , 2007,
http://www.omg.org/spec/BPMN/1.2/
Owen, M., Ra j, J., 2005. BPMN and business process
management, an introduction to a key process
modelling tool (2005),
http://researchlibrary.theserverside.net/detail/RES/121
5708509_251.html v
Paternò, F., 1999. Model-based Design and Evaluation of
Interactive Applications, Springer Verlag, ISBN 1-
85233-155-0.
Paternò, F., Santoro, C., Spano, L. D., 2009. Model-based
Design of Multi-Device Interactive Applications based
on Web Services. In INTERACT’09, Springer Verlag.
Pontico, F., Farenc, C., Winckler, M., 2006. Model-Based
Support for Specifying eService eGovernment
Applications. In TAMODIA 2006: Proceedings of 5th
International workshop on TAsk MOdels and
DIAgrams. LNCS, Springer-Verlag Berlin,
Heidelberg, 4385, 54-67.
Sousa, K., Mendon, H., Vanderdonckt, J., Rogier, E.,
Vandermeulen, J., 2008. User interface derivation
from business processes: a model-driven approach for
organizational engineering. In SAC '08: Proceedings
of the 2008 ACM symposium on Applied computing,
ACM, New York, NY, USA, 553-560.
Sousa, K., Mendonça, H., Vanderdonckt, J., 2008. A
Model-Driven Approach to Align Business Processes
with User Interfaces. In Journal of Universal
Computer Science, 14, 19.
Sukaviriya, N., Sinha, V., Ramachandra, T., Mani, S.,
Stolze, M., 2007. User-Centered Design & Business
Process Modelling: Cross Road in Rapid Prototyping
Tools. In Proceedings of Interact07, Springer-Verlag,
Berlin, 165-178.
Traetteberg, H., 1999. Modelling work: workflow and task
modelling. In Proceedings of the third international
conference on Computer-aided design of user
interfaces, Kluwer Academic Publishers, Norwell,
MA, USA, 275-280.
Zhao, Z., Zou, Y., Hawkins, J., Madapusi, B., 2007. A
Business-Process-Driven Approach for Generating E-
Commerce User Interfaces. In MoDELS 2007:
Proceedings of the 10th International conference on
Model Driven Engineering Languages and Systems,
Springer Berlin, Heidelberg, 256-270.
WEBIST 2010 - 6th International Conference on Web Information Systems and Technologies
180