jbpm introduction - judcon brazil 2013

39
Intro to jBPM JudCon Brazil - 2013 Mauricio "Salaboy" Salatino Red Hat/JBoss Senior Software Engineer http://salaboy.com 1

Upload: salaboy-salaboy

Post on 10-May-2015

2.148 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: jBPM Introduction - JudCon Brazil 2013

Intro tojBPMJudCon Brazil - 2013Mauricio "Salaboy" SalatinoRed Hat/JBoss Senior Software Engineerhttp://salaboy.com

1

Page 2: jBPM Introduction - JudCon Brazil 2013

AGENDA•What is BPM?

•Business Process

•BPMS

• Technical Perspective - jBPM

•Architecture / Components

•How jBPM fits in our infrastructure?

•Why jBPM? and How to?

2

Page 3: jBPM Introduction - JudCon Brazil 2013

3

Page 4: jBPM Introduction - JudCon Brazil 2013

WHAT IS BPM?•Business Process Management is a Discipline

• It's not a technology

•Main Goals:

• Formalize and Expose the business activities

• Continuously improve the company efficiency to achieve business goals

• Iteratively recognize and fix issues to improve how the work is being done

4

Page 5: jBPM Introduction - JudCon Brazil 2013

HOW DOES BPM WORK?•BPM propose a set of Stages

•Discover  • Formalize (Model)•Monitor• Improve

• Iterative and Incremental• The stages work on top of the Business Process concept

5

Page 6: jBPM Introduction - JudCon Brazil 2013

BUSINESS PROCESS

• Sequence of Steps•Human and/or System Interactions•Main Purpose: Achieve a Business Goal

6

Page 7: jBPM Introduction - JudCon Brazil 2013

HIRING EXAMPLE

7

Page 8: jBPM Introduction - JudCon Brazil 2013

BPM Benefits (Company)•Processes definitions formalize the Company's activities

•Processes can be understood and validated by everyone in the company

•Knowing our Processes helps us in:

•Helps towards standardization

• Very useful for training new people

•Remove unnecessary/duplicated tasks

• Find bottlenecks 8

Page 9: jBPM Introduction - JudCon Brazil 2013

BPM Suite • Set of tools to assist the BPM Discipline• Each tool is targeted to a Stage•Active approach: • Execute/Automate the business processes

9

Page 10: jBPM Introduction - JudCon Brazil 2013

BPMS Stages

10

Page 11: jBPM Introduction - JudCon Brazil 2013

BPMS Benefits (Company)• The tools will guide the company processes

• The processes executions gives us a lot of useful information:

• Traceability: we will know at all times where a process is, in which activity is and who is responsible for it

•Measurements: we can track how much time does it takes to execute a process, a task, a system interaction and then compare with the company SLAs

11

Page 12: jBPM Introduction - JudCon Brazil 2013

BPMS Benefits (Technical)•Helps us to decouple the technical aspects of the

development from the business aspects

• It help us to define a standard integration platform and architecture to automate and guide the business' activities

•Decouple the Technical release cycle from the Business release cycle, allowing us to react faster to business changes

12

Page 13: jBPM Introduction - JudCon Brazil 2013

One last thing•A BPMS is not about throwing what we already have to

the trash and start again

•Adopting a BPMS is about improving what we already have by adding a business layer

13

Page 14: jBPM Introduction - JudCon Brazil 2013

jBPM• Is a (Flexible) Business Process Management Suite

•Provides a set of Tools and Components to implement the BPM Discipline

• Flexibility is key aspect of the platform, you can use what you need in the way you need it

• 6.0.Beta1 Released two weeks ago (Community)

14

Page 15: jBPM Introduction - JudCon Brazil 2013

jBPM Overview

15

Page 16: jBPM Introduction - JudCon Brazil 2013

Process Engine• Flexible Process Execution Engine• Language Independent• Lightweight• Extensible

16

Page 17: jBPM Introduction - JudCon Brazil 2013

BPMN2• The de-facto standard notation to model Business

Processes today

•Defined by the OMG (2012)

• Standard representation & execution semantic

17

Page 18: jBPM Introduction - JudCon Brazil 2013

jBPM +• The Process Engine doesn't come alone•Drools Expert (Rule Engine) •Drools Fusion (Complex Event Processing Features)

18

Page 19: jBPM Introduction - JudCon Brazil 2013

Human Task Service•Deals with Human Interactions•Based on an Oasis Standard called WS-HT•Defines• The Task Lifecycle•A Standard Interface for the service

