SlideShare una empresa de Scribd logo
1 de 63
JBoss BRMS Primer
Business Rules Management System (BRMS)




                           Eric D. Schabell
                           JBoss Technology Evangelist
                           t: @ericschabell / e: erics@redhat.com
 1
Agenda

● Introduction
● JBoss BRMS

        ●   Biz Rules
        ●   Biz Process Management
        ●   Biz Events
●   Demo
●
    Questions




    2
Integrated Intelligent Business Platform




3
Product Support Configurations




4
Choice of Tools
    Business User Friendly – Web Based   Developer Friendly – IDE Based




5
Knowledge Management




6
Repository




       Central Knowledge / Asset Repository
       Store – Models, Process Def, Rule Def, Images, Anything
        Else
       Can store and manage any kind of assets
       Based on JCR 2.0
       Version Control
       Can also be accessed by WebDAV and HTTP
       New – Access through REST
       Further persists to RDBMS
7
BRMS (+jBPM 5) Interoperability with SOA -P




       SOA-P is a certified Container
       Integration of jBPM 5 with ESB in 5.3


8
Operations Management

   Pluggable to JON
   Monitor long running sessions
   Monitor knowledgebase params for each KB
   View list of running sessions
   List of active rules in sessions
   For each rule session params
   Session params like
    – No. of facts
    – Total firing time
    – Avg firing time
    – Total activations

9
Embed Guvnor Editors in Custom Applications
                                Embed Any editor in
                                 your app
                                Guvnor webapp should
                                 be running
                                BRL Editor mode – no
                                 repo saving
                                Existing Asset Editor
                                 mode – save to repo
                                New Asset Editor mode
                                Use JavaScript to
                                 interact with editor
                                Use Http to interact with
                                 Guvnor app

10
Agenda

● Introduction
● JBoss BRMS

         ●   Biz Rules
         ●   Biz Process Management
         ●   Biz Events
●   Demo
●
    Questions




    11
JBoss BRMS
     What is a rule?




     ●   In short, a rule is an premise and conclusion
           ● If it is raining, then the ground must be wet
     ●   A rule is made of conditions and actions. When all the
         conditions are met, a rule may “fire”.
     ●   The conditions are collectively referred to as the LHS (left
         hand side) and the actions are referred to as the RHS (right
         hand side, or consequence).
     ●   A rule operates on facts (data). In our case, these facts are
         instances of objects in our application.




12
JBoss BRMS
What is inferencing?
     ●   We want to take all of our data (facts) and combine it with our
         knowledge (rules) and come up with some conclusions
         (inferencing)




13
JBoss BRMS
What is inferencing?
     ●   We want to take all of our data (facts) and combine it with our
         knowledge (rules) and come up with some conclusions
         (inferencing)




14
JBoss BRMS
What is inferencing?
     ●   We want to take all of our data (facts) and combine it with our
         knowledge (rules) and come up with some conclusions
         (inferencing)




15
JBoss BRMS
What is inferencing?

     ●   We want to take all of our data (facts) and combine it with our
         knowledge (rules) and come up with some conclusions
         (inferencing)




16
JBoss BRMS
What is inferencing?
     ●   We want to take all of our data (facts) and combine it with our
         knowledge (rules) and come up with some conclusions
         (inferencing)




17
Golfing Configuration Example




     Rules in action




18
Golfing Configuration Example


 There are four Golfers standing at a tee, in a line from
 left to right:

 •   The golfer to Fred’s immediate right is wearing blue pants
 •   Joe is second in line
 •   Bob is wearing plaid pants
 •   Tom isn’t in position one or four, and he isn’t wearing the orange
     pants




