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 - Rules
               Create 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

jBPM5 Developer Guide Presentation JBUG London

  • 1.
    The evolution ofthe BPM Systems
  • 2.
    Agenda ● Intro tojBPM ● jBPM5 Developer Guide ○ Chapters 1-7 ● Evolution ○ Rules - Chapter 9 ○ Events - Chapter 10 ○ Contexts - Chapter 11 ● Future - jBPM/Drools 6 ○ jBPM Console NG ○ CDI
  • 4.
    jBPM ● (Flexible) Business Process Engine ● BPM System ● Tooling ● Community
  • 5.
    jBPM5 Developer Guide Chapter1 - Theoretical Background ● What is a Business Process? ● What is BPM? ○ Stages
  • 6.
    Business Process ● Describes Systems and Humans Interactions ● Formalize how the work is being done ● Allows us to recognize potential problems ● and they look like...
  • 7.
  • 8.
  • 9.
    jBPM5 Developer Guide Chapter2 - BPM Systems (Structure) ● Allows us to execute and automate our Business Processes ● Business Processes will guide the company activities ● There are so many advantages...
  • 10.
    jBPM5 Developer Guide Chapter2 - 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
  • 11.
  • 12.
    jBPM5 Developer Guide Chapter3 - BPMN 2.0 ● Standard Specification (de-facto standard) ● Defines the Notation ● Defines the Execution Semantic ● Allows interoperability between BPMS'
  • 13.
    jBPM5 Developer Guide Chapter4 - 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
  • 14.
    jBPM5 Developer Guide Chapter5 - Modeling Tools ● Web Process Designer: ○ Integrated with Guvnor BRMS ○ Standard BPMN2.0 + jBPM5 extensions ○ Process Definition Validation ○ Domain Specific Tasks ○ Integration with Service Repository
  • 15.
    jBPM5 Developer Guide Chapter6 - 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
  • 16.
    jBPM5 Developer Guide Chapter7 - 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
  • 17.
  • 18.
  • 19.
  • 20.
    jBPM5 Developer Guide Chapter8 - 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
  • 21.
  • 22.
    Persistence ● Based onJPA ● 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
  • 23.
    Transactions ● Based onJTA ● 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
  • 24.
    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
  • 25.
    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
  • 26.
    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
  • 27.
    Future - Drools/jBPM6 ● Tooling ○ UberFire (GWT+ERRAI) Workbench ■ http://droolsjbpm.github.com/uberfire/ ○ jBPM Console NG ○ Guvnor NG ● CDI (JSR-299) integration
  • 28.
  • 29.
  • 30.
    Demo - Rules Monitor with Rules
  • 31.
    Demo - Rules We cannot have two Release Processes Using the same Release Path and release files at the same time
  • 32.
    Demo - Rules Create Ad-Hoc Task if Trigger Test takes too much time
  • 33.
    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