BPM with Bonita Open Solution

58
BPM with Bonita Open Solution Elias Ricken de Medeiros @dfjug, July 14 th , 2011

description

 

Transcript of BPM with Bonita Open Solution

Page 1: BPM with Bonita Open Solution

BPM with Bonita Open Solution

Elias Ricken de Medeiros

@dfjug, July 14th, 2011

Page 2: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 2

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How to generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 3: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 3

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 4: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 4

A business process is...● a collection of related, structured activities or

tasks that produce a specific service or product and have to be executed in a specific sequence.

● It often can be visualized with a flowchart as a sequence of activities.

Page 5: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 5

Processes are everywhere...

● Marketing and sales

● Customer relations

● Human resources

● Communications

● Internal policies and procedures

● Manufacturing

● R&D

Page 6: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 6

Business Process Management (BPM) is…

a set of tools and methodologies

to model, automate, monitor and optimize

the processes of an organization

Page 7: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 7

Process lifecycle: continuous improvement

Page 8: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 8

Many applications are process based

● BPM should be everywhere in any type of company

● BUT ….

It is not the case today

Many processes are hard coded

Page 9: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 9

Why ?

● Because BPM solutions are historically complex to implement and very expensive

➔ So there are exclusively used by wealthiest companies for mission critical projects

● Because it can be tempting to hard code the processes

Page 10: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 10

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 11: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 11

A Business Process Management System (BPMS) is…

a set of software tools

to implement Business Process Management

in an organization

Page 12: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 12

BPMS● Set of tools to go from Business Process Modeling to

Business Process execution and monitoring.

● Can include extra BPM features such as process simulation, or application generation.

● Helps transforming business logic into something that can be executed

Page 13: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 13

BPMS and agility

● By uncoupling business logic from technical issues, a BPMS brings agility to your business.

● Modify a process =

edit a diagram + redeploy a file

● Improving business processes is transparent for people affected by these processes.

Page 14: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 14

BPMS and continuous improvement

● Open the doors towards monitoring, reporting, business intelligence, simulation...

Page 15: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 15

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 16: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 16

Business Process Modeling Notation (BPMN) is…

● A standardized graphical notation for modeling business processes

● BPMN 2.0 standard released in January 2011

● proposed by the Object Management Group

● contains standard graphical elements

● uses standard semantics

● identifies standard execution

Page 17: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 17

Page 18: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 18

BPMN samples

BPMN defines...

Page 19: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 19

BPMN samples

Page 20: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 20

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 21: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 21

BPM (for business users)

● BPM answer to questions such as:● “And now, what do I have to do?”

● “How am I expected to do that?”

● “What is going on with the things I was involved in?”

● BPM is all about giving to the end-user the application that exactly reproduce the way he works with those processes on a day to day.

Page 22: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 22

Process based web applications

Process design

Information System Connectivity

Web Application developmentWeb framework

BPM Solution

Software Main steps

Page 23: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 23

How to develop a process based web application ?

BPM Execution Engine

Web ApplicationPageFlow and GUI

BPM API

BPM Interface

Page 24: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 24

What are the benefits ?

● Business logic is externalized in a process● The BPM solution will manage the life cycle of

the process as well as human and system interactions

● Only link between the web application and the BPM solution is the BPM API

Page 25: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 25

How could we go further ?

Generic graphical interface for processes

Process based web applications generation

Page 26: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 26

Generic graphical interface for processes

BPM Execution Engine

BPM Portal

BPM API

Process 1 Process 2 Process n

Page 27: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 27

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 28: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 28

Bonita in a nutshell

2003-2009: Bonita v2, v3 and v4

Since 2009: Bonita Open Solution 5...

2001 – 2003: v1

Page 29: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 29

Bonita Open Solution● Version 5.5.1 available since June 30th

● Very active community (3500+ members)

● 500.000 downloads since the creation of the project

● Best Modeling Tool 2011

● GPL license for the studio

● LGPL for the execution engine and the web applications

● http://www.bonitasoft.com/products/BPM_download.php

Page 30: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 30

What is Bonita Open Solution?

Bonita Execution Engine

Bonita Studio Bonita User Experience

draw and connect run your application manage your processes

Page 31: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 31

What is Bonita Open Solution?

● Bonita Studio● model processes ● connect processes to external information systems● design end-user forms

● Bonita User Experience● provides end-user interface for interaction with process● allows administrator management of process● stand-alone applications

● Bonita Execution Engine

Page 32: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 32

Architecture: big picture

Bonita EngineBonita Engine

Bonita User ExperienceBonita User Experience

Bonita Applications

Bonita Applications

CONNECTORS

CONNECTORS

UsersUsers

3rd Party Information

System

