Supporting business process fragmentation while maintaining operational semantics: a BPEL perspective

Globalization and the increase of competitive pressures created the need for agility in business processes, including the ability to outsource, offshore, or otherwise distribute its once-centralized business processes or parts thereof. While hampered thus far by limited infrastructure capabilities, the increase in bandwidth and connectivity and decrease in communication cost have removed these limits. An organization that aims for such fragmentation of its business processes needs to be able to separate the process into different parts. Today, this is a manual, design-time endeavor. For example, it may use the concept of subprocesses as parts to be outsourced. However, there is often no way to foresee, in advance, which parts of the process need to be cut-off. Thus, today’s technology for outsourcing is static and not dynamic at all. Therefore, there is a growing need for the ability to fragment one’s business processes in an agile manner, and be able to distribute and wire these fragments so that their combined execution recreates the function of the original process. Additionally, this needs to be done in a networked environment, which is where ‘Service Oriented Architecture’ plays a vital role. ‘Service Oriented Architecture’ (SOA) is a relatively new approach to software that natively deals with the very dynamic, distributed, loosely coupled, and heterogeneous features of today’s networked environment, offering application functions as networked services. Web services is one instantiation of an SOA, consisting of a modular, layered stack of XML standards and corresponding implementations that address the different aspects of this environment. The standard covering business processes for Web services is the Business Process Execution Language for Web Services (also known as ‘BPEL’). Relevant characteristics of BPEL are that it is SOA-centric, has a scope construct that groups activities providing them with common behavior such as fault and compensation handlers, and combines graph and calculus based approaches to process modeling. This thesis describes how to identify, create, and execute process fragments without loosing the operational semantics of the original process models. It does so within the framework of the Web services stack of standards, BPEL in particular. The contributions are a categorization of existing Web services aggregation techniques, a meta-model of Web services business process mechanisms using a graph-based formalism, a solution for the automatic and operational semantics-preserving decomposition of such processes, and an architecture and implementation for a corresponding build-time and runtime environment. Globalisierung und steigender Wettbewerbsdruck verlangen von Unternehmen eine rasche Anpassung ihrer existierenden Geschaftsprozesse einschlieslich der damit verbundenen Notwendigkeit, die meist zentralisierten Prozesse ganz oder teilweise auszulagern bzw. verteilt auszufuhren. Wurde ein solches Vorgehen in den letzten Jahren noch durch die mangelhafte Infrastruktur behindert, so lassen steigende Bandbreiten und sinkende Kommunikationskosten diese Hindernisse zunehmend verschwinden. Eine wesentliche Voraussetzung fur die Auslagerung ist die Aufteilung der Geschafts¬prozesse in klar abgegrenzte Fragmente. Dies geschieht gegenwartig weitgehend manuell und zur Entwicklungszeit. Zwar liese sich einerseits das Konzept der Sub-Prozesse zur Auslagerung anwenden, andererseits gibt es jedoch keine Moglichkeit zu ermitteln, welche Teile eines Prozesses extrahiert werden mussen. Daruber hinaus ist mit dem der¬zeitigen Stand der Technologien nur eine statische und keine dynamische Fragmentierung moglich. Aus diesem Grunde gibt es steigende Nachfrage nach flexibleren Moglich¬keiten, Geschaftsprozesse zu fragmentieren, zu verteilen und derartig miteinander zu verknupfen, dass ihre verteilte Ausfuhrung das Verhalten des Originalprozesses nach¬bildet. Um derartigen Anforderungen gerecht zu werden, spielt das Prinzip der Service-orientierten Architekturen eine wesentliche Rolle. Die Service-orientierte Architektur (SOA) ist ein relativ neuer Ansatz um dynamische, lose gekoppelte und verteilte Systeme in einer heterogenen Umgebung zu entwickeln, wobei die einzelnen Teile der Anwendung als Service uber das Netzwerk zur Verfugung gestellt werden. Web Services sind eine Moglichkeit, um eine SOA zu realisieren. Sie basieren auf einem modularen Schichtenmodell von XML Standards und deren Imple¬mentierung, welche die verschiedenen Teilaspekte der Service-orientierten Architektur umsetzen. Hierbei ist die Business Process Execution Language for Web Services (kurz „BPEL“) der geeignete Standard zur Modellierung Web-Service-basierter Geschafts¬prozesse. Besonders hervorzuheben ist das Konzept des Scope, welches die Zusammen¬fassung einer Anzahl von Aktivitaten ermoglicht und fur sie ein gemeinsames Verhalten der Fehlerbehandlung und Kompensation definiert. Daruber hinaus kombiniert BPEL die Graph- und Kalkul-basierten Ansatze der Prozessmodellierung. Diese Dissertation beschreibt, wie Fragmente in Geschaftsprozessen identifiziert, erstellt und ausgefuhrt werden konnen, ohne die operationale Semantik des Originalprozesses zu verlieren. Dies geschieht im Rahmen der Web Service Technologien, insbesondere unter Verwendung von BPEL. Der wissenschaftliche Beitrag dieser Arbeit sind eine Kategorisierung verschiedener Techniken zur Aggregation von Web Services, ein Metamodel fur Web-Service-basierte Geschaftsprozesse auf Grundlage eines graph-basierten Formalismus, eine Methode zur automatisierten Dekomposition solcher Geschaftsprozesse unter Erhaltung der operatio¬nalen Semantik, sowie eine Architektur und Implementierung einer Entwicklungs- und Laufzeitumgebung.

