2010 06-b2b bypracticesummit

37
Consolidating the BPM market

description

First Activiti presentation given at B2B by practice summit on June 17th 2010

Transcript of 2010 06-b2b bypracticesummit

Page 1: 2010 06-b2b bypracticesummit

Consolidating the BPM market

Page 2: 2010 06-b2b bypracticesummit

Agenda What is Business Process Management? What is Activiti? What can Activiti do for you?– As a business person– As a developer– As system admin

Page 3: 2010 06-b2b bypracticesummit

What is BPM? Management discipline Software engineering

Page 4: 2010 06-b2b bypracticesummit

BPM As A Management Discipline Make your company more efficient Analysing Documenting Optimising Business processes

Page 5: 2010 06-b2b bypracticesummit

What do you need for BPMAAMD? Many tools– Napkin, Whiteboard, Word, Excel,…

Many model types Process modeling– Good BPMN drawing– Descriptions– Notes– Versioning– Collaboration

Page 6: 2010 06-b2b bypracticesummit

BPM As Software Engineering Draw execution flow in a tool Decorate diagram with technical details Run process on BPMS BPMS – Keeps track of state– Acts as central coordinator– Executes automatic pieces

Essentially a state machine

Page 7: 2010 06-b2b bypracticesummit

What do you need for BPMASE? Runtime engine– Executable processes as input– Coordinates executions– Keeps track of state

Page 8: 2010 06-b2b bypracticesummit

Getting it wrong Typical product

– We can start from a business level diagram– And then execute it on a system

So many hidden options– Notation vs execution language– General purpose complex language– Specific simple language– Context

• Web services / SOA / ESB• Java • ECM• Human tasks

Result– Graphical programming for business analysts– A lot of niche products– Fragmentation

Page 9: 2010 06-b2b bypracticesummit

Activiti’s pragmatical approach Business people don’t write software Executable processes – Combines diagram and tech details– It’s software– Under control of developers – Inside software project

Facilitate collaboration– Diagram provides common language– Level of business people

Page 10: 2010 06-b2b bypracticesummit

An example

var a = 1;

a = a + 1;

println(a);

Page 11: 2010 06-b2b bypracticesummit

Deploy the executable process

var a = 1;

a = a + 1;

println(a);

BPMS Runtime Engine

Page 12: 2010 06-b2b bypracticesummit

Start a new process instance

BPMS Runtime EnginestartProcessInstance

var a = 1;

a = a + 1;

println(a);

Page 13: 2010 06-b2b bypracticesummit

BPMS as the central coordinator

Page 14: 2010 06-b2b bypracticesummit

A human task activity Create entry in task list Wait– Store state in DB

When task completes– Send event to process instance– Process instance continues

var a = 1;

approve

println(a);

Page 15: 2010 06-b2b bypracticesummit

A human task activity

BPMS Runtime Engine

var a = 1;

approve

println(a);

startProcessInstance

event

Tasklist Manager

ProcessInstance

John Doe | Approve

Page 16: 2010 06-b2b bypracticesummit

State machines and transactions BPMS acts as coordinator External actor means wait state for BPMS

Examples– Human tasks– Webservice principle: “I’ll call you back”– Wait for arrival of some asynchronous message

Approve

Page 17: 2010 06-b2b bypracticesummit

State machines and transactions Upon arrival of execution in wait state– Store current execution state • Position• Context variables

– Commit transaction While waiting– No blocked threads / resources

Upon resume– Load execution from DB– Continue executing

Page 18: 2010 06-b2b bypracticesummit

Timers Create a timer when activity is entered Cancel timer when activity is left Fire timer when duedate arrives

approve

escalate

Page 19: 2010 06-b2b bypracticesummit

Asynchronous Continuations

pdf-g

Transaction 1 Transaction 2

JobExecutor

Page 20: 2010 06-b2b bypracticesummit

Transactional Control Flow Specify overal execution flow Analyse where the external triggers are Activiti wil juggle with – Execution state– Timers– Messages

And call your POJO beans where needed

Page 21: 2010 06-b2b bypracticesummit

BPMS DB contents Process definitions repository– Versioned

Process instances– Runtime state

History– Statistics

Page 22: 2010 06-b2b bypracticesummit

A Process

Page 23: 2010 06-b2b bypracticesummit

An Execution

Execution

Page 24: 2010 06-b2b bypracticesummit

History

HISTORY_PROCESS_INSTANCE

ID START END …PROCESS

HISTORY_ACTIVITY_INSTANCE

ID START END …HPI ACTIVITY

2 09:391 Check Credit09:39

3 09:421 Accept Quote09:42

4 10:031 Charge Customer10:0310:04

10:041 09:38Order-1

1 09:381 Calculate Quote

Page 25: 2010 06-b2b bypracticesummit

History

Page 26: 2010 06-b2b bypracticesummit

What is Activiti New project created by Alfresco BPMN 2.0 BPMS Lead by jBPM founders Apache license Run as independent project

Page 27: 2010 06-b2b bypracticesummit

Who’s behind Activiti Alfresco SpringSource Camunda Signavio Next Level Integration Mimacom MuleSoft

Page 28: 2010 06-b2b bypracticesummit

jBPM

Activiti

Page 29: 2010 06-b2b bypracticesummit

Your Application

Embedded BPM

BPMS History Your domain model

Tasklist ManagerBPMS Runtime Engine

Page 30: 2010 06-b2b bypracticesummit

Bring BPM to where it’s used

Activiti Engine

EnterpriseApps CloudECM

Page 31: 2010 06-b2b bypracticesummit

Activiti is a complete BPM Suite Activiti Engine– Process repository– Process instances runtime state– Process execution history– Identity component– Tasklist component

Activiti Probe Activiti Explorer Activiti Cycle

Page 32: 2010 06-b2b bypracticesummit

Activiti Explorer End user

task list Manage my

tasks Execute

workflows

Page 33: 2010 06-b2b bypracticesummit

Activiti Probe

Management console for sys admins

Manage deployments

Manage versioning

See deployed process sources

View database tables

Page 34: 2010 06-b2b bypracticesummit

Activiti Modeler

Activiti branded and powered by Signavio

Browser-based design and control tools

Targetted at Business Analysts

Easy to use AJAX tools

Customized file based model repository

Easy scripting

Page 35: 2010 06-b2b bypracticesummit

Activiti Cycle

Process In The Dev Cycle

DeveloperAnalyst Sys Admin

ModelRepo

Alfresco SVN MVN Tomcat Activiti

Page 36: 2010 06-b2b bypracticesummit

Activiti Cycle (Mockup)

Page 37: 2010 06-b2b bypracticesummit

Q&A