19
Create all possible combinations


 String[] names = new String[]{"Fred", "Joe", "Bob", "Tom"};
 String[] colors = new String[]{"red", "blue", "plaid”,"orange" };

 int[] positions = new int[] {00, 2, 3, 4};

 for ( int n = 0; n < names.length; n++ ) {
     for ( int c = 0; c < colors.length; c++ ) {
         for ( int p = 0; p < positions.length; p++ ) {
             new Golfer(names[n], colors[c], positions[p]);
         }
     }
 }




20
Fred

 • There is a golfer named Fred

 // There is a golfer named Fred
 fred : Golfer( name == "Fred" )




21
Joe

 • Joe is second in line

 // Joe is in position 2
 joe : Golfer( name == "Joe”,
 position == 2 && != fred.position,
 color != fred.color )




22
Bob

 • Bob is wearing plaid pants

 // Bob is wearing plaid pants
 bob : Golfer( name == "Bob",
           position != fred.position &&
                   != joe.position,
           color      == "plaid" &&
                   != fred.color &&
                   != joe.color )




23
Tom

 • Tom isn’t in position one or four, and he isn’t wearing the orange
   pants

 // Tom isn't in position 1 or 4
 // and isn't wearing orange
 tom : Golfer(   name == "Tom",
                 position not in (1, 4, fred.position,
                    joe.position, bob.position),
                 color not in ("orange", "blue",
                    fred.color, joe.color, bob.color))




24
Fred's neighbor

 • The golfer to Fred's immediate right is wearing blue pants

 // The golfer to Fred's immediate right
 // is wearing blue pants
 Golfer ( position == (fred.getPosition() + 1),
        color == "blue",
        this in ( joe, bob, tom )
      )




25
Results

 System.out.println( "Fred's position is " +
    fred.getPosition() + " and his color is " +
    fred.getColor() );
 System.out.println( "Joe's position is " +
    joe.getPosition() + " and his color is " +
    joe.getColor() );
 System.out.println( "Bob's position is " +
    bob.getPosition() + " and his color is " +
    bob.getColor() );
 System.out.println( "Tom's position is " +
    tom.getPosition() + " and his color is " +
    tom.getColor() );

 Fred   1   orange
 Joe    2   blue
 Bob    4   plaid
 Tom    3   red




26
Conclusions

 • Rules technology provides a new way to create
   business applications, where business logic is
   “declared” in a rule language, instead of a traditional
   procedural language.

 • Rule engines are good for solving complex problems
   that don't have any other way to solve.

 • Business Rule Management Systems can be used to
   manage thousands of rules.



27
JBoss BRMS
Inference Engine
     ●   The brain of a Production Rule System is an Inference Engine
         which matches facts against Production Rules.
     ●   When matches are found, the rules actions are fired.
     ●   Actions most often change the state of the facts, or perform some
         external action on the application.




28
Conceptual example


                          Stateful / Stateless
         Knowledge            Knowledge
           Base                Session



        Rule package          Agenda
         (artifacts)




29
Example: real BPM


                          Stateful
         Knowledge       Knowledge
           Base           Session



         Process         Process
         Definition      Instance




30
JBoss BRMS
How it Works

                                                                            Agenda
Rule                                                                       Activation
 Rule
   Rule         1.Parse DRL           RuleBase                   Rule                       Fact
     Rule
      Rule
                                                                           Activation
                                                                                          Fact




                                  2. Create
                                                                 Rule                      Fact



 Fact
  Fact
    Fact       3. Assert Facts   WorkingMemory
      Fact
       Fact                                                                Fact
                                                                            Fact
                                                                              Fact




                                                            es
                                                                                Fact




                                                         ul
                                                                                 Fact



                                                         R
                                                     ll
                                                    A
                                                    re
                                                 Fi               Rule         (5) activation
                                                                   Rule      -> consequence
                                              4.

                                                                     Rule
                                                                       Rule
                                                                        Rule




31
Rules Engine



                  Support Inference
                  Implements ReteOO algorithm
                  Embeddable, lightweight
                  Highly performant
                  Scalable and most stable
                  Supports Declarative Programming




32
Rule Authoring Choices




33
All new Decision Table: Business User Friendly
                               Intuitive and powerful
                                interface for any users
                               Ability to visually create
                                large set of business rules
                               Quick validation of rules
                               Verify coverage for all
                                conditions




34
Decision Tables – Supported Categorization
                                  Multi hit, all hit
                                  Conditions are not mutually
                                   exclusive
                                  All matching rules executed

                              Multi hit, first hit
                              Conditions are not mutually
                               exclusive.
                              First matching rule executes

                              Single hit
                              Exactly One rule fires
                              No ambiguity
35
Rule Templates




     Loading Template Data




36
BRMS 5.3 – Other New Features

    Backward Chaining – Full Support
    Lazy Truth Maintenance – enabled automagically when needed
    Free form expression in constraints: Enables writing complex
     expressions and nested accessors
     Person( age * 2 > $anotherPersonsAge + 2 ) // mathematical expressions

    Person( addresses["home"].streetName.startsWith( "High Park" ) ) // method calls and collections simplified
syntax

     Person( isAdult() ) // boolean expression without relational operator

   Cheese( ) from [ $stilton, $brie, $provolone ] // inline list creation and
iteration

    Performance enhancements
        ●   Optimized parser enhances
    Modularity enabled for OSGI set up

37
Developer Perspective


     JBoss Developer Studio
          Fact Model
         DSL Template

      Check-In Artifacts to
          Repository
                                               JBoss BRMS Web
                                                   Manager
                                                Use Facts & DSL
                                           to create Business Rules


                                                                         J2SE

                                                                         EAP-
                                                                      WS,WAR,EAR
                                                        Deployment
                                                                       SOA-P,
                                                                       Mediated
                                                                       Services
      JBoss BRMS Web          JBoss BRMS Web
           Manager                Manager
     Create Test Scenarios     Create Package
38
Eclipse – Developer Perspective




39
Debugging

Debug Views




     ●   New rule “perspective” to configure IDE for rules as needed



40
Guided Rule Editor (Eclipse)

 Eclipse Guided Editor




41
Agenda

● Introduction
● JBoss BRMS

         ●   Biz Rules
         ●   Biz Process Management
         ●   Biz Events
●   Demo
●
    Questions




    42
Process Management Functions and Roles




43
Typical Business Process Lifecycle


                                     Improve




44
Process Modeling
Web Based Modeling Tools                         IDE Based Modeling Tools




    Create BPMN2 Process Definition
    Common Design Time Repository – Store, Manage, Version
    Create Process Definitions, Validate, Package, Deploy
    Develop User forms, integrate other Business Assets (rules etc)
    Import BPMN2 Definitions
45
Process Designer Highlights




                Fully Integrated with BRMS Guvnor – On-stop business modeling tool
                Rich set of BPMN2 elements – Drag and drop on canvas
                Domain Specific Nodes – Add your own tasks to the list
                Generate PDF or PNG documents of process definition
                Embeddable Designer – Allows adopting designer in your own tool



46
Process Designer Highlights – User Forms

                                  Create Task Forms and Process
                                   Forms in the designer
                                  Forms necessary for Workflow
                                   kick off and Human task inputs
                                  These forms are used when
                                   process instance is created –
                                   Business Central
                                  Inline editing within the process
                                   definition




47
Process Designer Highlights – Visual Process Validation




    Visually validate the process definition before packaging




48
Process Deployment – Loading Process Definition

                                   Load Definitions through
                                    Business Central
                                   Use Knowledge API to
                                    programmatically load




49
Process Execution - Process Engine Highlights

                  Lightweight, Embeddable, Extensible
                  Manages State Transition
                  Native BPMN2 Execution
                  Use out of the box Persistence and Transaction
                  Or Plugin your Own Persistence and Transaction
                  Spring, Camel and OSGi Integration




50
Process Execution - Task Server Highlights

    Independent Task Management Server
    Manages Lifecycle of Human Tasks – Creation, Claim, Completion etc
    Support for Assignment, Delegation, deadlines, calendar integration,
     internationalization etc.
    Manages its own state persistence – different from process data
     persistence
    WS-HT Based
    Accessible both by Synchronous and Asynchronous communication
    HornetQ is the default transport.
    Works with Apache Mina
    Accessible through REST interface



51
Process Monitoring – Business Central

                One-stop Web Based Center for Managing
                 Business Operations
                Manage and Monitor Business Processes
                Manage Human Tasks
                Plug your own reporting tool and create reports
                Role based authentication – configurable to
                 any JaaS / LDAP
                REST Interface for programmatic access to
                 functions




52
Business Central – Monitoring Processes




    View all process definitions that are installed in knowledgebase
    Instantiate a process instance
     – Inline input Process Input form
    Manage running processes – Start, Terminate, Delete, Signal
    Inspect State of a Process Instance and Execution Details



53
Business Central – Managing Tasks




    View Assigned (personal) tasks and Un-assigned (group) tasks
    Claim a Task, Execute a Task, Release a Task
    Complete inline user task forms




54
Process Monitoring – Reporting

                            Powerful Knowledge APIs, REST
                             interface
                            Leverage power of CEP for realtime
                             reporting
                         
                             Easy to integrate popular 3rd party
                             reporting solutions
                            Will supply how to guides
                            Placeholder for dashboard. No out
                             of the box reporting in the product




55
Agenda

● Introduction
● JBoss BRMS

         ●   Biz Rules
         ●   Biz Process Management
         ●   Biz Events
●   Demo
●
    Questions




    56
Event Processor



                     CEP Engine enables -
                      –   Event Detection: Cloud mode and Stream mode
                      –   Temporal Reasoning (correlation) – reason over
                          aggregation
                      –   Abstraction – Compose complex events and reason over
                          them

                     CEP Engine Supports:
                      –   Event Semantics (point in time and interval) as first class
                          citizen analogous to rule semantics
                      –   Support both point in time (as interval with zero duration)
                          and interval semantics
                      –   Ability to apply temporal constraints
                      –   Use Session clocks: Support Realtime (system) clock,
                          Psedo Clock (controlled by application)
                      –   Sliding window support
                      –   Ability to scale to high volume of events


57
CEP Modes
Cloud Mode                                                          Stream Mode




        Default Mode – All facts and events are loaded      Events must be time-ordered
         before reasoning
                                                             Engine synchronizes between streams
        Many to many pattern matching by the engine          using session clock
        No notion of flow of time, no clock
         synchronization
                                                             Engine applies the notion of flow

        Ordering is not required
                                                             Engine manages the event lifecycle
        Event lifecycle managed by user                     Sliding window option could be used
        Sliding window is not needed                        Negative patterns could be used. Ex. Fire
                                                              detected, no sprinkler turned on in 10 sec
                                                              sound alarm

    58
Temporal Relationships
         when
         when
           Shipment( $pickupTime :: scheduledPickupTime ))
           Shipment( $pickupTime scheduledPickupTime                                           Temporal
                                                                                              Relationship
           not ShipmentPickup( this before $pickupTime ))
           not ShipmentPickup( this before $pickupTime
         then
          then
           // shipment not picked up... Action required.
            // shipment not picked up... Action required.
         end
         end
         rule “Shipment not picked up in time”
         rule “Shipment not picked up in time”


     13 Operators are Supported
        Event A before Event B                                 Event A coincides Event B
        Event A meets Event B                                  Event A after Event B
        Event A overlaps Event B                               Event A metBy Event B
        Event A finishes Event B                               Event A overlapedBy Event B
        Event A includes Event B                               Event A finishedBy Event B
        Event A starts Event B                                 Event A during Event B
                                                                Event A finishes Event B


    59
CEP – Sliding Windows
                                          Sliding window 1



                                                Sliding window 2




                                              Joined window
 Sliding Time Window                                       Sliding Length Window
 - Reason Over events occurring next set time duration     - Reason Over set number of events occuring


Example: Raise alarm if avg temp reading from             Example: Raise alarm if avg temp from last 100
sensor over last 10m is above the threshold               sensor readings is above the threshold

rule "Sound the alarm in case temperature rises above     rule "Sound the alarm in case temperature rises above
threshold"                                                threshold"
when                                                      when
    TemperatureThreshold( $max : max )                        TemperatureThreshold( $max : max )
    Number( doubleValue > $max ) from accumulate(             Number( doubleValue > $max ) from accumulate(
           SensorReading( $temp : temperature ) over                  SensorReading( $temp : temperature ) over
window:time( 10m ),                                       window:length( 100 ),
        average( $temp ) )                                        average( $temp ) )
then                                                      then
    // sound the alarm                                        // sound the alarm
end                                                       end
  60
Apply CEP operators for Rules




    Apply 13 operators available
    Define sliding time window or length




61
Demo




            https://github.com/eschabell/brms-customer-evaluation-demo

            https://github.com/eschabell/brms-rewards-demo



62
JBoss BRMS, the future is now

Más contenido relacionado

Destacado

JBoss BRMS sneak peak, the future is now for your Business Processes
JBoss BRMS sneak peak, the future is now for your Business ProcessesJBoss BRMS sneak peak, the future is now for your Business Processes
JBoss BRMS sneak peak, the future is now for your Business ProcessesEric D. Schabell
 
Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Masahiko Umeno
 
A look into the crystal ball at JBoss BRMS and BPM Suite
 A look into the crystal ball at JBoss BRMS and BPM Suite A look into the crystal ball at JBoss BRMS and BPM Suite
A look into the crystal ball at JBoss BRMS and BPM SuiteEric D. Schabell
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementAlan McSweeney
 
Scala in our BRMS
Scala in our BRMSScala in our BRMS
Scala in our BRMSscalaconfjp
 
Decision Management : M2DL@UPS Lecture
Decision Management : M2DL@UPS LectureDecision Management : M2DL@UPS Lecture
Decision Management : M2DL@UPS LectureEmmanuel Bonnet
 
Decision Service Architecture - Red Hat Forum Paris 2015
Decision Service Architecture - Red Hat Forum Paris 2015Decision Service Architecture - Red Hat Forum Paris 2015
Decision Service Architecture - Red Hat Forum Paris 2015Emmanuel Bonnet
 
Jboss jbpm and drools 1 introduction to drools architecture
Jboss jbpm and drools   1 introduction to drools architectureJboss jbpm and drools   1 introduction to drools architecture
Jboss jbpm and drools 1 introduction to drools architectureZoran Hristov
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Red Hat JBoss BPM Suite Workshop
Red Hat JBoss BPM Suite WorkshopRed Hat JBoss BPM Suite Workshop
Red Hat JBoss BPM Suite WorkshopEric D. Schabell
 
JBoss BRMS Primer - Looking at a Business Rules Management System
JBoss BRMS Primer - Looking at a Business Rules Management SystemJBoss BRMS Primer - Looking at a Business Rules Management System
JBoss BRMS Primer - Looking at a Business Rules Management SystemEric D. Schabell
 
Service Oriented Approach to Application Modernization sept 2010
Service Oriented Approach to Application Modernization sept 2010Service Oriented Approach to Application Modernization sept 2010
Service Oriented Approach to Application Modernization sept 2010davemayo
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพอัยเหี้ยม ยัยห้อย
 

Destacado (20)

JBoss BRMS sneak peak, the future is now for your Business Processes
JBoss BRMS sneak peak, the future is now for your Business ProcessesJBoss BRMS sneak peak, the future is now for your Business Processes
JBoss BRMS sneak peak, the future is now for your Business Processes
 
Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-
 
DecisionsFrst Modeler and Red Hat JBoss BRMS
DecisionsFrst Modeler and Red Hat JBoss BRMSDecisionsFrst Modeler and Red Hat JBoss BRMS
DecisionsFrst Modeler and Red Hat JBoss BRMS
 
BRMS6.2 2016版
BRMS6.2 2016版BRMS6.2 2016版
BRMS6.2 2016版
 
A look into the crystal ball at JBoss BRMS and BPM Suite
 A look into the crystal ball at JBoss BRMS and BPM Suite A look into the crystal ball at JBoss BRMS and BPM Suite
A look into the crystal ball at JBoss BRMS and BPM Suite
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Ashok_Resume
Ashok_ResumeAshok_Resume
Ashok_Resume
 
Scala in our BRMS
Scala in our BRMSScala in our BRMS
Scala in our BRMS
 
jBPM
jBPMjBPM
jBPM
 
Decision Management : M2DL@UPS Lecture
Decision Management : M2DL@UPS LectureDecision Management : M2DL@UPS Lecture
Decision Management : M2DL@UPS Lecture
 
Decision Service Architecture - Red Hat Forum Paris 2015
Decision Service Architecture - Red Hat Forum Paris 2015Decision Service Architecture - Red Hat Forum Paris 2015
Decision Service Architecture - Red Hat Forum Paris 2015
 
Best practices webinar
Best practices webinarBest practices webinar
Best practices webinar
 
Jboss jbpm and drools 1 introduction to drools architecture
Jboss jbpm and drools   1 introduction to drools architectureJboss jbpm and drools   1 introduction to drools architecture
Jboss jbpm and drools 1 introduction to drools architecture
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
Red Hat JBoss BPM Suite Workshop
Red Hat JBoss BPM Suite WorkshopRed Hat JBoss BPM Suite Workshop
Red Hat JBoss BPM Suite Workshop
 
JBoss BRMS Primer - Looking at a Business Rules Management System
JBoss BRMS Primer - Looking at a Business Rules Management SystemJBoss BRMS Primer - Looking at a Business Rules Management System
JBoss BRMS Primer - Looking at a Business Rules Management System
 
Service Oriented Approach to Application Modernization sept 2010
Service Oriented Approach to Application Modernization sept 2010Service Oriented Approach to Application Modernization sept 2010
Service Oriented Approach to Application Modernization sept 2010
 
Best Practices in Targeted Legacy Modernization
Best Practices in Targeted Legacy ModernizationBest Practices in Targeted Legacy Modernization
Best Practices in Targeted Legacy Modernization
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
 

Similar a JBoss Business Rules Management System (BRMS) Primer

Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)martincabrera
 