[1]  Luciano Baresi,et al.  Towards Distributed BPEL Orchestrations , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[2]  W.M.P. van der Aalst,et al.  Interorganizational workflows: An approach based on message sequence charts and petri nets , 1999 .

[3]  Quan Z. Sheng,et al.  Quality driven web services composition , 2003, WWW '03.

[4]  Anthony Finkelstein,et al.  Towards aspect weaving applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[5]  Thomas A. Mikalsen,et al.  Composition of Coordinated Web Services , 2004, Middleware.

[6]  Axel Martens,et al.  Consistency between executable and abstract processes , 2005, 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service.

[7]  Mathias Weske,et al.  The P2P Approach to Interorganizational Workflows , 2001, International Conference on Advanced Information Systems Engineering.

[8]  Mathias Weske,et al.  BPEL4Chor: Extending BPEL for Modeling Choreographies , 2007, IEEE International Conference on Web Services (ICWS 2007).

[9]  Anis Charfi,et al.  QoS-Aware Web Service Compositions Using Non-intrusive Policy Attachment to BPEL , 2007, ICSOC.

[10]  Sunil Chandra,et al.  Decentralized orchestration of composite web services , 2004, WWW Alt. '04.

[11]  Francisco Curbera,et al.  Bite: Workflow Composition for the Web , 2007, ICSOC.

