4. 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
5. 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
8. 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
9. 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
11. 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
12. 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
13. 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
14. 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
17. BPMN2
•The de-facto standard notation to model Business
Processes today
•Defined by the OMG (2012)
•Standard representation & execution semantic
17
18. jBPM +
•The Process Engine doesn't come alone
•Drools Expert (Rule Engine)
•Drools Fusion (Complex Event Processing Features)
18
19. 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
20. 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
21. 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
27. 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
28. but.. How does it
fit?
•Standalone / Embedded
•Mobile
•As a Service
•Mix
•Cloud
28
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 it
29
31. 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
32. 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
33. 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
34. 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
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 to
interact
35
37. jBPM - How to?
•Start a Process Instance
•Enable the users to work on it
37
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