Zero to Hero with the JBoss Business Rules Primer
Zero to Hero with the JBoss Business Rules Primer Zero to Hero with the JBoss Business Rules Primer
Zero to Hero with the JBoss Business Rules Primer Eric D. Schabell
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerEric D. Schabell
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEtsurdilovic
 
Spring Batch Behind the Scenes
Spring Batch Behind the ScenesSpring Batch Behind the Scenes
Spring Batch Behind the ScenesJoshua Long
 
Developing Configurable and High Performance Apps in Drools
Developing Configurable and High Performance Apps in Drools Developing Configurable and High Performance Apps in Drools
Developing Configurable and High Performance Apps in Drools Ajay Mahajan
 
KScope14 Understanding the Zombies that lurk within your system
KScope14 Understanding the Zombies that lurk within your systemKScope14 Understanding the Zombies that lurk within your system
KScope14 Understanding the Zombies that lurk within your systemAlithya
 
Tales from the Field
Tales from the FieldTales from the Field
Tales from the FieldMongoDB
 
Developing applications with rules, workflow and event processing (it@cork 2010)
Developing applications with rules, workflow and event processing (it@cork 2010)Developing applications with rules, workflow and event processing (it@cork 2010)
Developing applications with rules, workflow and event processing (it@cork 2010)Geoffrey De Smet
 
