=Paper=
{{Paper
|id=None
|storemode=property
|title=Enacting BPM-oriented Workflows with Wade
|pdfUrl=https://ceur-ws.org/Vol-741/ID7_BergentiCaireGottaLongSacchi.pdf
|volume=Vol-741
|dblpUrl=https://dblp.org/rec/conf/woa/BergentiCGLS11
}}
==Enacting BPM-oriented Workflows with Wade==
Enacting BPM-oriented Workflows with Wade
Federico Bergenti Giovanni Caire, Danilo Gotta,
Dipartimento di Matematica Daniela Long, Giovanna Sacchi
Università degli Studi di Parma Telecom Italia S.p.A.
43100, Parma, Italy 10148, Torino, Italy
federico.bergenti@unipr.it {giovanni.caire,danilo.gotta,daniela.long,giovanna.sacchi}@telecomitalia.it
Abstract—This paper has two main focuses. First it provides a Generally speaking, a BPM system enables a wide range of
review on the reasons why agent technologies are a good choice tasks like automating manual work, improving information and
for BPM (Business Process Management). A brief survey of the knowledge exchange among employees, controlling business
literature on the subject is presented and a critical revision of the processes in place, and assist in design and engineering of
main motivations that are commonly accepted for the use of business processes. More in details, there are a few features
agents in BPM is presented taking into account recent that every BPM system must provide and that we consider of
technological developments. Then, the paper presents the recent paramount importance (see also [8]):
developments of Wade (Workflow and Agent Development
Environment) and it confers such developments and value-added 1. It should transparently support multiple instances of a
features in the scope of the initial discussion. Finally, the paper given process and a given task;
briefly enumerates some successful applications of the presented
technologies in Telecom Italia. Such applications are so 2. It should ensure that dependencies between the tasks
important and demanding that their implementation using agent- are timely satisfied;
based approaches is an outstanding result for agent technology. 3. It should allow user activities to be assigned
appropriately; and
Keywords-business process management; agent-based business
process management systems; Wade 4. It should integrate with the enterprise software tools
required to complete the tasks.
I. INTRODUCTION The introduction of a software system for BPM typically
Business Process Management (BPM) is now a consolidated entails the adoption of appropriate workflows within the
trend in IT that has recently came up as a new discipline enterprise. A workflow, as defined in [15], is the automation of
intended to unify related topics such as Process Modeling, a business process–in whole or part–during which artifacts,
Workflows, Enterprise Application Integration and Business- information and/or tasks are passed from one actor to another
to-Business integration (see, e.g., [8]). according to a set of procedural rules. Normally, workflows are
Despite the complexity of the subject, we can broadly refer meant to ensure that the right people receive the right
to a business process as a set of interdependent activities that information at the right time.
collectively realize a business objective or policy, within the Current BPM systems are high quality, mature tools
context of an organizational structure defining the functional intended primarily to manage business processes that are well
roles and the relationships between actors [15]. BPM includes structured and whose paths are identified a priori (see, e.g.,
the following activities regarding business processes [11]: [3][15]). However, the very high complexity and the intrinsic
volatile and evanescent nature of today’s business environment
1. Process description: every process must be described often make current BPM systems not sufficient. This has lead
in some specification language in order to enumerate to the identification of a number of weaknesses of current BPM
the activities that need to be performed, the actors systems and the criticism against available BPM systems is
who perform them, and the interdependencies that now a solid movement (see, e.g., [11][13]). Therefore, we
exist between activities; and witness the rapid evolution of alternative approaches to
2. Process execution and management: organizations traditional BPM that notably include agent-based BPM
typically use a software system, called BPM system, systems, and more generally, the use of the entire spectrum of
in charge of enacting the process description and turn agent technologies in the scope of BPM. The promise of agent
it into practice. technologies with this respect is to provide solid warranties for
greater dynamism, agility, and adaptability.
While the importance of BPM systems in process execution We already have a number of agent-based BPM systems
is obvious, it is of equal importance to couple BPM systems available (see, e.g., [4][6][11][12][13]) and all such proposals
with models intended to express the complexities of business share the common factor of using the autonomous and
processes in the scope of their organizational context, and to collaborative nature of agents to accommodate unexpected
support reasoning about processes for enabling future situations in dynamic business processes.
optimization and reengineering activities.
II. AGENTS AND BUSINESS PROCESS MANAGEMENT processes. Unfortunately, according to [15] the majority of
In order to precisely discuss the role of agent technology in the current generation BPM system shares a common approach to
scope of BPM systems, we must first review in details what a structure the lifecycle of business processes. They all start
BPM system is and how it is expected to behave. The most modeling business process from activity analysis and they pay
relevant reference for this kind of systems is [15], which primary attention to business process tasks interdependences in
characterizes a BPM system as a software system that defines, order to correctly enact known sequence of the tasks [8]. All in
creates and manages the execution of workflows that are all, such systems are adequate only in situations where a
running on one or more workflow engines. Such workflow business process is fully understood and every conceivable
engines are able to interpret the process definition, interact with outcome of tasks and activities can be considered and
workflow participants and, where required, invoke the use of controlled beforehand.
other software. As we briefly discussed before, not all business processes
Such BPM systems are typically modularized in a set of can be defined with such a fine level of control at design time.
well-defined parts (see, e.g., [8]): business process definition Real-world business processes are complex and continuously
tools, business process servers, business process client changing in order to accommodate the changes of their
applications and business process monitoring and operative environment. Because of that, [8] provides a list of
administration tools. Figure 1 provides a pictorial view of such the major drawbacks and limitations of current BPM systems,
a modularization of a BPM system. which we review here according to recent developments of the
technology:
1. Limited flexibility during process enactment;
2. Inability to cope with dynamic changes in the
availability of resources needed to accomplish
activities and tasks, as existing systems tend to lack
the necessary facilities to redistribute work items
automatically as (and when) required;
3. Inadequate handling of exceptional situations,
especially when an exceptional case arises in a part of
compound (yet possibly recoverable) tasks;
4. Limited (or even, no) ability to predict changes due to
external events, in both the volume and the time
distribution of activities.
5. Insufficient interoperability with other systems as the
majority of existing BPM systems consists of
centralized and monolithic systems that are meant to
control their operative environment and that are not
Figure 1. Conceptual model of traditional BPM system (from [13]) designed to cooperate with other (possibly unknown)
controllers.
Business process definition tools allow modeling the
process in terms of workflows, actors, tasks, activities and their Even a superficial read of the mentioned drawbacks
relationships and interdependencies. This is normally done suggests that agent technology should be capable of addressing
using a graphical notation that typically resembles flowcharts. and effectively solving all such issues. If agent technology is
Business process servers are the software systems that involved in the enactment of business processes, we should
provide the runtime execution of defined processes. They read benefit from the intrinsic dynamism and flexibility of agent-
process definitions and actually execute and track them. based systems.
Business process client applications are software systems An agent-based BPM system is made of a set of software
that actors use to interact with the workflow. The application modules that meet the coarse grained criteria that define
does not need to be part of the BPM system and it is typically a agenthood and that are involved in managing the flow of work
thin (Web) client that behaves as a front end to allow users throughout a business process [13]. The basic idea is to rethink
receiving information and submitting events to the business the mentioned modules of a traditional BPM system in terms of
process server. interacting agents in charge of peculiar responsibilities and
Business process monitoring and administration tools are capable of predicting and reacting to unforeseen situations.
intended to provide a real-time view of the state of execution of This does not mean that we need to rethink the discussed
workflows and they provide means to manage unforeseen modularization of a BPM system; rather agents give us the
situations. They are valuable tools that give concrete help at possibility of going deeper in the definition of the parts of a
runtime and that trace the information needed to optimization BPM system. All such parts are then viewed as agents in order
and reengineer processes. to benefit from the intrinsic characteristics of agents
Even if the modularization of typical BPM systems is well themselves.
established and understood, in principle different systems can Moreover, the use of agents enables another, orthogonal,
have different approaches to support the lifecycle of business modularization possibility, as suggested in [8]. An agent-based
BPM system can split a business process into parts and trust traditional environments where dynamism and uncertainty are
the control over such parts to individual agents. not major issues.
Finally, the business logic behind the business processes We have been using agent technology in traditional
can be explicitly defined to agent (e.g., by means of some set of operative environments for its maturity and effectiveness in the
business rules), to allow agents reasoning on their and others’ provision of nonfunctional features coupled with the possibility
roles in a business process. Agents use business logic to plan of visually programming complex behaviors. Next section
their activities in order to achieve their goals and to meet the presents the Wade (Workflow and Agent Development
overall goals of the business logic. Environment) [6], which is an agent-based BPM system that
Given such a view of an agent-based BPM system we can has been successfully adopted in a number of mission critical
sum up the major advantages of such an approach to building software systems–as detailed further at the end of the paper–for
BPM systems [3][11]: the possibilities it provides in the realization of solutions with
distinguished nonfunctional requirements in terms of
1. The use of goal oriented, communicating autonomous scalability and robustness. The role of Wade-based agents in
agents, which although concerns about business logic, such systems is not about using the autonomy of agents in the
allows multiple solution paths to the business process management of dynamic and unforeseen situations; rather it is
goals to be achieved;
about providing developers with friendly tools that provide a
2. The agent metaphor allows decentralized ownership robust shield against the complexity of nonfunctional
of the tasks, information and the resources involved in requirements.
business processes; Finally, it is worth noting that the tight integration of Wade
with mainstream development technologies like Java and Web
3. The use of agents provides high degree of natural Services allows developers incrementally adopting agent
concurrency, when many interrelated tasks are technology in their systems. The parts of the system that can
running at any given point of the business process; fruitfully empower the features of agents are easily developed
4. The decoupling of the parts of the system that agent using Wade and related tools (e.g., Wolf [6] and Jade [10]),
technologies ensure allows them to be swapped out, while other parts are still developed using mainstream
replaced, or even added to the system without technology with no effort needed for integration.
impacting other parts; and
5. Agent-based technologies allow building highly III. WADE: AN AGENT BASED FRAMEWORK LEVERAGING
THE WORKKFLOW METAPHOR
decentralized, distributed systems, which corresponds
to the real-world situation, when the business Wade (Workflow and Agent Development Environment) [6] is
processes in organizations are physically distributed. an open source framework meant to develop distributed
applications, based on the agent paradigm and the workflow
Unfortunately the literature has already identified some
metaphor. It is built on top of Jade [10], the popular open
disadvantages of promising agent-based approach to BPM
source middleware for the implementations of multi-agents
systems (see, e.g., [11]). We summarize the most prominent
systems, complying with FIPA specifications [7].Wade adds to
here for the sake of completeness:
Jade the possibility to define tasks in terms of workflows and a
1. The agent-based systems have no overall system set of mechanisms to handle the complexity of administration
controller, which implies that the agent-based and fault tolerance operations in a distributed environment.
approach is not the best choice for managing business Wade was initially conceived to exploit the workflow
processes with a lot of global constraints to be approach in the implementations of the system internal logics
satisfied; and that can be modeled in terms of “short running” processes.
Such kind of processes are generally characterized by a short
2. Agent-based systems have no global complete execution time (typically seconds or in some cases minutes)
knowledge, i.e., an agent’s actions are–by definition– and a high CPU time consumption and can be defined in terms
determined by that agent’s local knowledge and this of the activities to be executed, the relations between them
may mean that agents could make globally sub- (used to specify the execution flow) and the conditions of start
optimal decisions. and termination.
It is worth noting that such issues are actually common to Many advantages have been demonstrated to become
all agent-based software systems and they are not typical of effective following this approach and, among them, it is worth
BPM systems. Actually, such issues and their importance mentioning the possibility to have a graphical representation of
originate from the common understanding of agent-based a workflow, easily understandable by domain experts as well as
systems as useful only in a limited set of environments that are by programmers. Because of the workflows expressiveness,
characterized by intrinsic dynamism and uncertainty. domain experts can directly validate the system logics and, in
Obviously not all operative environments are so critical and we some cases, they could even contribute to the actual
believe that agent technology can work effectively also in more development of the system with no need of programming
traditional settings. The work presented in this paper is skills.
precisely motivated by such a point of view: we think that Consistently with the aforementioned requirements
agent technology is now ready to deliver very solid, scalable regarding short-running processes, some design decisions have
and visually programmable software systems even in been taken. First, workflows are modeled in terms of Java code
to ensure maximum efficiency and flexibility. In the literature
several formalisms, such as XPDL, BPEL, WS-BPEL (e.g., see Agent) has been introduced and it is responsible to manage all
[14][17]) can be found to describe workflows. However, if on operations related to tracing, persisting and recovering the
the one hand they provide a clear and intuitive representation status of workflows.
of the process execution flow, on the other hand they are not
suitable to specify all the details involved in the B. Asynchronous events
implementation of a piece of the business logic of a given Another major step-forward in the evolution of Wade is the
software system. A common programming language like Java introduction of an integrated event sub-system implemented as
is definitely more powerful and flexible to deal with data an agent called ESA (Event System Agent). When developing
transformations, computations and other low level auxiliary a workflow, besides regular activities, it is now possible to
operations that are often needed when specifying the business include new synchronization activities that, when reached,
logic of the system under development. make the execution block until a given event happens. More in
Taking into account the above consideration, Wolf details, when the process enters such a synchronization
(WOrkflow LiFe cycle management environment), the Wade activity, the workflow thread is released (to prevent resource
graphical editor, provides a workflow view on top of a Java consumption) and the WSMA switches the workflow state
class with a well defined structure (see also [1][2] for similar from ACTIVE to SUSPENDED. A suitable API (the
graphical languages for agent-based workflows). Wolf has EventChannel API) is provided to submit events to the event
been developed as an Eclipse plug-in, thus allowing the system. As soon as an event matching the template specified in
exploitation of all features offered by the Eclipse Java IDE. the synchronization activity is submitted, the workflow is
resumed (a new thread is allocated to it) and its state is
Finally, because workflows start and terminate their switched back to ACTIVE. Furthermore, any information
executions in a short time, no persistency mechanism has been carried by the event is made available to the workflow for
considered necessary and workflows did not survive to the further processing. The event system stores received events for
shut-down of their Wade platform. a configurable amount of time so that it is now possible to
Summing up, until version 2.6 of Wade, the main target of transparently deal with situations where a synchronization
Wade was the implementation of the system internal logics, activity is reached after the expected event happened. In such
using the workflow metaphor and a key element of this cases the workflow does not even block and immediately
approach was the choice to model a workflow directly by moves forward. It should be noted that the possibility of
means of a Java class, providing a graphical representation of it blocking to receive asynchronous events is not strictly related
using Wolf. to long-running however, if the system is restarted, while long-
running workflows will be recovered transparently, all
suspended short-running workflows will be immediately
IV. BPM-ORIENTED EVOLUTION OF WADE
aborted.
Starting from 2010 new requirements coming from Telecom
Italia Wade-based systems as well as the Open Source C. Web Service exposure
Community shown that, though very effective for a certain type
Since version 2.0 Wade includes a powerful embedded
of applications, the followed approach restricted too tightly the
support to invoke Web services from within a workflow. In
actual usages of Wade. In particular, more and more frequently
version 3.0 such a support is enriched with the possibility of
the need to properly manage situations where a workflow could
automatically exposing Web services. This feature is twofold.
block waiting for external events that may happen in hours,
On the one hand it is possible to expose the operations
days or even months was indicated as a mandatory feature.
specified in a given WSDL and block a workflow waiting for a
To meet such ever growing requirements with version 3.0,
given operation to be invoked. This is achieved by combining
Wade had a strong evolution that, though preserving its
the new Web service exposition feature with the support for
distinctive characteristics, makes it now a tool that can
asynchronous event described in previous section. An ad hoc
effectively play the role of orchestrator in a BPM context.
WaitWebService synchronization activity now exists that, when
reached, makes the workflow block until the event
A. Long-Running workflows corresponding to the invocation of a previously exposed Web
The base for all Wade BPM-oriented features described in service operation happens. Internally the code serving the Web
this section is the possibility of having workflows that survive service invocation encapsulates the operation parameters into
to a system restart. Such workflows are identified as long- an event and submits it to the event system. On the other hand,
running. More in details, if the platform is shut down while a it is now possible to automatically expose a workflow as a Web
long-running workflow W has executed activity An, as soon as service. The workflow name maps to the service name and a
the platform starts up again workflow W is automatically single execute operation is generated with parameters matching
reloaded and forced to recover its execution starting from workflow’s ones. The code serving the invocation triggers the
activity An+1. Under the hood Wade saves the status of a long- execution of the workflow. This feature is made available in
running workflow on a persistent storage after the execution of Wolf by means of a simple click on the workflow class.
each activity. The persistent storage is implemented by a From the architectural point of view, the Web service
relational database accessed through Hibernate. The exposition feature described in this section is implemented by a
mechanism has been tested with a number of different database new component called WadeServices. This is a standard Web
management systems, e.g., H2, mySql and Oracle. A new application that can be executed within any servlet container
administrator agent called WSMA (Workflow Status Manager such as Apache Tomcat.
D. Administration Web Console maintenance operations in the fields with more than 1
According to the new evolutions of Wade and in order to million documented assisted installation since 2007;
facilitate the administration of the platform, a Web console has and
been developed to allow performing both low level • WeMash, a mashup platform for service-oriented
management operations, like the start-up/shut-down of the architectures whose target is to enable non-developer
platform, and high level actions, more related to the business users to self-create simple applications and to share
logics, like browsing and launching a workflow. them within the team they are working in.
This Web console has been implemented using the ZK [18]
framework, an open source solution to develop Web The results were so compelling that Telecom Italia chose
applications, based on AJAX technology. In particular, the ZK Wade as the enabling middleware for a Software As A Service
framework has been extended to support new ZK components (SAAS) offer for Utilities customers in the fields of electricity,
specially intended to support the Wade administration gas and water. This offer includes various systems (Wizard 2.0,
functionalities. Such components, exploited by the Web WeMash, and a bus orchestrator) based on the new
console, can be also reused by developers inside of custom functionalities of WADE 3.0 described in this paper with a
Web applications that need to integrate Wade platform fully functional service oriented architecture based completely
management functions. on open source components.
V. CONCLUSIONS REFERENCES
This paper looks through general questions about agent-based [1] Bartocci, E., Corradini, F., Merelli, E. (2006) Building a MultiAgent
System from a User Workflow Specification. In Procs. Workshop
BPM. It gives an overview of the main concepts of BPM and it “Dagli Oggetti agli Agenti”.
identifies a general conceptual model of centralized and agent- [2] Bartocci, E., Corradini, F., Merelli, E., Scortichini, L. (2007) BioWMS:
based BPM systems. Then, the paper points out key properties A Web-based Workflow Management System for Bioinformatics. BMC
of agent-based BPM systems, and it sums up main advantages Bioinformatics 8(S-1).
and disadvantages of such systems. It is worth noting that this [3] Bolcer, G. A., and Taylor, R. N. (1998) Advanced Workflow
paper does not pay much attention to implementation issues Management Technologies, Software Process: Improvement and
inherent to the introduction of agent technologies. Practice, 4(3):125–171.
The existing agent-based BPM systems, that have already [4] BPMN – Business Process Modeling Notation, available at
http://www.bpmn.org/
been developed and applied as the solution of real world
problems, proves that agent technologies are a highly [5] Cai, T., Gloor, P. A., and Nog, S. (1996) DartFlow: A Workflow
Management System on the Web Using Transportable Agents.
perspective direction for future researches in this field. From Dartmouth College.
our experience we now think that the main issues which the [6] Caire, G., Gotta, D., and Banzi, M. (2008). WADE: a software platform
designer of an agent-based BPM system should be aware of to develop mission critical applications exploiting agents and workflows.
are: inter-agent communication protocols, agent action In Procs 7th Int’l Conf Autonomous Agents and Multiagent Systems, 29-
planning (which is itself a topic for future researches), business 36.
logic representation. [7] FIPA – Foundation for Intelligent Physical Agents. Available at
From a methodological point of view, Wade has been http://www.fipa.org
appreciated in the development of mission critical agent-based [8] Grundspenkis, J., and Pozdnyakov D. (2006) An Overview of the Agent
Based Systems for the Business Process Management. In Procs Int’l
BPM systems for the agile approach that it brings in. Wade and Conf Computer Systems and Technologies.
related tools provide a solid platform for the development of
[9] Hawryszkiewycz, I., Debenham, J. (1998) A workflow system based on
complex BPM systems that tightly integrate the power of a agents. In Procs 9th Int’l Conf Database and Expert Systems
visual approach with scalability, robustness and interoperability Applications.
with mainstream technologies. This has reduced the effort [10] JADE – Java Agent Development framework. Available at
needed to develop effective demonstrators and prototypes that http://jade.tilab.com
were fruitfully scaled up to the core parts of real systems, thus [11] Jennings, N. R., Faratin, P., Johnson, M. J., Norman, T. J., and Wiegand,
reducing time-to-market and improving the overall qualities of M. E. (1996) Agent–Based Business Process Management.
the systems and of the development processes. [12] Jin, W., and Chang, S. T. (1996) Agent-based Workflow: TRP Support
In particular, Wade proved to be largely useful to develop Environment (TSE). Computer Networks and ISDN Systems, 28(7–
11):1501-1511.
single applications and service oriented architectures with
strong requirements regarding performances, scalability and [13] Pang, G. (2000) Implementation of an Agent-Based Business Process.
University of Zurich.
high flexibility in defining the systems’ logics.
[14] Shapiro, R. (2002). A comparison of XPDL, BPML and BPEL4WS
In Telecom Italia Wade is used for a number of mission (Rough Draft), Cape Vision.
critical systems [6][15] that are now in everyday use with real [15] Trione L., Long D., Gotta D., and Sacchi G. (2009) Wizard, WeMash,
users and in the scope of projects with real customers: WADE: Unleash the Power of power of collective intelligence. In Procs
8th Int’l Conf Autonomous Agents and Multiagent Systems.
• NNEM implements a mediation layer between
[16] Workflow Management Coalition. Workflow Management Coalition
network elements and OSS systems for millions of Terminology & Glossary, available at http://www.wfmc.org
Telecom Italia customers; [17] Workflow Management Coalition. XPDL XML Process Definition
Language, available at http://www.wfmc.org
• Wizard provides step-by-step guidance to thousands
[18] ZK – Available at http://www.zkoss.org/
Telecom Italia technicians performing installation and