Post on 11-Nov-2014
description
The evolution of the BPM Systems
Agenda
● Intro to jBPM● jBPM5 Developer Guide
○ Chapters 1-7● Evolution
○ Rules - Chapter 9○ Events - Chapter 10○ Contexts - Chapter 11
● Future - jBPM/Drools 6○ jBPM Console NG○ CDI
jBPM
● (Flexible) Business Process Engine● BPM System ● Tooling● Community
jBPM5 Developer Guide
Chapter 1 - Theoretical Background● What is a Business Process?● What is BPM?
○ Stages
Business Process
● Describes Systems and Humans Interactions● Formalize how the work is being done● Allows us to recognize potential problems● and they look like...
Business Process
Business Process Management
jBPM5 Developer Guide
Chapter 2 - BPM Systems (Structure)● Allows us to execute and automate our Business
Processes● Business Processes will guide the company activities● There are so many advantages...
jBPM5 Developer Guide
Chapter 2 - BPM Systems (Structure)● Advantages
○ Performance Metrics○ Recognize and deal with business exceptions○ Business Agility○ Improve your decision making data streams○ Get an instant snapshot about the company work
load○ Quickly adapt your business processes to reflect
changes in your business
BPM System Structure
jBPM5 Developer Guide
Chapter 3 - BPMN 2.0● Standard Specification
(de-facto standard)● Defines the Notation● Defines the Execution Semantic● Allows interoperability between BPMS'
jBPM5 Developer Guide
Chapter 4 - Knowing Your Toolbox● Infrastructure:
○ Guvnor● Design:
○ Eclipse Plugin (deprecated)○ Web Process Editor ("official")○ Eclipse BPMN2.0 Editor
● Runtime:○ jBPM5 GWT Process Server○ jBPM5 GWT Console
jBPM5 Developer Guide
Chapter 5 - Modeling Tools● Web Process Designer:
○ Integrated with Guvnor BRMS○ Standard BPMN2.0 + jBPM5 extensions○ Process Definition Validation○ Domain Specific Tasks○ Integration with Service Repository
jBPM5 Developer Guide
Chapter 6 - Domain Specific Processes● Attach Domain Specific Constructs to your BPs● Create connectors to interact with your existing
(legacy) systems● Clear separation between definition and
implementation.● Different implementations for different environments
jBPM5 Developer Guide
Chapter 7 - Human Interactions● Optimize your working force● Gather right the information for the right people● Optimize how the tasks are being performed● Obtain a realistic metric about how the work is being
done inside your organization
Tasks List
Task Form
Task Form
jBPM5 Developer Guide
Chapter 8 - Persistence & Transactions● Dealing with Long Running Processes and
System Integrations requires a deep understand about these topics
● Drools and jBPM share the same mechanisms for Persistence and Transactions
Drools & jBPM
Persistence
● Based on JPA● Every time that a process reach a safe point it is
persisted until an external interaction is completed● All the data associated with the process is stored as
well
Transactions
● Based on JTA● Most of the time business processes are about
System Integrations○ If our processes are interacting with
transactional resources a 2 phase commit strategy can be used to guarantee coherence inside the same transaction
jBPM Evolution
Chapter 9 - Smart Processes using Rules● The Drools Rule Engine● How our processes can benefit from the power
of a Rule Engine?● What kind of things we will be able to do?● What's the difference between jBPM5 and
jBPM3/jBPM4 and other BPMS?● Simplify our business processes to express more
accurately how the business works
jBPM Evolution
Chapter 10 - Reactive Processes using Drools Fusion● Temporal Reasoning ● We will be able to co-relate and identify time
sensitive situations ● A whole new world of possibilities
jBPM Evolution
Chapter 11 - Architectural & Integration Tips● The integration with the Rule Engine give us a
richer context to work on● The stateful nature of this context will allows us
to build smarter applications that keeps track of multiple business process execution
● Different architectures can be built using these concepts
Future - Drools/jBPM 6
● Tooling○ UberFire (GWT+ERRAI) Workbench
■ http://droolsjbpm.github.com/uberfire/○ jBPM Console NG○ Guvnor NG
● CDI (JSR-299) integration
Release Process + Rules
Demo
Demo - Rules
Monitor with Rules
Demo - Rules
We cannot have two Release
Processes Using the same Release Path and release files at the same
time
Demo - RulesCreate Ad-Hoc Task if Trigger Test takes too much time
Join the Community
● jbpm.org○ IRC: irc.freenode.net #jbpm○ Forum: https://community.jboss.org/en/jbpm?view=discussions
● Blogs:○ http://blog.athico.com○ http://salaboy.com○ http://ilesteban.wordpress.com
● JBugs/JUGs