Dso job log and activation parameters
Dso job log and activation parametersDso job log and activation parameters
Dso job log and activation parameterssakthirobotic
 
Reusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de ZopeReusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de Zopementtes
 
Drooling for drools (JBoss webex)
Drooling for drools (JBoss webex)Drooling for drools (JBoss webex)
Drooling for drools (JBoss webex)Geoffrey De Smet
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionMauricio (Salaboy) Salatino
 
Oh the compilers you'll build
Oh the compilers you'll buildOh the compilers you'll build
Oh the compilers you'll buildMark Stoodley
 

Similar a JBoss Business Rules Management System (BRMS) Primer (15)

Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)
 
Zero to Hero with the JBoss Business Rules Primer
Zero to Hero with the JBoss Business Rules Primer Zero to Hero with the JBoss Business Rules Primer
Zero to Hero with the JBoss Business Rules Primer
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS Primer
 
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTEJBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
 
Spring Batch Behind the Scenes
Spring Batch Behind the ScenesSpring Batch Behind the Scenes
Spring Batch Behind the Scenes
 
Developing Configurable and High Performance Apps in Drools
Developing Configurable and High Performance Apps in Drools Developing Configurable and High Performance Apps in Drools
Developing Configurable and High Performance Apps in Drools
 
KScope14 Understanding the Zombies that lurk within your system
KScope14 Understanding the Zombies that lurk within your systemKScope14 Understanding the Zombies that lurk within your system
KScope14 Understanding the Zombies that lurk within your system
 
