BPM with Bonita Open Solution

BonitaSoft 22,095 views 58 slides Jul 08, 2011
Slide 1
Slide 1 of 58
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58

About This Presentation

An introduction of BPM


Slide Content

BPM with Bonita Open Solution
Elias Ricken de Medeiros
@riojug, July 6
th
, 2011

7/7/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

7/7/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

7/7/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.

7/7/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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 7
Process lifecycle: continuous
improvement

7/7/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

7/7/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

7/7/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

7/7/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

7/7/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

7/7/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.

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 14
BPMS and continuous improvement

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

7/7/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

7/7/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

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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 18
BPMN samples
BPMN defines...

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

7/7/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

7/7/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.

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 23
How to develop a process based
web application ?
BPM Execution Engine
Web Application
PageFlow and GUI
BPM API
BPM Interface

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 25
How could we go further ?
Generic graphical interface for processes
Process based web applications generation

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 26
Generic graphical interface for
processes
BPM Execution Engine
BPM Portal
BPM API
Process 1Process 2Process n

7/7/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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 29
Bonita Open Solution

Version 5.5.1 available since June 30
th

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

7/7/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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 32
Architecture: big picture$●
Bonita Engine$8
●:*
Bonita User
Experience$
&**➔
Bonita
Applications.
-
,
,

.
9
-

%
C
O
N
N
E
C
T
O
R
S8
Users C

(
0 !
%!
3
rd
Party
Information
System➔
Mail 5
…2$
DBI2&(
LDAP L&**
Your App
DB

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 34
Demo
Process modeling

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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 37
Demo
Customize your end user's forms

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 38
Demo
Generate an application from your process

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 39
Demo
User Experience – as easy as email

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 41
Runtime Architecture
…Transaction HistoryJournal LDR Identity
Services container
Process engine
API
Forms server
App1 App2
BAM
BI
Users
Management
Tasks
management
Process
Management
User Experience
Connectors
3rd
Party
Users

7/7/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.

7/7/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

7/7/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.jar
EJB
JAXRS
HTTP Client
(PHP, Python...)
Server
bonita-server.jar
HTTP

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

7/7/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

7/7/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

7/7/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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 50
Demo
Connect
There is a connector for that...

7/7/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

7/7/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)

7/7/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)

7/7/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

7/7/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

7/7/11 www.bonitasoft.com | © BonitaSoft S.A. 56
Product development -
Continuous Integration

~2300 tests for each platform

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

[email protected]
@eliasricken on
http://www.bonitasoft.com
@bonitasoft on
http://www.youtube.com/bonitasoft on
http://www.slideshare.net/bonitasoft on
Contact