1 / 26 Automation Goals 2014 Cesare Pautasso 3 / 26 Business Modeling, Management and Mining Business Automation Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Repeatable es: processes are executed in the same way, tasks may be manual Straight through processing: full process and task automation, high throughput Overview 4 / 26 Model Instance to-be process models Business -- IT Gap 2 / 26 Designer Owner modeled by domain experts communicate, prescribe, illustrate shared understanding between participants intuitive, abstract, ambiguous, need some interpretation Execution Engine Executable process models modeled by IT experts input to a process engine formal executable semantics explicit, concrete, precise and full of implementation details Human 2014 Cesare Pautasso
Reference Architecture 5 / 26 SOA = BPM + WS 7 / 26 R. Peisl De"nition Tools Administration & Monitoring Tools Interface 5 Interface 2 Interface 1 Workflow API and Interchange formats Workflow Enactment Service Workflow Client Applications Workflow Engine(s) Invoked Applications Interface 3 Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Work!ow Management Coalition, 1998 Two-level Programming 6 / 26 1. Programming in the large logic de"nes the integration of reusable components (control and data!ow) Assembly by domain experts (non-programmers) 2. Programming in the small Component logic implements discrete "ne-grained functions and tasks (interfaces) Components developed by IT experts (programmers)
8 / 26 9 / 26 Layers and Integration Choreography Screen Scraping Client API UI Application Logic Each participant follows his own process when interacting directly with the other software API Server systems involved in the choreography DB Data Scraping APIs are used to access software functionality exposed to be integrated from processes If APIs are not available, it is always possible to access a system from its user interface, or go directly to its data Orchestration 10 / 26 The process de"nes the behavior of a centralized coordinator, which will drive the interaction between all integrated software systems
Composition The process de"nes the behavior of a component that is (recursively) built out of the composition of other components, which remain hidden from the client Component Client Component 11 / 26 -aware Execution Engine Worklist Handler Embedded Remote Standard Adapter Remote Non-Standard 13 / 26 Megaprogramming With a process, every instruction: Can dynamically select, bind and execute a different external software system Can timeout and be aborted if it doesn't complete within a deadline Can be part of a distributed atomic transaction Is logged persistently so that its execution state can be recovered and monitored Can be suspended, resumed, canceled or retried by the user 12 / 26 Human Worklist Handler - the user interface for notifying users about new tasks to be executed and for notifying the engine that users have completed their tasks Embedded small-grained functions that are embedded ef"ciently into the process execution thread (e.g., automated decision rules, data conversion operators) Remote, Standard invoked through a standardized protocol (HTTP, WS-* SOAP) Remote, Non-Standard Sofware requires the development of custom adapters before it can be invoked from the process engine 14 / 26
16 / 26 Connectors 15 / 26 Connectors and es Shared Database Remote Procedure Call File Transfer Stream Asynchronous Messaging File Transfer Remote Procedure Call Stream Asynchronous Messaging Shared Database Stream Internal Engine Architecture Completed Tasks Navigator Pending Tasks Task Dispatcher Assigned Tasks 17 / 26 De!nitions Instances Available Resources Designer Monitor
Correlation Problem: Route incoming messages to the corresponding existing process instance or start a new process to process an incoming message Solution: Embed process identi"er into message headers Alternative Solution: Use message properties and content to identify the process instance 20 / 26 How long does it take? Macro"ow long-running business processes (days, months, years) which may include human tasks Micro"ow short-lived transactional processes (microseconds, seconds, minutes) that involve fully automated tasks Types of Engines 22 / 26 23 / 26 ntrich and Zdun Identi!cation Package Name Version Instance Counter Replica 21 / 26 Representation: Generic (Explicit) vs. Hard-Coded (Implicit) Modeling Language: Standard (BPMN, WS-BPEL) vs. Custom Deployment: Standalone vs. Embedded Structured process instance identi"ers allows to group related instances and "nd which process template they execute Hentrich and Zdun
Commercial Engines IBM WebSphere Server Oracle BPMS Microsoft BizTalk, Windows Work!ow Foundation SAP NetWeaver BPM AG webmethods Appian BPMS BizAgi BPM Suite Bosch inubit Suite OpenTex tbpm Perceptive BPMONe Progress Savvion TIBCO ActiveMatrix BPM Whitestein Living Systems Suite Open Source Engines Activiti Camunda Stardust Apache ODE Bonita Intalio BPM JBoss jbpm YAWL JOpera 24 / 26 References Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo Reijers, Fundamentals of Business Management, Chapter 5, Springer, 2013, ISBN 978-3-642-33142-8 Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju, Web Services: Concepts, Architecture and Applications, Springer 2004 Carsten Hentrich, Uwe Zdun, Patterns for -Oriented Integration in Service- Oriented Architectures, EPLOP 2006 Gio Wiederhold, Peter Wegner, Stefano Ceri, Toward Megaprogramming, CACM 35(11):89-99, November 1992 Frank DeRemer, Hans Kron, Programming-in-the large versus programming-in-the-small, Proceedings of the international conference on Reliable software, p. 114-221, 1975 25 / 26