jBPM Introduction - JudCon Brazil 2013

2,636 views
2,527 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,636
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
134
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

jBPM Introduction - JudCon Brazil 2013

  1. 1. Intro tojBPMJudCon Brazil - 2013Mauricio "Salaboy" SalatinoRed Hat/JBoss Senior Software Engineerhttp://salaboy.com1
  2. 2. AGENDA•What is BPM?•Business Process•BPMS•Technical Perspective - jBPM•Architecture / Components•How jBPM fits in our infrastructure?•Why jBPM? and How to?2
  3. 3. 3
  4. 4. WHAT IS BPM?•Business Process Management is a Discipline•Its not a technology•Main Goals:•Formalize and Expose the business activities•Continuously improve the company efficiency toachieve business goals•Iteratively recognize and fix issues to improve howthe work is being done4
  5. 5. HOW DOES BPMWORK?•BPM propose a set of Stages•Discover  •Formalize (Model)•Monitor•Improve•Iterative and Incremental•The stages work on top of the Business Process concept5
  6. 6. BUSINESSPROCESS•Sequence of Steps•Human and/or System Interactions•Main Purpose: Achieve a Business Goal6
  7. 7. HIRING EXAMPLE7
  8. 8. BPM Benefits(Company)•Processes definitions formalize the Companys activities•Processes can be understood and validated by everyonein the company•Knowing our Processes helps us in:•Helps towards standardization•Very useful for training new people•Remove unnecessary/duplicated tasks•Find bottlenecks 8
  9. 9. BPM Suite•Set of tools to assist the BPM Discipline•Each tool is targeted to a Stage•Active approach:•Execute/Automate the business processes9
  10. 10. BPMS Stages10
  11. 11. BPMS Benefits(Company)•The tools will guide the company processes•The processes executions gives us a lot of usefulinformation:•Traceability: we will know at all times where aprocess is, in which activity is and who is responsiblefor it•Measurements: we can track how much time does ittakes to execute a process, a task, a systeminteraction and then compare with the company SLAs11
  12. 12. BPMS Benefits(Technical)•Helps us to decouple the technical aspects of thedevelopment from the business aspects•It help us to define a standard integration platform andarchitecture to automate and guide the businessactivities•Decouple the Technical release cycle from the Businessrelease cycle, allowing us to react faster to businesschanges12
  13. 13. One last thing•A BPMS is not about throwing what we already have tothe trash and start again•Adopting a BPMS is about improving what we alreadyhave by adding a business layer13
  14. 14. jBPM•Is a (Flexible) Business Process Management Suite•Provides a set of Tools and Components to implementthe BPM Discipline•Flexibility is key aspect of the platform, you can usewhat you need in the way you need it•6.0.Beta1 Released two weeks ago (Community)14
  15. 15. jBPM Overview15
  16. 16. Process Engine•Flexible Process Execution Engine•Language Independent•Lightweight•Extensible16
  17. 17. BPMN2•The de-facto standard notation to model BusinessProcesses today•Defined by the OMG (2012)•Standard representation & execution semantic17
  18. 18. jBPM +•The Process Engine doesnt come alone•Drools Expert (Rule Engine)•Drools Fusion (Complex Event Processing Features)18
  19. 19. Human TaskService•Deals with Human Interactions•Based on an Oasis Standard called WS-HT•Defines•The Task Lifecycle•A Standard Interface for the service19
  20. 20. Persistence &Transactions•Long Running processes requires to be stored in order tofree resources•The concept of Safe Point is used to determine when theprocess can be passivated to the database•In order to guarantee coherence between severalsystems a transaction mechanism is required20
  21. 21. Audit/HistoryLog•We can externalize the information that is beinggenerated 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
  22. 22. User Interfaces•Authoring & Governance•Process & Task Management•Business Activity Monitoring22
  23. 23. Authoring &Governance•Process Designer•Rule Editor•Knowledge Repository•Versioning•Tags/Branches•Deployment•Staging•Project Configurations23
  24. 24. Authoring24
  25. 25. 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
  26. 26. Task List26
  27. 27. BAM•Dashboard like User Interface to analyze how thecompany is working in Real Time•Key Performance Indicators can be defined for eachwidget inside the dashboard•Can be fed by multiple data sources, including theHistory Logs27
  28. 28. but.. How does itfit?•Standalone / Embedded•Mobile•As a Service•Mix•Cloud28
  29. 29. 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 it29
  30. 30. Mobile•Pros:•Its cool!•Cons:•Limited capabilities•No Persistence/Tx mechanism•Usually short (in memory) processes30
  31. 31. As a service•Pros:•The Engines will run in an isolated environment•Tuning and managing these services will becompletely about jBPM/Drools and not related withany application•Cons:•A transport need to be included to contact the service(RPC, Web Services, JMS, etc)•A more complicated architecture from thetransactional point of view31
  32. 32. Mix•Pros:•We hide the engine behind a business interface•Each service can configure the engine in a differentway•Cons:•Each service will include the overhead of the runtime•The runtimes cannot be shared between differentservices32
  33. 33. Cloud•Pros:•Multiple runtimes can serve different customers withdifferent needs•Each customer will have a different provisions ofruntimes•Cons:•We need a more complicated infrastructure•You will need to define the policies to create newruntimes and what is allowed to each user33
  34. 34. Why jBPM?•Because companies are complex, and process enginesare not enough.•Once we dominate the Process Modeling and Executionwe can:•Use the Rule Engine to improve the range of scenariosthat we can cover•Use Complex Event Processing to influence ourbusiness processes•If you are not using any these technologies, jBPM is avery good start point34
  35. 35. 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 tointeract35
  36. 36. jBPM - How to?•Process•Runtime36
  37. 37. jBPM - How to?•Start a Process Instance•Enable the users to work on it37
  38. 38. 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
  39. 39. Questions?JudCon Brazil - 2013@Salaboy39

×