• No results found

Process Execution Engine

N/A
N/A
Protected

Academic year: 2021

Share "Process Execution Engine"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Business Process Modeling, Management and Mining

Business Process Automation

Prof. Cesare Pautasso [email protected]

http://www.pautasso.info @pautasso

1 / 26

Business -- IT Gap

“to-be” process models

Executable process models

modeled by domain experts communicate, prescribe, illustrate

shared understanding between participants

intuitive, abstract, ambiguous, need some interpretation

modeled by IT experts input to a process engine formal executable semantics

explicit, concrete, precise and full of implementation details

2 / 26

©2014 Cesare Pautasso

Automation Goals

Repeatable Processes: processes are executed in the same way, tasks may be manual

Straight through processing: full process and task automation, high throughput

3 / 26

Overview

Process Execution Engine

Process Designer Process Model Process Owner Process Instance Software Activities Human Activities 4 / 26

(2)

Reference Architecture

Workflow Enactment Service Workflow API and Interchange formats

Administration & Monitoring Tools Interface 5 Workflow Client Applications Interface 2 Process De"nition Tools Interface 1 Workflow Engine(s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine(s) Interface 3 Invoked Applications W ork !o w Manag ement Coalition, 19 98 5 / 26 Two-level Programming

1. Programming in the large

2. Programming in the small

Process logic de"nes the integration of reusable components (control and data !ow)

Assembly by domain experts (non-programmers)

Component logic implements discrete "ne-grained functions and tasks (interfaces)

Components developed by IT experts (programmers)

6 / 26

SOA = BPM + WS

R. P

eisl

(3)

Layers and Integration

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

UI

DB

Application

Logic

Screen Scraping

Client

API

API Server

Data Scraping

Choreography

Each participant follows his own process when interacting directly with the other software

systems involved in the choreography

Software Activities Software Activities Software Activities Software Activities Orchestration

The process de"nes the behavior of a centralized

coordinator, which will drive the interaction between all integrated software systems

Process

Software Activities Software Activities Software Activities Software Activities 10 / 26

(4)

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

Process

Client Software Component Software Component 11 / 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

Process-aware Software

Process Execution Engine

Remote Standard Worklist Handler Embedded Adapter Remote Non-Standard Software Activities Human Activities 13 / 26

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 Software Activities small-grained functions that are embedded ef"ciently into the process execution thread (e.g., automated decision rules, data conversion operators)

Remote, Standard Software 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

(5)

Software Connectors

Remote Procedure Call

Asynchronous Messaging

File Transfer Shared Database

Stream

15 / 26

Connectors and Processes

Remote Procedure Call Asynchronous Messaging File Transfer Str eam

Process

Shared Database Str eam

Internal Engine Architecture

Process Navigator

Process

De!nitions InstancesProcess Completed Tasks Pending Tasks Task Dispatcher Available Resources Assigned Tasks

Process Designer Process Monitor

(6)

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

Process Identi!cation

Structured process instance identi"ers allows to group related instances and "nd which process template they execute

Package Process Name Version Instance Counter Replica 21 / 26 Hentrich and Z dun

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

Hentrich and Z

dun

22 / 26

Types of Process Engines

Process Representation:

Generic (Explicit) vs. Hard-Coded (Implicit) Process Modeling Language:

Standard (BPMN, WS-BPEL) vs. Custom Deployment:

Standalone vs. Embedded

(7)

Commercial Engines

Open Source Engines

IBM WebSphere Process Server Oracle BPMS

Microsoft BizTalk, Windows Work!ow Foundation SAP NetWeaver BPM

Software AG webMethods Appian BPMS

BizAgi BPM Suite Bosch inubit Suite OpenTex tBPM Perceptive BPMONe Progress Savvion TIBCO ActiveMatrix BPM

Whitestein Living Systems Process Suite

Activiti Camunda Stardust Apache ODE Bonita Intalio BPM JBoss jBPM YAWL JOpera References

Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo Reijers, Fundamentals of Business Process 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 Process-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

References

Related documents

01 Exploration: The first stage of development for this concept was made from a photograph, on which I start painting by selecting the tonal values that exist in photography

SL-OCT combines three key anterior segment exam modalities (slit lamp, OCT, and external photography) in one device.The slit lamp design allows 360° scanning.The photo image

• Method for categorizing the maturity and quality of a software process used by software development organizations.. Capability Maturity

Position the instrument on the point along the survey line from which the right-angle is to be set out, target the end point of the survey line, set the horizontal circle to zero

You agree that from time to time RIM may remove Software or Third Party Items from any RIM Service including a RIME Store or My World and, where legally required or where Software

Although papillary-type PDTC can show concurrent cancer types, many cancers exist as majority PTCs with foci of high grade changes, such as necrosis, focal loss of

там, де управління саме не йде на контакт, не надає роз’яснень та документів для  обговорення громадською радою.  «Я знаю, наприклад, що є ГР, які дуже

In order to achieve full potential of aquaculture in Borno State, the number of fish hatcheries need to be increased as well as the level of operation to meet market