19

Page 20: jBPM Introduction - JudCon Brazil 2013

Persistence & Transactions• Long Running processes requires to be stored in order to

free resources

• The concept of Safe Point is used to determine when the process can be passivated to the database

• In order to guarantee coherence between several systems a transaction mechanism is required

20

Page 21: jBPM Introduction - JudCon Brazil 2013

Audit/History Log•We can externalize the information that is being

generated by the Engines and other components • This is: •Process Execution Data•Rules Execution Data•Human Tasks Interaction Data• System Interactions Data

•We can define how and where this information is stored21

Page 22: jBPM Introduction - JudCon Brazil 2013

User Interfaces•Authoring & Governance•Process & Task Management•Business Activity Monitoring

22

Page 23: jBPM Introduction - JudCon Brazil 2013

Authoring & Governance•Process Designer•Rule Editor•Knowledge Repository • Versioning• Tags/Branches•Deployment • Staging

•Project Configurations23

Page 24: jBPM Introduction - JudCon Brazil 2013

Authoring

24

Page 25: jBPM Introduction - JudCon Brazil 2013

Process & TaskManagement• jBPM Console NG•Process Management•Process Definition List•Process Instance Creation•Process Instance Inspection

• Task Management•Personal & Group Task List• Calendar View

•Pluggable Task Forms (6.x)25

Page 26: jBPM Introduction - JudCon Brazil 2013

Task List

26

Page 27: jBPM Introduction - JudCon Brazil 2013

BAM•Dashboard like User Interface to analyze how the

company is working in Real Time•Key Performance Indicators can be defined for each

widget inside the dashboard• Can be fed by multiple data sources, including the

History Logs

27

Page 28: jBPM Introduction - JudCon Brazil 2013

but.. How does it fit? • Standalone / Embedded•Mobile

•As a Service•Mix

• Cloud

28

Page 29: jBPM Introduction - JudCon Brazil 2013

Standalone•Pros: • In memory access to the Process/Rule Engine• Simple Architecture

• Cons:•Our app will have all the jBPM libs inside it•Our app will be running the process engine inside it

29

Page 30: jBPM Introduction - JudCon Brazil 2013

Mobile•Pros:• Its cool!

• Cons:• Limited capabilities•No Persistence/Tx mechanism•Usually short (in memory) processes

30

Page 31: jBPM Introduction - JudCon Brazil 2013

As a service•Pros:

• The Engines will run in an isolated environment

• Tuning and managing these services will be completely about jBPM/Drools and not related with any application

• Cons:

•A transport need to be included to contact the service (RPC, Web Services, JMS, etc)

•A more complicated architecture from the transactional point of view

31

Page 32: jBPM Introduction - JudCon Brazil 2013

Mix•Pros:•We hide the engine behind a business interface• Each service can configure the engine in a different

way• Cons: • Each service will include the overhead of the runtime• The runtimes cannot be shared between different

services

32

Page 33: jBPM Introduction - JudCon Brazil 2013

Cloud•Pros:

•Multiple runtimes can serve different customers with different needs

• Each customer will have a different provisions of runtimes

• Cons:

•We need a more complicated infrastructure

• You will need to define the policies to create new runtimes and what is allowed to each user

33

Page 34: jBPM Introduction - JudCon Brazil 2013

Why jBPM?•Because companies are complex, and process engines

are not enough.•Once we dominate the Process Modeling and Execution

we can:•Use the Rule Engine to improve the range of scenarios

that we can cover•Use Complex Event Processing to influence our

business processes• If you are not using any these technologies, jBPM is a

very good start point

34

Page 35: jBPM Introduction - JudCon Brazil 2013

jBPM - How to?•What do I need?

• You need a process

• You need a runtime

• Then what?

• Start the process instances

• Enable the users associated with the process to interact

35

Page 36: jBPM Introduction - JudCon Brazil 2013

jBPM - How to?•Process

•Runtime

36

Page 37: jBPM Introduction - JudCon Brazil 2013

jBPM - How to?• Start a Process Instance• Enable the users to work on it

37

Page 38: jBPM Introduction - JudCon Brazil 2013

jBPM - How to?•Get the example

• git clone http://github.com/salaboy/jbpm6-cdi-examples

• Look at the Hiring Process example

• Compile and test: mvn clean install

•Have fun!

38

Page 39: jBPM Introduction - JudCon Brazil 2013

Questions?JudCon Brazil - 2013@Salaboy

39