[12]  Frank Leymann,et al.  Rethinking the coordination models of WS-coordination and WS-CF , 2005, Third European Conference on Web Services (ECOWS'05).

[13]  Frank Leymann,et al.  Coordination protocols for split BPEL loops and scopes , 2007 .

[14]  Frank Leymann,et al.  Supporting Business Transactions Via Partial Backward Recovery In Workflow Management Systems , 1995, BTW.

[15]  Heiko Schuldt,et al.  Peer-to-Peer Process Execution with Osiris , 2003, ICSOC.

[16]  Frank Leymann,et al.  Business process choreography in WebSphere: Combining the power of BPEL and J2EE , 2004, IBM Syst. J..

[17]  Vugranam C. Sreedhar,et al.  Mixin'Up components , 2002, ICSE '02.

[18]  Remco M. Dijkman,et al.  Service-Oriented Design: A Multi-Viewpoint Approach , 2004, Int. J. Cooperative Inf. Syst..

[19]  Munindar P. Singh,et al.  Interaction protocols as design abstractions for business processes , 2005, IEEE Transactions on Software Engineering.

[20]  Rania Khalaf Note on Syntactic Details of Split BPEL-D Business Processes , 2007 .

[21]  Hongyan Ma,et al.  Process-aware information systems: Bridging people and software through process technology , 2007, J. Assoc. Inf. Sci. Technol..

[22]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[23]  Øystein Haugen,et al.  Tutorial on Message Sequence Charts (MSC'96) , 2001 .

[24]  Asit Dan,et al.  A Service Level Agreement Language for Dynamic Electronic Services , 2003, Electron. Commer. Res..

[25]  Matthew J. Duftler,et al.  On Component Composition Languages , 2000 .

[26]  Frank Leymann,et al.  On Web Services Aggregation , 2003, TES.

[27]  Frank Leymann,et al.  E Role-based Decomposition of Business Processes using BPEL , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[28]  Fabio Casati,et al.  Supporting workflow cooperation within and across organizations , 2000, SAC '00.

[29]  Sheila A. McIlraith,et al.  Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation , 2003, SEMWEB.

[30]  Xiang Fu,et al.  Conversation specification: a new approach to design and analysis of e-service composition , 2003, WWW '03.

[31]  A. Sunmade The World is Flat: A Brief History of the Twenty-First Century , 2008 .

[33]  Oliver Kopp,et al.  Maintaining Data Dependencies Across BPEL Process Fragments , 2007, ICSOC.

[34]  Frank Leymann,et al.  Exception Handling in the BPEL4WS Language , 2003, Business Process Management.

[35]  Xiang Fu A Top-Down Approach to Modeling Global Behaviors of Web Services , 2003 .

[36]  Eric Wohlstadter,et al.  Transaction policies for service-oriented computing , 2004, Data Knowl. Eng..

[37]  Gerhard Weikum,et al.  From Centralized Workflow Specification to Distributed Workflow Execution , 1998, Journal of Intelligent Information Systems.

[38]  Javier Vazquez Fernandez BPEL with Explicit Data Flow: Model, Editor, and Partitioning Tool , 2007 .

[39]  Ralph Mietzner Extraction of WS-Business Activity from BPEL 1.1 , 2006 .

[40]  Timothy W. Finin,et al.  A Planner for Composing Services Described in DAML-S , 2003 .

[41]  Sanjiva Weerawarana,et al.  Implementing BPEL4WS: the architecture of a BPEL4WS implementation , 2006, Concurr. Comput. Pract. Exp..

[42]  Daniel Roth,et al.  Web Services Policy Framework (WS- Policy) , 2002 .

[43]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[44]  Frank Leymann,et al.  Parameterized BPEL Processes: Concepts and Implementation , 2006, Business Process Management.

[45]  Quan Z. Sheng,et al.  Facilitating the Rapid Development and Scalable Orchestration of Composite Web Services , 2004, Distributed and Parallel Databases.

[46]  Premkumar T. Devanbu,et al.  GlueQoS: middleware to sweeten quality-of-service policy interactions , 2004, Proceedings. 26th International Conference on Software Engineering.

[47]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[48]  Daniel Wutke Erweiterung einer Workflow-Engine zur Unterstützung von parametrisierten Web Service Flows , 2006 .

[49]  Donald F. Ferguson,et al.  Web Services Addressing (WS- Addressing) , 2004 .

[50]  Richard N. Taylor,et al.  Using off-the-shelf middleware to implement connectors in distributed software architectures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[51]  Frank Leymann,et al.  Pluggable Framework for Enabling the Execution of Extended BPEL Behavior , 2009, ICSOC Workshops.

[52]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[53]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[54]  Gustavo Alonso,et al.  Flexible exception handling in the OPERA process support system , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[55]  Frank Leymann,et al.  Business processes for Web Services: Principles and applications , 2006, IBM Syst. J..

[56]  Thorsten Vetter,et al.  Anpassung und Implementierung verschiedener Transaktionsprotokolle auf WS-Coordination , 2006 .

[57]  Maria Grazia Scutellà,et al.  Directed hypergraphs as a modelling paradigm , 1999 .

[58]  Stefan Tai Composing Web Services Specifications: Experiences in Implementing Policy-Driven Transactional Processes , 2005, BTW.

[59]  Jean-Loup Baer,et al.  A Survey of Some Theoretical Aspects of Multiprocessing , 1973, CSUR.

[60]  Jan Mendling,et al.  From Inter-organizational Workflows to Process Execution: Generating BPEL from WS-CDL , 2005, OTM Workshops.

[61]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[62]  Mira Mezini,et al.  Aspect-Oriented Web Service Composition with AO4BPEL , 2004, ECOWS.

[63]  Julien Vayssière,et al.  Event-Based Coordination of Process-Oriented Composite Applications , 2005, Business Process Management.

[64]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[65]  Wolfram Amme,et al.  Advanced Verification of Distributed WS-BPEL Business Processes Incorporating CSSA-based Data Flow Analysis , 2007, IEEE International Conference on Services Computing (SCC 2007).

[66]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[67]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[68]  Johann Eder,et al.  Workflow recovery , 1996, Proceedings First IFCIS International Conference on Cooperative Information Systems.

[69]  Amit P. Sheth,et al.  Semantic annotation of web services , 2003 .

[70]  Wil M. P. van der Aalst,et al.  Advanced Workflow Patterns , 2000, CoopIS.

[71]  Ekkart Rudolph,et al.  Tutorial on Message Sequence Charts , 1996, Comput. Networks ISDN Syst..

[72]  Suresh Damodaran B2B integration over the Internet with XML: RosettaNet successes and challenges , 2004, WWW Alt. '04.

[73]  Manuel Mazzara,et al.  A pi-calculus based semantics for WS-BPEL , 2007, J. Log. Algebraic Methods Program..

[74]  Sanjiva Weerawarana,et al.  Bean Markup Language: A Composition Language for JavaBeans Components , 2001, COOTS.

[75]  Vivek Sarkar,et al.  Parallel Program Graphs and their Classification , 1993, LCPC.

[76]  Vivek Sarkar,et al.  Decentralizing execution of composite web services , 2004, OOPSLA.

[77]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[78]  Frank Leymann,et al.  Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition , 2007, ICSOC.

[79]  Mark C. Little,et al.  Transactions and Web services , 2003, CACM.

[80]  Jeff Magee,et al.  Composing distributed objects in CORBA , 1997, Proceedings of the Third International Symposium on Autonomous Decentralized Systems. ISADS 97.

[81]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[82]  David A. Padua,et al.  Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs , 1997, LCPC.

[83]  Sanjiva Weerawarana,et al.  Colombo: Lightweight middleware for service-oriented computing , 2005, IBM Syst. J..

[84]  Salima Hassas,et al.  Role Delegation as Multi-Agent Oriented Dynamic Composition , 2002 .

[85]  Frank Leymann,et al.  WS-BPEL Extension for People ? BPEL4People , 2005 .

[86]  Marlon Dumas,et al.  Service Interaction Patterns , 2005, Business Process Management.

[87]  Sanjiva Weerawarana,et al.  Enterprise services , 2002, CACM.

[88]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

[89]  Rania Khalaf,et al.  From RosettaNet PIPs to BPEL Processes: A Three Level Approach for Business Protocols , 2005, Business Process Management.

[90]  Karsten Schmidt,et al.  A Petri net semantic for BPEL4WS – validation and application , 2004 .

[91]  Roozbeh Farahbod,et al.  A Formal Semantics for the Business Process Execution Language for Web Services , 2005, WSMDEIS.

[92]  Patrick Sauter,et al.  A Comparison of WS-BusinessActivity and BPEL4WS Long-Running Transaction , 2005, KiVS.

[93]  Kevin J. Sullivan,et al.  Analysis of a Conflict between Aggregation and Interface Negotiation in Microsoft's Component Object Model , 1999, IEEE Trans. Software Eng..

[94]  Ustun Yildiz,et al.  On Dead Path Elimination in Decentralized Process Executions , 2007 .