Tales from the Field
Tales from the FieldTales from the Field
Tales from the Field
 
Developing applications with rules, workflow and event processing (it@cork 2010)
Developing applications with rules, workflow and event processing (it@cork 2010)Developing applications with rules, workflow and event processing (it@cork 2010)
Developing applications with rules, workflow and event processing (it@cork 2010)
 
Business Rules on Hadoop
Business Rules on HadoopBusiness Rules on Hadoop
Business Rules on Hadoop
 
Dso job log and activation parameters
Dso job log and activation parametersDso job log and activation parameters
Dso job log and activation parameters
 
Reusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de ZopeReusando componentes Zope fuera de Zope
Reusando componentes Zope fuera de Zope
 
Drooling for drools (JBoss webex)
Drooling for drools (JBoss webex)Drooling for drools (JBoss webex)
Drooling for drools (JBoss webex)
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 Introduction
 
Oh the compilers you'll build
Oh the compilers you'll buildOh the compilers you'll build
Oh the compilers you'll build
 

Más de Eric D. Schabell

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Checking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureChecking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Eric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native ObservabilityEric D. Schabell
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryEric D. Schabell
 
Roadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorRoadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorEric D. Schabell
 
Cloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionCloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionEric D. Schabell
 
SRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesSRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesEric D. Schabell
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsEric D. Schabell
 
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEngaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEric D. Schabell
 
WTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionWTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionEric D. Schabell
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsEric D. Schabell
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryEric D. Schabell
 
Open Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryOpen Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native DataEric D. Schabell
 
DZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityDZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityEric D. Schabell
 
Storytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyStorytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyEric D. Schabell
 

