=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== https://ceur-ws.org/Vol-741/ID7_BergentiCaireGottaLongSacchi.pdf
         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