Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands firstname.lastname@example.org Workflow Management Systems: Functions, architecture, and products. Wil van der Aalst
Focus on "classical" workflow management systems, but ... Four types of "workflow-like" systems: • Information systems with hard-coded workflows (process& organization specific). • Custom-made information systems with generic workflow support (organization specific). • Generic softwarewith embedded workflow functionality (e.g., the workflow components of ERP, CRM, PDM, etc. systems). • Generic softwarefocusing onworkflow functionality (e.g., Staffware, MQSeries Workflow, FLOWer, COSA, Oracle BPEL, Filenet, etc.).
Basic idea workflow management system • Separation of control and execution. control (process logistics) execution (task oriented) application
Interfaces Weak! Demo’s Published in Handbook
server client workflow engine in-basket (worklist) DBMS applications Potential problem
The ACID-properties, known from transaction processing, should hold. • Atomicity(atomic, "everything or nothing", rollback if necessary) • Consistency(a completed task results in a proper state of the system) • Isolation(tasks do not affected each other, even if they are executed in parallel) • Durability(the result of a completed task may not get lost; commit tasks)
Examples of systems • COSA (demo) • Staffware • FLOWer • …
Staffware • Leading workflow management system (typically 25 percent of the global “pure” workflow market). • Staffware PLC is headquartered in Maidenhead UK and has offices in 19 countries. • Focus on performance and reliability rather than functionality (e.g., infinite scalability, fault tolerance, etc.) • In the remainder, we present a small case study that is used to: • introduce the design tool and modeling language of Staffware, • show the management/administrator tools of Staffware, • demonstrate the end-user’s view of Staffware, and • show the need for analysis.
WfMC reference model (1) (2) (3)
checkA pay register checkB reject A small case study: Double Check (DC) • Processing of insurance claims involving registration, two checks, and a payment of rejection • Five tasks: • register (register insurance claim) • checkA (check insurance policy) • checkB (check damage reported) • pay (pay for the damage) • reject (inform customer about rejection) • Registration is followed by two checks which can be handled in parallel. • Each of the checks results in “OK” or “not OK”. • If both are OK, pay otherwise reject. • Three roles: register (for task register), checks (for both checks), and pay/reject (for final tasks).
Building blocks start stop step (i.e., task) wait (i.e., AND-join) event step condition (i.e., XOR-split) complex router (OR-join/AND-split) automatic step
Basic semantics of a step AND-split OR-join Same for complex routers, conditions (input: OR, output: each branch is AND), other types of steps, etc.
Advanced semantics withdraw construct time-out construct
Staffware: The manager/administrator’s view Monitoring and managing processes and cases Managing users/groups
Analysis of Staffware processes 6 runs (8 sequences) are possible!