3rd Party Information

System

MailMail

……

DBDB

LDAPLDAP

Your AppYour App

DB

Page 33: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 33

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 34: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 34

Demo

Process modeling

Page 35: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 35

Demo

Run

Page 36: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 36

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 37: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 37

DemoCustomize your end user's forms

Page 38: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 38

DemoGenerate an application from your process

Page 39: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 39

Demo

User Experience – as easy as email

Page 40: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 40

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 41: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 41

Runtime Architecture

…Transaction HistoryJournal LDR Identity

Services container

Process engine

API

Forms server

App1 App2

BAMBI

Users Management

Tasks management

ProcessManagement

User Experience

Connectors

3rd Party

Users

Page 42: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 42

BOS Engine

● Bonita execution Engine can be embedded in your applications

● bonita-server and bonita-client are available as Maven artifacts on repositories

● It is distributed under LGPL v2.

Page 43: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 43

BOS Engine

● The engine is basically an API to manipulate processes. (create, instantiate, execute, delete)

● It deals with persistence of process definitions and instances, and with execution of the flow.

● is used for ORM

Page 44: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 44

BOS Engine● BOS Engine can be accessed locally or remotely with

Java, using the same code

Local

Application

bonita-server.jar

Remote

Java Client

bonita-client.jarEJB

JAXRS

HTTP Client(PHP, Python...)

Server

bonita-server.jar HTTP

Page 45: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 45

Bonita Studio

Page 46: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 46

Bonita Studio● Is an Eclipse RCP application. It contains the core of Eclipse,

some other Eclipse projects, and a lot of Bonita specific plugins.

● Relies on Bonita engine for export.● Imports process in BAR(Bonita archive), BPMN 2, XPDL 1

and jBPM 3● Exports process in BAR and BMPN 2

Page 47: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 47

User XP

● Is based on GWT

● Provides a modular UI easy to customize

● Supports BIRT and JasperReports

Page 48: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 48

Process applications

● The studio exports a forms.xml file that describes the form.

● The process application reads this forms.xml build the form model and render it on the page, using GWT.

● The UI can be customized using HTML templates

Page 49: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 49

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 50: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 50

Demo

Connect

There is a connector for that...

Page 51: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 51

Agenda

● What is BPM? Why is this useful?

● What does a BPMS provide?

● What is BPMN?

● From the process to the application

● What is Bonita Open Solution?

● How to model a process?

● How generate a web application?

● Under the hood

● How to develop connectors?

● Use the execution engine's API

Page 52: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 52

BOS Engine: the API● ManagementAPI

● Operations related to process installation/removal, resources management.● e.g. deploy(businessArchive), deleteProcess(processUUID), addMetadata(key, value)

● QueryDefinitionAPI● Query operations related to the ‘Definition’ object model.● e.g. getProcesses(), getProcess(processUUID), getProcessActivities(processUUID,

activityName)● RuntimeAPI

● Modification operations related to the ‘Runtime’ object model.● e.g. executeTask(taskUUID), assignTask(taskUUID, userId),

instantiateProcess(processUUID)● QueryRuntimeAPI

● Query operations related to the ‘Runtime’ object model.● e.g. getProcessInstances(), getTaskList(taskState), getVariable(activityInstanceUUID,

variableName)

Page 53: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 53

BOS Engine: the API● RepairAPI

● Advanced administration operations to handle executing process instances that may be off nominal

● e.g. stopExecution(processInstanceUUID, activityName)● CommandAPI

● Operations to execute commands available in a given process or in the overall engine● e.g. execute(command, processUUID), execute(command)

● IdentityAPI● Operations related to the embedded user module● e.g. addUser(userName, password), addRole(roleName), getUsers()

● BAMAPI● Query operations to retrieve statistics from the runtime data● e.g. getNumberOfOverdueSteps(), getNumberOfOpenStepsPerDay(startDate)

Page 54: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 54

http://www.bonitasoft.org/blog/tutorial/building-your-applications-with-bonita-runtime-part-1/

BOS Engine: the API

Page 55: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 55

Product development -Roadmap & Tracking

● Bonita Open Solution development follows Scrum methodology:

● Sprints & Roadmap● Rigorous usage of a tracker● Backlogs & Burn-down chart

Page 56: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 56

Product development -Continuous Integration

● ~2300 tests for each platform

Page 57: BPM with Bonita Open Solution

7/16/11 www.bonitasoft.com | © BonitaSoft S.A. 57

Questions?

Page 58: BPM with Bonita Open Solution

[email protected]

@eliasricken on

http://www.bonitasoft.com

@bonitasoft on

http://www.youtube.com/bonitasoft on

http://www.slideshare.net/bonitasoft on

Contact