Transcript
Page 1: Introduction to Activiti BPM

1

Introduction to Activiti

Tom Baeyens & Joram BarrezAlfresco

twitter: @tombaeyens @jbarrez

Page 2: Introduction to Activiti BPM

2

Tom Baeyens

• Founder of Activiti & jBPM• Passionate about Java and BPM

Joram Barrez

• Ex-core developer JBoss jBPM• Core developer Activiti

Page 3: Introduction to Activiti BPM

3

Agenda

• What is Activiti?• What is BPMN 2.0?• BPM for business people• BPM for developers• Example / demo

Page 4: Introduction to Activiti BPM

4

What is Activiti?

• Apache licensed BPMN 2.0 engine• BPM for business and IT people

• Process definitions as input• Boxes and arrows• Execution flow

• Manages executions• Execute automatic steps• While waiting,

persist execution state

Page 5: Introduction to Activiti BPM

5

What is Activiti

Activiti Modeler

Activiti Cycle

Activiti Explorer

Activiti Probe

Activiti Designer

REST interface

iPhoneExplorer

Activiti Engine

AndroidExplorer

Java Applications

Page 6: Introduction to Activiti BPM

6

BPMN 2.0

• OMG standard• Shapes• Execution semantics• File format

• First pure play BPM standard• General endorsement

Page 7: Introduction to Activiti BPM

7

BPM for business people

• BPM as a management discipline• BPM as software engineering

Page 8: Introduction to Activiti BPM

8

1. Simplify business-IT collaborationSoftware Project

Non-techBusiness Analyst Developer

•Java •XML •Buildscripts•Tests•…

TomcatJDK 5JBoss…

Oracle, MySQL, PostgreSQL

Activiti YourApp

Analyst

Developer

Requirements

Page 9: Introduction to Activiti BPM

9

1. Simplify business-IT collaboration

• Abstract business process• Drawing• No technical details

• Executable business process• Drawing• Technical details• Executable on a BPM System

Page 10: Introduction to Activiti BPM

10

1. Simplify business-IT collaboration

AnalystBusiness

Intelligence

ProcessCollaboration

Developer

Sys admin

Developer

DeveloperDeploy

Page 11: Introduction to Activiti BPM

11

1. Simplify business-IT collaboration

Developer

Analyst

DeveloperDeveloper

Sys admin

Shared network drive Doc mgmt systemAbstract process models

Doc mgmt systemAbstract process modelsJIRASVNMaven repo

Doc mgmt systemMaven repoDB instancesTomcat instancesActiviti instances

Page 12: Introduction to Activiti BPM

12

1. Simplify business-IT collaboration

• Unified concept of repositories and artifacts• Repository

• Tree structure• Containing artifacts

• Artifacts• Different types• Links to other artifacts• Links to people

Page 13: Introduction to Activiti BPM

13

1. Simplify business-IT collaboration• Network drive

• Word docs, PDFs, Screenshots• Signavio model repository

• BPMN process models• Jira

• Issues• SVN (code, projects)

• Java code• Executable process models• Rules• Forms

• Maven repo (deployable artifacts)• Jar, War, Ear files

• Tomcat instances• DB instances• Activiti instances

Analyst

DeveloperSys admin

Developer

Developer

Page 14: Introduction to Activiti BPM

14

Mockup

Page 15: Introduction to Activiti BPM

15

BPM for developers

• Embeds in • Your database• Your transaction• Your domain model• Your Spring configuration

Software Project

TomcatJDK 5JBoss…

Oracle, MySQL, PostgreSQL

Activiti YourApp

Page 16: Introduction to Activiti BPM

16

Simple

• Activiti Engine is “just” a jar file• Power to the developer• Intuitive API• Activiti tables next to your app’s tables• Transaction integration• Spring integration• Great docs and examples • Spec 500 pages vs simple user guide

Page 17: Introduction to Activiti BPM

17

Community

• Alfresco• Apache licensed jBPM replacement

• SpringSource• Signavio• Camunda• MuleSoft• Next Level Integration• Mimacom• Tijs Rademakers & Co (Eclipse designer plugin)• Yuri Horbach (iPhone / iPad)• Lim Chee Kin (Grails plugin)• And growing

Page 18: Introduction to Activiti BPM

18

What do you get?

• World-class rock-solid BPM and workflow engine

Page 19: Introduction to Activiti BPM

19

Activiti Modeler

• Webbased, powerful BPMN 2.0 graphical editor

Page 20: Introduction to Activiti BPM

20

Activiti Explorer

• Task management • Near future: reporting / process inspection

Page 21: Introduction to Activiti BPM

21

Activiti Probe

• System admin functionalities• activiti log inspection, handle stuck jobs, …

Page 22: Introduction to Activiti BPM

22

Activiti Cycle

• BPM collaboration 2.0

Page 23: Introduction to Activiti BPM

23

Activiti Cycle

Page 24: Introduction to Activiti BPM

24

Activiti Cycle

Page 25: Introduction to Activiti BPM

25

Activiti REST API

• Remote communication with Activiti

Page 26: Introduction to Activiti BPM

26

Activiti Eclipse designer

• Initiative started by Tijs, Ron, Yvo and Tiese• Activiti extension support, BPMN 2.0 validation,

hierarchical modeling

Page 27: Introduction to Activiti BPM

27

Activiti & IPhone

• Mobile BPM == natural evolution of how work is done• Initiative started by Yuri Horbach

Page 28: Introduction to Activiti BPM

28

Activiti Grails integration

• Community contribution by Lim Chee Kin• Seamless integration into grails app

Page 29: Introduction to Activiti BPM

29

Activiti Grails integration• Typical Grails convience capabilities

• Activiti templates• Easy business archive

deployment• Generate controller/views

Page 30: Introduction to Activiti BPM

30

Real-life demo

• Use case: banks shouldn’t lend money to just anybody• Thorough analysis is needed• All steps needs to be recorded in official documents• Decisions are done based on Excel decision tables

Page 31: Introduction to Activiti BPM

31

The mortgage process – high level

Page 32: Introduction to Activiti BPM

32

Detailed view

Page 33: Introduction to Activiti BPM

33

The mortgage process

= CMIS call