Alfresco Devcon 2010: Introduction to Activiti BPM

33
Introduction to Activiti 1 Tom Baeyens & Joram Barrez Alfresco twitter: @tombaeyens @jbarrez

description

 

Transcript of Alfresco Devcon 2010: Introduction to Activiti BPM

1

Introduction to Activiti

Tom Baeyens & Joram BarrezAlfresco

twitter: @tombaeyens @jbarrez

2

Tom Baeyens

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

Joram Barrez

• Ex-core developer JBoss jBPM• Core developer Activiti

3

Agenda

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

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

5

What is Activiti

Activiti Modeler

Activiti Cycle

Activiti Explorer

Activiti Probe

Activiti Designer

REST interface

iPhoneExplorer

Activiti Engine

AndroidExplorer

Java Applications

6

BPMN 2.0

• OMG standard• Shapes• Execution semantics• File format

• First pure play BPM standard• General endorsement

7

BPM for business people

• BPM as a management discipline• BPM as software engineering

8

1. Simplify business-IT collaboration

Software Project

Non-techBusiness Analyst Developer

•Java •XML •Buildscripts•Tests•…

TomcatJDK 5JBoss…

Oracle, MySQL, PostgreSQL

Activiti YourApp

Analyst

Developer

Requirements

9

1. Simplify business-IT collaboration

• Abstract business process• Drawing• No technical details

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

10

1. Simplify business-IT collaboration

AnalystBusiness

Intelligence

ProcessCollaboration

Developer

Sys admin

Developer

DeveloperDeploy

11

1. Simplify business-IT collaboration

Developer

Analyst

Developer

Developer

Sys admin

Shared network drive Doc mgmt systemAbstract process models

Doc mgmt systemAbstract process modelsJIRASVNMaven repo

Doc mgmt systemMaven repoDB instancesTomcat instancesActiviti instances

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

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

Developer

Sys admin

Developer

Developer

14

Mockup

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

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

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

18

What do you get?

• World-class rock-solid BPM and workflow engine

19

Activiti Modeler

• Webbased, powerful BPMN 2.0 graphical editor

20

Activiti Explorer

• Task management • Near future: reporting / process inspection

21

Activiti Probe

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

22

Activiti Cycle

• BPM collaboration 2.0

23

Activiti Cycle

24

Activiti Cycle

25

Activiti REST API

• Remote communication with Activiti

26

Activiti Eclipse designer

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

hierarchical modeling

27

Activiti & IPhone

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

28

Activiti Grails integration

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

29

Activiti Grails integration

• Typical Grails convience capabilities• Activiti templates• Easy business archive

deployment• Generate controller/views

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

31

The mortgage process – high level

32

Detailed view

33

The mortgage process

= CMIS call