Workflow, a brief overview

15
Workflow A brief overview with some guidance for choosing the right solution for your case

Transcript of Workflow, a brief overview

Workflow

A brief overview with some guidance for choosing the right solution for your case

What’s the problem?

• Making people and processes work together can besupported by a large variety of solutions.

• Choosing the right (ecosystem of) solutions is vital, but can be tricky

• This presentation gives an overview of “workflow” and some guidance how to make the right choice

My simple definition of workflow

“A sequence (steps) of operations (work)”.

Workflow comes in many forms

• Level of control

• Who is participating in what role?

• Basic concepts

• Undoing work

• Managing the workload

Level of control

Decentralized control (choreography):• Ad hoc connected points

• Non standardized message queueing

• Standardized message queueing

Centralized control:• Centralized message transfer (Broker / Bus)

• Process orchestration / transactionmanagement

• Business Process management

loose

tight

Choreography vs orchestration

Choreography:• None of the participating parties have

control, nor visibility of all processes and work

• So each party can only control it’s own processes and work

Orchestration:

• One (1) controller that has visibility of all processes and work

• Processes and work is controlled by a this controller

Business process management (BPM)

BPM goes much further than workflow…

• It enables the understanding, automation, and optimization of business processes.

Two basic concepts:Sequential and State machine workflows

Sequential workflow:• Nearly linear execution: activities

are execute in a predetermined order and are not revisited (except of looping activities).

• Compare to a flowchart without GOTO.

State machine workflow:• Work starts in one state, traversed

through other states and end in an end state

• States may be revisited.• Compare to a flowchart with

GOTO.

Who is involved?

• Are humans involved or only automatedprocesses

• Who is responsible / accountable / supports / consulted / informed (RASCI)?

• Are there any external influences? • Events

• Is the workflow part of any external workflows?

Exception managementHow does the workflow cope with exceptions?

Always: audit the workflow: keep track of messages, process states, errorevents

And if things go wrong… try to recover:

Atomic transactions (when all resources are controlled centrally):• Rollback all actions to the exact state as when the transaction started• Forces locking of distributed resources• Deadlockfree protocol needed

Long running / distributed transactions (when resources cannot be controlledcentrally):

• Distributed resources cannot be locked easily• Compensating actions needed for undoing work

Designing the workflow

• Static or dynamic: can work(proces) flows be dynamically updated?

• Can the business rules be maintained easily?

o By a user friendly editor

o By ICT specialists, business specialists or regularend users.

How to cope with migration?

Scenario:

• Multiple versions of workflows running at the sametime

• You need to implement a new version of your workflow

Questions you should be asking:

• How to migrate running workflows? Stop or continue running?

• Make available the new version of your workflow or keep supporting older versions?

Workload management

To keep your workflow running:

• Monitor workload continuously

• Implement throttling: limit workloadprocessing

• Up- and outscale workflow processing

Estimate expected workflow beforehand!

Always keep in mind

• Reduce complexity

• Using a minimal platform configuration

• Be flexible to manage any type of required process

• Be open to integrate with other platforms easily

• Be robust enough to scale to large workloads.

bHans M.R. van Rijs

ict solution architect / platform specialist

mail: [email protected]

weblogs:

http://webloghansr.blogspot.com

http://hansronarchitecture.blogspot.nl

http://praktischsharepoint.blogspot.nl/

Twitter: https://twitter.com/hansrontheweb

LinkedIn: https://www.linkedin.com/in/hansvanrijs