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