Más de Eric D. Schabell (20)

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Checking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureChecking the pulse of your cloud native architecture
Checking the pulse of your cloud native architecture
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)
 
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Roadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorRoadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF Ambassador
 
Cloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionCloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into Action
 
SRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesSRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability Outcomes
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: Metrics
 
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEngaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
 
WTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionWTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about Production
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: Metrics
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Open Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryOpen Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetry
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data
 
DZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityDZone webinar - Shift left Observability
DZone webinar - Shift left Observability
 
Storytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyStorytelling - How to build and delivery a story
Storytelling - How to build and delivery a story
 
Shift left Observability
Shift left ObservabilityShift left Observability
Shift left Observability
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

JBoss Business Rules Management System (BRMS) Primer

  • 1. JBoss BRMS Primer Business Rules Management System (BRMS) Eric D. Schabell JBoss Technology Evangelist t: @ericschabell / e: erics@redhat.com 1
  • 2. Agenda ● Introduction ● JBoss BRMS ● Biz Rules ● Biz Process Management ● Biz Events ● Demo ● Questions 2
  • 5. Choice of Tools Business User Friendly – Web Based Developer Friendly – IDE Based 5
  • 7. Repository  Central Knowledge / Asset Repository  Store – Models, Process Def, Rule Def, Images, Anything Else  Can store and manage any kind of assets  Based on JCR 2.0  Version Control  Can also be accessed by WebDAV and HTTP  New – Access through REST  Further persists to RDBMS 7
  • 8. BRMS (+jBPM 5) Interoperability with SOA -P  SOA-P is a certified Container  Integration of jBPM 5 with ESB in 5.3 8
  • 9. Operations Management  Pluggable to JON  Monitor long running sessions  Monitor knowledgebase params for each KB  View list of running sessions  List of active rules in sessions  For each rule session params  Session params like – No. of facts – Total firing time – Avg firing time – Total activations 9
  • 10. Embed Guvnor Editors in Custom Applications  Embed Any editor in your app  Guvnor webapp should be running  BRL Editor mode – no repo saving  Existing Asset Editor mode – save to repo  New Asset Editor mode  Use JavaScript to interact with editor  Use Http to interact with Guvnor app 10
  • 11. Agenda ● Introduction ● JBoss BRMS ● Biz Rules ● Biz Process Management ● Biz Events ● Demo ● Questions 11
  • 12. JBoss BRMS What is a rule? ● In short, a rule is an premise and conclusion ● If it is raining, then the ground must be wet ● A rule is made of conditions and actions. When all the conditions are met, a rule may “fire”. ● The conditions are collectively referred to as the LHS (left hand side) and the actions are referred to as the RHS (right hand side, or consequence). ● A rule operates on facts (data). In our case, these facts are instances of objects in our application. 12
  • 13. JBoss BRMS What is inferencing? ● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing) 13
  • 14. JBoss BRMS What is inferencing? ● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing) 14
  • 15. JBoss BRMS What is inferencing? ● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing) 15
  • 16. JBoss BRMS What is inferencing? ● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing) 16
  • 17. JBoss BRMS What is inferencing? ● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing) 17
  • 18. Golfing Configuration Example Rules in action 18
  • 19. Golfing Configuration Example There are four Golfers standing at a tee, in a line from left to right: • The golfer to Fred’s immediate right is wearing blue pants • Joe is second in line • Bob is wearing plaid pants • Tom isn’t in position one or four, and he isn’t wearing the orange pants 19
  • 20. Create all possible combinations String[] names = new String[]{"Fred", "Joe", "Bob", "Tom"}; String[] colors = new String[]{"red", "blue", "plaid”,"orange" }; int[] positions = new int[] {00, 2, 3, 4}; for ( int n = 0; n < names.length; n++ ) { for ( int c = 0; c < colors.length; c++ ) { for ( int p = 0; p < positions.length; p++ ) { new Golfer(names[n], colors[c], positions[p]); } } } 20
  • 21. Fred • There is a golfer named Fred // There is a golfer named Fred fred : Golfer( name == "Fred" ) 21
  • 22. Joe • Joe is second in line // Joe is in position 2 joe : Golfer( name == "Joe”, position == 2 && != fred.position, color != fred.color ) 22
  • 23. Bob • Bob is wearing plaid pants // Bob is wearing plaid pants bob : Golfer( name == "Bob", position != fred.position && != joe.position, color == "plaid" && != fred.color && != joe.color ) 23
  • 24. Tom • Tom isn’t in position one or four, and he isn’t wearing the orange pants // Tom isn't in position 1 or 4 // and isn't wearing orange tom : Golfer( name == "Tom", position not in (1, 4, fred.position, joe.position, bob.position), color not in ("orange", "blue", fred.color, joe.color, bob.color)) 24
  • 25. Fred's neighbor • The golfer to Fred's immediate right is wearing blue pants // The golfer to Fred's immediate right // is wearing blue pants Golfer ( position == (fred.getPosition() + 1), color == "blue", this in ( joe, bob, tom ) ) 25
  • 26. Results System.out.println( "Fred's position is " + fred.getPosition() + " and his color is " + fred.getColor() ); System.out.println( "Joe's position is " + joe.getPosition() + " and his color is " + joe.getColor() ); System.out.println( "Bob's position is " + bob.getPosition() + " and his color is " + bob.getColor() ); System.out.println( "Tom's position is " + tom.getPosition() + " and his color is " + tom.getColor() ); Fred 1 orange Joe 2 blue Bob 4 plaid Tom 3 red 26
  • 27. Conclusions • Rules technology provides a new way to create business applications, where business logic is “declared” in a rule language, instead of a traditional procedural language. • Rule engines are good for solving complex problems that don't have any other way to solve. • Business Rule Management Systems can be used to manage thousands of rules. 27
  • 28. JBoss BRMS Inference Engine ● The brain of a Production Rule System is an Inference Engine which matches facts against Production Rules. ● When matches are found, the rules actions are fired. ● Actions most often change the state of the facts, or perform some external action on the application. 28
  • 29. Conceptual example Stateful / Stateless Knowledge Knowledge Base Session Rule package Agenda (artifacts) 29
  • 30. Example: real BPM Stateful Knowledge Knowledge Base Session Process Process Definition Instance 30
  • 31. JBoss BRMS How it Works Agenda Rule Activation Rule Rule 1.Parse DRL RuleBase Rule Fact Rule Rule Activation Fact 2. Create Rule Fact Fact Fact Fact 3. Assert Facts WorkingMemory Fact Fact Fact Fact Fact es Fact ul Fact R ll A re Fi Rule (5) activation Rule -> consequence 4. Rule Rule Rule 31
  • 32. Rules Engine  Support Inference  Implements ReteOO algorithm  Embeddable, lightweight  Highly performant  Scalable and most stable  Supports Declarative Programming 32
  • 34. All new Decision Table: Business User Friendly  Intuitive and powerful interface for any users  Ability to visually create large set of business rules  Quick validation of rules  Verify coverage for all conditions 34
  • 35. Decision Tables – Supported Categorization  Multi hit, all hit  Conditions are not mutually exclusive  All matching rules executed  Multi hit, first hit  Conditions are not mutually exclusive.  First matching rule executes  Single hit  Exactly One rule fires  No ambiguity 35
  • 36. Rule Templates Loading Template Data 36
  • 37. BRMS 5.3 – Other New Features  Backward Chaining – Full Support  Lazy Truth Maintenance – enabled automagically when needed  Free form expression in constraints: Enables writing complex expressions and nested accessors Person( age * 2 > $anotherPersonsAge + 2 ) // mathematical expressions Person( addresses["home"].streetName.startsWith( "High Park" ) ) // method calls and collections simplified syntax Person( isAdult() ) // boolean expression without relational operator Cheese( ) from [ $stilton, $brie, $provolone ] // inline list creation and iteration  Performance enhancements ● Optimized parser enhances  Modularity enabled for OSGI set up 37
  • 38. Developer Perspective JBoss Developer Studio Fact Model DSL Template Check-In Artifacts to Repository JBoss BRMS Web Manager Use Facts & DSL to create Business Rules J2SE EAP- WS,WAR,EAR Deployment SOA-P, Mediated Services JBoss BRMS Web JBoss BRMS Web Manager Manager Create Test Scenarios Create Package 38
  • 39. Eclipse – Developer Perspective 39
  • 40. Debugging Debug Views ● New rule “perspective” to configure IDE for rules as needed 40
  • 41. Guided Rule Editor (Eclipse) Eclipse Guided Editor 41
  • 42. Agenda ● Introduction ● JBoss BRMS ● Biz Rules ● Biz Process Management ● Biz Events ● Demo ● Questions 42
  • 44. Typical Business Process Lifecycle Improve 44
  • 45. Process Modeling Web Based Modeling Tools IDE Based Modeling Tools  Create BPMN2 Process Definition  Common Design Time Repository – Store, Manage, Version  Create Process Definitions, Validate, Package, Deploy  Develop User forms, integrate other Business Assets (rules etc)  Import BPMN2 Definitions 45
  • 46. Process Designer Highlights  Fully Integrated with BRMS Guvnor – On-stop business modeling tool  Rich set of BPMN2 elements – Drag and drop on canvas  Domain Specific Nodes – Add your own tasks to the list  Generate PDF or PNG documents of process definition  Embeddable Designer – Allows adopting designer in your own tool 46
  • 47. Process Designer Highlights – User Forms  Create Task Forms and Process Forms in the designer  Forms necessary for Workflow kick off and Human task inputs  These forms are used when process instance is created – Business Central  Inline editing within the process definition 47
  • 48. Process Designer Highlights – Visual Process Validation  Visually validate the process definition before packaging 48
  • 49. Process Deployment – Loading Process Definition  Load Definitions through Business Central  Use Knowledge API to programmatically load 49
  • 50. Process Execution - Process Engine Highlights  Lightweight, Embeddable, Extensible  Manages State Transition  Native BPMN2 Execution  Use out of the box Persistence and Transaction  Or Plugin your Own Persistence and Transaction  Spring, Camel and OSGi Integration 50
  • 51. Process Execution - Task Server Highlights  Independent Task Management Server  Manages Lifecycle of Human Tasks – Creation, Claim, Completion etc  Support for Assignment, Delegation, deadlines, calendar integration, internationalization etc.  Manages its own state persistence – different from process data persistence  WS-HT Based  Accessible both by Synchronous and Asynchronous communication  HornetQ is the default transport.  Works with Apache Mina  Accessible through REST interface 51
  • 52. Process Monitoring – Business Central  One-stop Web Based Center for Managing Business Operations  Manage and Monitor Business Processes  Manage Human Tasks  Plug your own reporting tool and create reports  Role based authentication – configurable to any JaaS / LDAP  REST Interface for programmatic access to functions 52
  • 53. Business Central – Monitoring Processes  View all process definitions that are installed in knowledgebase  Instantiate a process instance – Inline input Process Input form  Manage running processes – Start, Terminate, Delete, Signal  Inspect State of a Process Instance and Execution Details 53
  • 54. Business Central – Managing Tasks  View Assigned (personal) tasks and Un-assigned (group) tasks  Claim a Task, Execute a Task, Release a Task  Complete inline user task forms 54
  • 55. Process Monitoring – Reporting  Powerful Knowledge APIs, REST interface  Leverage power of CEP for realtime reporting  Easy to integrate popular 3rd party reporting solutions  Will supply how to guides  Placeholder for dashboard. No out of the box reporting in the product 55
  • 56. Agenda ● Introduction ● JBoss BRMS ● Biz Rules ● Biz Process Management ● Biz Events ● Demo ● Questions 56
  • 57. Event Processor  CEP Engine enables - – Event Detection: Cloud mode and Stream mode – Temporal Reasoning (correlation) – reason over aggregation – Abstraction – Compose complex events and reason over them  CEP Engine Supports: – Event Semantics (point in time and interval) as first class citizen analogous to rule semantics – Support both point in time (as interval with zero duration) and interval semantics – Ability to apply temporal constraints – Use Session clocks: Support Realtime (system) clock, Psedo Clock (controlled by application) – Sliding window support – Ability to scale to high volume of events 57
  • 58. CEP Modes Cloud Mode Stream Mode  Default Mode – All facts and events are loaded  Events must be time-ordered before reasoning  Engine synchronizes between streams  Many to many pattern matching by the engine using session clock  No notion of flow of time, no clock synchronization  Engine applies the notion of flow  Ordering is not required  Engine manages the event lifecycle  Event lifecycle managed by user  Sliding window option could be used  Sliding window is not needed  Negative patterns could be used. Ex. Fire detected, no sprinkler turned on in 10 sec sound alarm 58
  • 59. Temporal Relationships when when Shipment( $pickupTime :: scheduledPickupTime )) Shipment( $pickupTime scheduledPickupTime Temporal Relationship not ShipmentPickup( this before $pickupTime )) not ShipmentPickup( this before $pickupTime then then // shipment not picked up... Action required. // shipment not picked up... Action required. end end rule “Shipment not picked up in time” rule “Shipment not picked up in time” 13 Operators are Supported  Event A before Event B  Event A coincides Event B  Event A meets Event B  Event A after Event B  Event A overlaps Event B  Event A metBy Event B  Event A finishes Event B  Event A overlapedBy Event B  Event A includes Event B  Event A finishedBy Event B  Event A starts Event B  Event A during Event B  Event A finishes Event B 59
  • 60. CEP – Sliding Windows Sliding window 1 Sliding window 2 Joined window Sliding Time Window Sliding Length Window - Reason Over events occurring next set time duration - Reason Over set number of events occuring Example: Raise alarm if avg temp reading from Example: Raise alarm if avg temp from last 100 sensor over last 10m is above the threshold sensor readings is above the threshold rule "Sound the alarm in case temperature rises above rule "Sound the alarm in case temperature rises above threshold" threshold" when when TemperatureThreshold( $max : max ) TemperatureThreshold( $max : max ) Number( doubleValue > $max ) from accumulate( Number( doubleValue > $max ) from accumulate( SensorReading( $temp : temperature ) over SensorReading( $temp : temperature ) over window:time( 10m ), window:length( 100 ), average( $temp ) ) average( $temp ) ) then then // sound the alarm // sound the alarm end end 60
  • 61. Apply CEP operators for Rules  Apply 13 operators available  Define sliding time window or length 61
  • 62. Demo https://github.com/eschabell/brms-customer-evaluation-demo https://github.com/eschabell/brms-rewards-demo 62
  • 63. JBoss BRMS, the future is now

Notas del editor

  1. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  2. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  3. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  4. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  5. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  6. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  7. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  8. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  9. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  10. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  11. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  12. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  13. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  14. A rule “logically” inserts an object When the rule is no longer true, the object is retracted. when $p : Person( age &lt; 16 ) then logicalInsert( new IsChild( $p ) ) end when $p : Person( age &gt;= 16 ) then logicalInsert( new IsAdult( $p ) ) End ule &quot;Issue Child Bus Pass&quot; when $p : Person( ) IsChild( person =$p ) then logicalInsert(new ChildBusPass( $p ) ); end rule &quot;Issue Adult Bus Pass&quot; when $p : Person( age &gt;= 16 ) IsAdult( person =$p ) then logicalInsert(new AdultBusPass( $p ) ); End rule &quot;Issue Child Bus Pass&quot; when $p : Person( ) not ( ChildBusPass( person == $p ) ) then requestChildBusPass( $p ); end de-couples the logic Maintains the truth by automatically retracting The truth maintenance cascades
  15. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  16. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  17. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  18. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  19. JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments