jBPM Introduction - JudCon Brazil 2013
-
Upload
salaboy-salaboy -
Category
Technology
-
view
2.149 -
download
3
Transcript of jBPM Introduction - JudCon Brazil 2013
![Page 1: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/1.jpg)
Intro tojBPMJudCon Brazil - 2013Mauricio "Salaboy" SalatinoRed Hat/JBoss Senior Software Engineerhttp://salaboy.com
1
![Page 2: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/3.jpg)
3
![Page 4: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/6.jpg)
BUSINESS PROCESS
• Sequence of Steps•Human and/or System Interactions•Main Purpose: Achieve a Business Goal
6
![Page 7: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/7.jpg)
HIRING EXAMPLE
7
![Page 8: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/10.jpg)
BPMS Stages
10
![Page 11: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/15.jpg)
jBPM Overview
15
![Page 16: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/16.jpg)
Process Engine• Flexible Process Execution Engine• Language Independent• Lightweight• Extensible
16
![Page 17: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/22.jpg)
User Interfaces•Authoring & Governance•Process & Task Management•Business Activity Monitoring
22
![Page 23: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/23.jpg)
Authoring & Governance•Process Designer•Rule Editor•Knowledge Repository • Versioning• Tags/Branches•Deployment • Staging
•Project Configurations23
![Page 24: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/24.jpg)
Authoring
24
![Page 25: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/26.jpg)
Task List
26
![Page 27: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/28.jpg)
but.. How does it fit? • Standalone / Embedded•Mobile
•As a Service•Mix
• Cloud
28
![Page 29: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/29.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/30.jpg)
Mobile•Pros:• Its cool!
• Cons:• Limited capabilities•No Persistence/Tx mechanism•Usually short (in memory) processes
30
![Page 31: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/36.jpg)
jBPM - How to?•Process
•Runtime
36
![Page 37: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/37.jpg)
jBPM - How to?• Start a Process Instance• Enable the users to work on it
37
![Page 38: jBPM Introduction - JudCon Brazil 2013](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042607/554f7c23b4c905435d8b475c/html5/thumbnails/39.jpg)
Questions?JudCon Brazil - 2013@Salaboy
39