SlideShare una empresa de Scribd logo
1 de 45
Agenda

 JBoss BRMS overview
       JBoss BRMS benefits
 JBoss BRMS and Guvnor
 JBoss BRMS Assets
       package
       facts
       working sets
       rules
       decision tables
       test scenarios
       event process processing (CEP)
       other assets
 JBPM5 processes
 JBoss BRMS authoring
 JBoss BRMS deployment
 Eclipse integration
 Rule agents
JBoss BRMS:
 The enterprise platform for
 Business Logic Integration

Giovanni Marigi
gmarigi at redhat.com

JBoss Consultant
Red Hat, Inc.
Codemotion 2012         Except where otherwise noted, content on this work is licensed under a
                        Creative Commons Attribution 3.0 License.
Agenda

 JBoss BRMS overview
       JBoss BRMS benefits
 JBoss BRMS and Guvnor
 JBoss BRMS Assets
       package
       facts
       working sets
       rules
       decision tables
       test scenarios
       event process processing (CEP)
       other assets
 JBPM5 processes
 JBoss BRMS authoring
 JBoss BRMS deployment
 Eclipse integration
 Rule agents
JBoss BRMS Overview

  BRMS (business rules management system)
   a software where to define and externalize the business and
   decision logic used inside programs inside an organization
JBoss BRMS Overview
JBoss BRMS Overview
BRMS
a single platform for business modeling including different technologies

JBoss BRMS includes:
Expert: Rule Engine
Expert
Flow/JBPM5 : Rules Process Management
Fusion: Complex Event Processing
Fusion
Guvnor: BRMS “front end” and repository for BRMS artifacts
Guvnor

JBoss BRMS is distributed:
   . war archive
   . already packaged with an EAP/EWP
   . ready for AS7
JBoss BRMS overview: main features


   Centralized repository of business assets
   Version control of business assets
   IDE/User tools to define and to “governance” the decision logic
   Build, deploy, testing of decision logic
   Packages of business assets
   Categorization of business assets
   Roundtrip, integration with dev Tools (Eclipse)
   JCR repository (jackrabbit or modeshape) for assets
   Repository can also be accessed via
    REST API - HTTP (WebClient) - WebDAV
   BRMS can be configured for high availabilty (clustering)
JBoss BRMS overview: benefits



   Logic and data separation
   Cross domain logic
   Reuse, logic opened to changes
   Easy to maintain the business logic
   Changes in live systems
   Several stakeholders can contribute in defining the business logic
    (Business Analyst, Rule expert, Developer, Administrators)
JBoss BRMS and Guvnor




 Drools Guvnor 5.4.0 Beta1         BRMS 5.2 last stable
 Drools Guvnor 5.3.0 last stable   BRMS 5.2 includes:
                                      - Drools Guvnor 5.2
 Drools Guvnor 5.3.0 includes:
                                      - Drools Expert 5.2
      Expert 5.3 (rule engine)
                                      - Drools Fusion 5.2
      Fusion 5.3 (CEP)
      Flow/JBPM5                   BRMS 5.3 (next release) will be
                                    based on Guvnor 5.3
 Eclipse + JBoss Tools
                                   JBoss Developer Studio
                                   Bug fixing,patching
                                    SLA
                                    Enterprise certification | QA
JBoss BRMS and Guvnor




      Feature                                                Community   Enterprise
      Open Source                                                x           x
      Benefits from testing by worldwide Community               x           x
      Recommended for Production Use                                         x
      Patch Update & Service Pack Program                                    x
      Security Errata Program                                                x
      Automated Software Update & Alert Service                              x
      Defect & Feature Escalation & Prioritization Process                   x
      Developer Support                                                      x
      24x7 Production Support & Services                                     x
      Platform Certifications & Training Certifications                      x
      Defined Support SLA and End-of-Life Policy                             x
      Out-of-the-Box Configured for Enterprise Use                           x
      Operations Management Tools                                            x
      Platform testing & certification process                               x
      Redistribution of modified JBoss technologies                          x
      Red Hat Open Source Assurance (Legal Protection)                       x
JBoss BRMS assets



   Every artifact inside a BRMS is an asset
   The assets define a knowledge base
   Business logic is made by several assets:
        facts (domain model)
        rules
        business processes (workflows)
        decision tables
        functions
        more...
   Not only business rules!
JBoss BRMS assets: Package


                                              How to start?
                                              define a new package for
                                              business assets




                      Guvnor Knowledge base
JBoss BRMS assets: Model/Facts

  A package must contain at least a fact model
  fact model != domain model
    a fact model typically overlaps a domain model but better to
    make it decouple from the domain model
  Rules and assets reason upon a fact model
  Two ways to do define your fact model:
      - upload a JAR file containing Java Classes
      - declare a model within Guvnor
JBoss BRMS assets: Working Sets

  Working sets are groups of facts
  Use them to put constraints on a group of facts and restrict the
   “reasoning domain” of your business rules
  Disabled by default
JBoss BRMS assets: Rules

  Rules are the “backbone” of a BRMS
  Don't use a BRMS if you don't have business rules
  Don't use a BRMS if you don't want or you can't separate logic
   from data
  Rules are processed and evaluated by a Rule Engine
   (Drools Expert)
  Forward chaining rule engine which implements the RETE
    algorithm (ReteOO)
  Rich native language to define rules
  A rule is contained in a DRL file
  More info on Drools Expert:
   JBug Italy slideshare site:
   http://www.slideshare.net/jbugrome
JBoss BRMS assets: Rules




 Rule Engine




                           Forward chaining
JBoss BRMS assets: Rules


Anatomy of a rule


                            Example of a rule
                            rule "Approve if not rejected"
                             salience -100
                             agenda-group "approval"
                               when
                                  not Rejection()
                                  p : Policy(approved == false,policyState:status )
                                  exists Driver(age > 25)
                                  Process(status == policyState)
                               then
                                  log("APPROVED: due to no objections.");
                                  p.setApproved(true);
                            end
JBoss BRMS assets: Rules



Inside BRMS there 4 ways to create
a rule:

   - from scratch,code;
   (requires knowledge of Expert)

   - using the guided editor
   (can be used DSL assertions)

   - uploading a decision table
   spreadsheet

   - creating a decision table
   spreadsheet via the guided editor
JBoss BRMS assets: Rules

Rules can be validated inside BRMS
JBoss BRMS assets: Rules

Rules with the guided editor
JBoss BRMS assets: Decision Tables

Express rules with a spreadsheet
A spreadsheet can be imported or created via the
guided web editor
A wizard generator for spreadsheet is available in
BRMS!
A decision table at runtime is transformed in a series
of DRL rules
JBoss BRMS assets: Test Scenarios

Test scenarios are assets used to validate that the rules inside
the knowledge base (package) works as expected
A scenario is made by a given section (list of facts and its initial
state) and an expect section
What we can “assert” in a expect section?

- Rule
Validate that a certain rule fired.

- Fact value
Validate fact values for a fact created in the Given section.

-Any fact that matches
Validate that there is at least one fact in the knowledge base
with the specified field values.
JBoss BRMS assets: Test Scenarios
JBoss BRMS assets: CEP

                         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
JBoss BRMS assets: CEP

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



   13 Operators are Supported
Event A before Event B                                      Event A coincidces 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
JBoss BRMS assets: CEP




 Apply 13 operators available

 Define sliding time window or length
JBoss BRMS other assets

  Spring context
   editor to define spring context files;once created they are
   accessible via HTTP inside the package
  DSL functions
   Define rules in a domain specific language
  Enumeration
   Enum data to be used in rules
  Functions
  Rule templates
JBoss BRMS other assets

A guided rule with DSL assertions
JBoss BRMS assets: JBPM5

A workflow is a process that describes the order in which a series of
steps need to be executed, using a flow chart.
JBPM5 is based on Drools Flow
Workflow guided by rules
Rule workflows are the new “generation” of business workflows
Rules + workflow: dynamic processes




          Available in
          BRMS 5.3
JBoss BRMS assets: JBPM5

JBPM5 workflow are BPMN2 processes
No legacy xml to define the workflow but a standard!
Human task (human interaction with a flow)
The task service implementation is based on the
WS-HumanTask (WS-HT) specification
Rule Task:
use drools rules inside the flow
Pluggable Service Task (work items):
nodes with custom logic
(e.g. DBControl, EJBControl, EmailControl)
Gateway (split,converge)
the decision in a gateway can be taken by a drools rule!
Events (start,end,intermediate)
Timers
JBoss BRMS assets: JBPM5

BPMN2 editor in Eclipse
BPMN2 editor in BRMS (web designer)
BRMS can upload BPMN2 processes designed with other BPMN2
modeling tool
Automatic creation of human task forms
Validation of BPMN2 processes
Online repository to download ready to use service tasks
JBPM Service repository
JBPM 3 to 5 migration tool
https://github.com/droolsjbpm/jbpmmigration
JBoss BRMS assets: JBPM5




                           When defined a new work item
                           is available inside Eclipse
JBoss BRMS assets: JBPM5

Web Designer integrated inside BRMS (starting from BRMS 5.3)
JBoss BRMS authoring

  Every asset in BRMS is versioned; every time an asset changes
   a new version number is attached
  Assets anyway can't be
   branched or tagged!
  An asset contains meta data
   information
  Assets can be categorized
  An asset can be linked to
   many categories
  Categories don't have any meaning
   at runtime; useful to order the assets
  An asset can have a status
   (e.g “Draft”, “Completed”);
   it's a sort of label
JBoss BRMS authoring

  A package otherwise is versioned on demand, taking a snapshot
    for deployment
  Creating a snapshot means that the BRMS package is ready to
    be used from external application
  Before taking a snapshot a build package is required
  With a build every assets inside the package is validated
  Status and Categories can be used to select only specific
    assets to include inside a snapshot (Use selector)
    (e.g. create a snaposhot only with assets belonging to category
    “Fraud” and with Status “Completed”)
  A snapshot will be published inside the repository and accessible
    via a URL
JBoss BRMS authoring
JBoss BRMS deployment
JBoss BRMS deployment




  Stand Alone Package   Lightweight Package
  Well integrated       Flexibility of Container
  Best Out of the Box   Deploy to lightweight
  Experience            containers like Tomcat
JBoss BRMS Eclipse integration

  Eclipse can be configured to import the resources (assets)
   published in BRMS
  Assets can be edited in Eclipse and committed to BRMS
   (complete roundtrip)
  Eclipse gives the capability to compare different version of the
   same asset
  Requires JBoss Developer Studio 4.x or Eclipse 3.6.x + JBoss
   Tools
  File --> Import --> Guvnor --> Resources from Guvnor
JBoss BRMS Eclipse integration
JBoss BRMS Rule Agent

  How to use a BRMS package inside your
   application?

  Create a Drools RuleAgent able to get (download) its
    KnowledgeBase from BRMS
  Define a change-set.xml (simple xml file) file where the BRMS
   packages are listed
  The KnowledgeBase is the entry point to fire rules, execute bpmn
    processes,...
JBoss BRMS Rule Agent
  KnowledgeAgent kagent =
        KnowledgeAgentFactory.newKnowledgeAgent("MyAgent", kaconf);
    kagent.applyChangeSet(
        ResourceFactory.newClassPathResource("change-set.xml"));KnowledgeBase
    kbase = kagent.getKnowledgeBase();

    change.set.xml
  <?xml version="1.0" encoding="UTF-8"?>
    <change-set xmlns="http://drools.org/drools-5.0/change-set"
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
    xs:schemaLocation="http://drools.org/drools-5.0/change-set
    http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-
    api/src/main/resources/change-set-1.0.0.xsd" >
  <add>
     <resource
    source="http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/JBUG/LATE
    ST" type="PKG" basicAuthentication="enabled" username="uid" password="pwd"/>
   </add>
  </change-set>
JBoss BRMS Rule Agent

  What to do with a KnowledgeBase?
    start a process and insert some fact instances to be evaluated
    inside a process RuleTask

   final StatefulKnowledgeSession ksession = kagent.getKnowledgeBase();

   //insert fact instances in kb
   ksession.insert(new Car("AudiA4",4));
   ksession.startProcess("Process1");
   ksession.fireAllRules();
   ksession.dispose()
Resources

 http://www.jboss.org/drools/lists
 http://www.jboss.org/jbpm/lists
 IRC server: irc.codehaus.org
 Channels: #drools #guvnor #jbpm




             THAT'S ALL FOLKS!
JBoss BRMS:
The enterprise platform for
Business Logic Integration

THANKS!
gmarigi at redhat.com


                        Except where otherwise noted, content on this work is licensed under a
                        Creative Commons Attribution 3.0 License.

Más contenido relacionado

La actualidad más candente

JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsAndrea Leoncini
 
2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introductionMike Marin
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyalIBM
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindseyRoopa Nadkarni
 
Overcoming contradictions mike-o_rourke
Overcoming contradictions mike-o_rourkeOvercoming contradictions mike-o_rourke
Overcoming contradictions mike-o_rourkeIBM
 
Opportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonOpportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonIBM
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyIBM
 
Semantic Enterprise Architecture
Semantic Enterprise ArchitectureSemantic Enterprise Architecture
Semantic Enterprise ArchitectureMichael zur Muehlen
 
Rebecca White, Pmp
Rebecca White, PmpRebecca White, Pmp
Rebecca White, PmpRebeccaWhite
 
5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-rameshIBM
 

La actualidad más candente (14)

JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
 
2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction2009 11-04 mm (carson, california - csu-dh) bpm introduction
2009 11-04 mm (carson, california - csu-dh) bpm introduction
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindsey
 
Overcoming contradictions mike-o_rourke
Overcoming contradictions mike-o_rourkeOvercoming contradictions mike-o_rourke
Overcoming contradictions mike-o_rourke
 
Opportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinsonOpportunities in challenging_times-steve_robinson
Opportunities in challenging_times-steve_robinson
 
MCIF- Per Kroll
MCIF-  Per KrollMCIF-  Per Kroll
MCIF- Per Kroll
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
 
Gated methodology alignment artifact and timing matrix
Gated methodology alignment artifact and timing matrixGated methodology alignment artifact and timing matrix
Gated methodology alignment artifact and timing matrix
 
Semantic Enterprise Architecture
Semantic Enterprise ArchitectureSemantic Enterprise Architecture
Semantic Enterprise Architecture
 
An Agile DevOps Journey
An Agile DevOps JourneyAn Agile DevOps Journey
An Agile DevOps Journey
 
Rebecca White, Pmp
Rebecca White, PmpRebecca White, Pmp
Rebecca White, Pmp
 
5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh5 rqm gdd-sharmila-ramesh
5 rqm gdd-sharmila-ramesh
 

Destacado

Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Masahiko Umeno
 
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 presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrixJBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrixrunsignup
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Serveracosdt
 
The JBoss Way, the Added Value of Open Source Middleware
The JBoss Way, the Added Value of Open Source MiddlewareThe JBoss Way, the Added Value of Open Source Middleware
The JBoss Way, the Added Value of Open Source MiddlewareEric D. Schabell
 
JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003runsignup
 
JBoss Enterprise Overview by Quinten Laureijs
JBoss Enterprise Overview by Quinten LaureijsJBoss Enterprise Overview by Quinten Laureijs
JBoss Enterprise Overview by Quinten LaureijsJoram Barrez
 
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
 
JBoss AS7 Overview
JBoss AS7 OverviewJBoss AS7 Overview
JBoss AS7 OverviewJBug Italy
 
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
 
JBoss at Work: Using JBoss AS 6
JBoss at Work: Using JBoss AS 6JBoss at Work: Using JBoss AS 6
JBoss at Work: Using JBoss AS 6Saltmarch Media
 
Intro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGIntro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGRay Ploski
 
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdlMike Marin
 
Decision services for soa platforms
Decision services for soa platformsDecision services for soa platforms
Decision services for soa platformsPliant Framework
 
Business rules management system
Business rules management systemBusiness rules management system
Business rules management systemPliant Framework
 

Destacado (20)

BRMS6.2 2016版
BRMS6.2 2016版BRMS6.2 2016版
BRMS6.2 2016版
 
Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-Application Architecture -Data, Process, Rule-
Application Architecture -Data, Process, Rule-
 
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
 
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
 
JBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrixJBoss presentation 2003 11 for matrix
JBoss presentation 2003 11 for matrix
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
 
The JBoss Way, the Added Value of Open Source Middleware
The JBoss Way, the Added Value of Open Source MiddlewareThe JBoss Way, the Added Value of Open Source Middleware
The JBoss Way, the Added Value of Open Source Middleware
 
JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003
 
JBoss Enterprise Overview by Quinten Laureijs
JBoss Enterprise Overview by Quinten LaureijsJBoss Enterprise Overview by Quinten Laureijs
JBoss Enterprise Overview by Quinten Laureijs
 
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
 
JBoss AS7 Overview
JBoss AS7 OverviewJBoss AS7 Overview
JBoss AS7 Overview
 
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
 
JBoss at Work: Using JBoss AS 6
JBoss at Work: Using JBoss AS 6JBoss at Work: Using JBoss AS 6
JBoss at Work: Using JBoss AS 6
 
Intro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUGIntro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUG
 
JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6
 
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl
2007 11-09 mm (costa rica - incae cit omg) modeling with bpmn and xpdl
 
Decision services for soa platforms
Decision services for soa platformsDecision services for soa platforms
Decision services for soa platforms
 
Business rules management system
Business rules management systemBusiness rules management system
Business rules management system
 

Similar a JBoss BRMS - The enterprise platform for business logic

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
 
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
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayKris Verlaenen
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerEric D. Schabell
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsBaruch Sadogursky
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsChris Bailey
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsChris Bailey
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
IzPack at Devoxx 2010
IzPack at Devoxx 2010IzPack at Devoxx 2010
IzPack at Devoxx 2010julien.ponge
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open SourceJustin Reock
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)John Pape
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksKenneth Peeples
 
MySQL Monitoring Shoot Out
MySQL Monitoring Shoot OutMySQL Monitoring Shoot Out
MySQL Monitoring Shoot OutKris Buytaert
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsSalesforce Developers
 
Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Tim Hobson
 
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxPowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxprabhatthunuguntla
 

Similar a JBoss BRMS - The enterprise platform for business logic (20)

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
 
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
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
Singapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS PrimerSingapore JBUG - JBoss BRMS Primer
Singapore JBUG - JBoss BRMS Primer
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
 
JBPM Past Present Future
JBPM Past Present FutureJBPM Past Present Future
JBPM Past Present Future
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java Tools
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic Tools
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
IzPack at Devoxx 2010
IzPack at Devoxx 2010IzPack at Devoxx 2010
IzPack at Devoxx 2010
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open Source
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
Droidcon Paris 2015
Droidcon Paris 2015Droidcon Paris 2015
Droidcon Paris 2015
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
 
MySQL Monitoring Shoot Out
MySQL Monitoring Shoot OutMySQL Monitoring Shoot Out
MySQL Monitoring Shoot Out
 
Javascript-heavy Salesforce Applications
Javascript-heavy Salesforce ApplicationsJavascript-heavy Salesforce Applications
Javascript-heavy Salesforce Applications
 
Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014
 
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxPowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
 

Más de JBug Italy

JBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testingJBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testingJBug Italy
 
Camel and JBoss
Camel and JBossCamel and JBoss
Camel and JBossJBug Italy
 
Intro jbug milano_26_set2012
Intro jbug milano_26_set2012Intro jbug milano_26_set2012
Intro jbug milano_26_set2012JBug Italy
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzJBug Italy
 
Infinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGMInfinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGMJBug Italy
 
Intro JBug Milano - January 2012
Intro JBug Milano - January 2012Intro JBug Milano - January 2012
Intro JBug Milano - January 2012JBug Italy
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
 
Intro JBug Milano - September 2011
Intro JBug Milano - September 2011Intro JBug Milano - September 2011
Intro JBug Milano - September 2011JBug Italy
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridJBug Italy
 
Drools Introduction
Drools IntroductionDrools Introduction
Drools IntroductionJBug Italy
 
September 2010 - Arquillian
September 2010 - ArquillianSeptember 2010 - Arquillian
September 2010 - ArquillianJBug Italy
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - GateinJBug Italy
 
May 2010 - Infinispan
May 2010 - InfinispanMay 2010 - Infinispan
May 2010 - InfinispanJBug Italy
 
May 2010 - RestEasy
May 2010 - RestEasyMay 2010 - RestEasy
May 2010 - RestEasyJBug Italy
 
May 2010 - Drools flow
May 2010 - Drools flowMay 2010 - Drools flow
May 2010 - Drools flowJBug Italy
 
May 2010 - Hibernate search
May 2010 - Hibernate searchMay 2010 - Hibernate search
May 2010 - Hibernate searchJBug Italy
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 

Más de JBug Italy (20)

JBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testingJBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testing
 
Camel and JBoss
Camel and JBossCamel and JBoss
Camel and JBoss
 
AS7 and CLI
AS7 and CLIAS7 and CLI
AS7 and CLI
 
Intro jbug milano_26_set2012
Intro jbug milano_26_set2012Intro jbug milano_26_set2012
Intro jbug milano_26_set2012
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
Infinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGMInfinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGM
 
AS7
AS7AS7
AS7
 
Intro JBug Milano - January 2012
Intro JBug Milano - January 2012Intro JBug Milano - January 2012
Intro JBug Milano - January 2012
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7
 
Intro JBug Milano - September 2011
Intro JBug Milano - September 2011Intro JBug Milano - September 2011
Intro JBug Milano - September 2011
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data Grid
 
Drools Introduction
Drools IntroductionDrools Introduction
Drools Introduction
 
September 2010 - Arquillian
September 2010 - ArquillianSeptember 2010 - Arquillian
September 2010 - Arquillian
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - Gatein
 
May 2010 - Infinispan
May 2010 - InfinispanMay 2010 - Infinispan
May 2010 - Infinispan
 
May 2010 - RestEasy
May 2010 - RestEasyMay 2010 - RestEasy
May 2010 - RestEasy
 
May 2010 - Drools flow
May 2010 - Drools flowMay 2010 - Drools flow
May 2010 - Drools flow
 
May 2010 - Hibernate search
May 2010 - Hibernate searchMay 2010 - Hibernate search
May 2010 - Hibernate search
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 

Último

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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
🐬 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
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

JBoss BRMS - The enterprise platform for business logic

  • 1. Agenda JBoss BRMS overview JBoss BRMS benefits JBoss BRMS and Guvnor JBoss BRMS Assets package facts working sets rules decision tables test scenarios event process processing (CEP) other assets JBPM5 processes JBoss BRMS authoring JBoss BRMS deployment Eclipse integration Rule agents
  • 2. JBoss BRMS: The enterprise platform for Business Logic Integration Giovanni Marigi gmarigi at redhat.com JBoss Consultant Red Hat, Inc. Codemotion 2012 Except where otherwise noted, content on this work is licensed under a Creative Commons Attribution 3.0 License.
  • 3. Agenda JBoss BRMS overview JBoss BRMS benefits JBoss BRMS and Guvnor JBoss BRMS Assets package facts working sets rules decision tables test scenarios event process processing (CEP) other assets JBPM5 processes JBoss BRMS authoring JBoss BRMS deployment Eclipse integration Rule agents
  • 4. JBoss BRMS Overview BRMS (business rules management system) a software where to define and externalize the business and decision logic used inside programs inside an organization
  • 6. JBoss BRMS Overview BRMS a single platform for business modeling including different technologies JBoss BRMS includes: Expert: Rule Engine Expert Flow/JBPM5 : Rules Process Management Fusion: Complex Event Processing Fusion Guvnor: BRMS “front end” and repository for BRMS artifacts Guvnor JBoss BRMS is distributed: . war archive . already packaged with an EAP/EWP . ready for AS7
  • 7. JBoss BRMS overview: main features Centralized repository of business assets Version control of business assets IDE/User tools to define and to “governance” the decision logic Build, deploy, testing of decision logic Packages of business assets Categorization of business assets Roundtrip, integration with dev Tools (Eclipse) JCR repository (jackrabbit or modeshape) for assets Repository can also be accessed via REST API - HTTP (WebClient) - WebDAV BRMS can be configured for high availabilty (clustering)
  • 8. JBoss BRMS overview: benefits Logic and data separation Cross domain logic Reuse, logic opened to changes Easy to maintain the business logic Changes in live systems Several stakeholders can contribute in defining the business logic (Business Analyst, Rule expert, Developer, Administrators)
  • 9. JBoss BRMS and Guvnor Drools Guvnor 5.4.0 Beta1 BRMS 5.2 last stable Drools Guvnor 5.3.0 last stable BRMS 5.2 includes: - Drools Guvnor 5.2 Drools Guvnor 5.3.0 includes: - Drools Expert 5.2 Expert 5.3 (rule engine) - Drools Fusion 5.2 Fusion 5.3 (CEP) Flow/JBPM5 BRMS 5.3 (next release) will be based on Guvnor 5.3 Eclipse + JBoss Tools JBoss Developer Studio Bug fixing,patching SLA Enterprise certification | QA
  • 10. JBoss BRMS and Guvnor Feature Community Enterprise Open Source x x Benefits from testing by worldwide Community x x Recommended for Production Use x Patch Update & Service Pack Program x Security Errata Program x Automated Software Update & Alert Service x Defect & Feature Escalation & Prioritization Process x Developer Support x 24x7 Production Support & Services x Platform Certifications & Training Certifications x Defined Support SLA and End-of-Life Policy x Out-of-the-Box Configured for Enterprise Use x Operations Management Tools x Platform testing & certification process x Redistribution of modified JBoss technologies x Red Hat Open Source Assurance (Legal Protection) x
  • 11. JBoss BRMS assets Every artifact inside a BRMS is an asset The assets define a knowledge base Business logic is made by several assets: facts (domain model) rules business processes (workflows) decision tables functions more... Not only business rules!
  • 12. JBoss BRMS assets: Package How to start? define a new package for business assets Guvnor Knowledge base
  • 13. JBoss BRMS assets: Model/Facts A package must contain at least a fact model fact model != domain model a fact model typically overlaps a domain model but better to make it decouple from the domain model Rules and assets reason upon a fact model Two ways to do define your fact model: - upload a JAR file containing Java Classes - declare a model within Guvnor
  • 14. JBoss BRMS assets: Working Sets Working sets are groups of facts Use them to put constraints on a group of facts and restrict the “reasoning domain” of your business rules Disabled by default
  • 15. JBoss BRMS assets: Rules Rules are the “backbone” of a BRMS Don't use a BRMS if you don't have business rules Don't use a BRMS if you don't want or you can't separate logic from data Rules are processed and evaluated by a Rule Engine (Drools Expert) Forward chaining rule engine which implements the RETE algorithm (ReteOO) Rich native language to define rules A rule is contained in a DRL file More info on Drools Expert: JBug Italy slideshare site: http://www.slideshare.net/jbugrome
  • 16. JBoss BRMS assets: Rules Rule Engine Forward chaining
  • 17. JBoss BRMS assets: Rules Anatomy of a rule Example of a rule rule "Approve if not rejected" salience -100 agenda-group "approval" when not Rejection() p : Policy(approved == false,policyState:status ) exists Driver(age > 25) Process(status == policyState) then log("APPROVED: due to no objections."); p.setApproved(true); end
  • 18. JBoss BRMS assets: Rules Inside BRMS there 4 ways to create a rule: - from scratch,code; (requires knowledge of Expert) - using the guided editor (can be used DSL assertions) - uploading a decision table spreadsheet - creating a decision table spreadsheet via the guided editor
  • 19. JBoss BRMS assets: Rules Rules can be validated inside BRMS
  • 20. JBoss BRMS assets: Rules Rules with the guided editor
  • 21. JBoss BRMS assets: Decision Tables Express rules with a spreadsheet A spreadsheet can be imported or created via the guided web editor A wizard generator for spreadsheet is available in BRMS! A decision table at runtime is transformed in a series of DRL rules
  • 22. JBoss BRMS assets: Test Scenarios Test scenarios are assets used to validate that the rules inside the knowledge base (package) works as expected A scenario is made by a given section (list of facts and its initial state) and an expect section What we can “assert” in a expect section? - Rule Validate that a certain rule fired. - Fact value Validate fact values for a fact created in the Given section. -Any fact that matches Validate that there is at least one fact in the knowledge base with the specified field values.
  • 23. JBoss BRMS assets: Test Scenarios
  • 24. JBoss BRMS assets: CEP 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
  • 25. JBoss BRMS assets: CEP when Shipment( $pickupTime : scheduledPickupTime ) not ShipmentPickup( this before $pickupTime ) then // shipment not picked up... Action required. end rule “Shipment not picked up in time” 13 Operators are Supported Event A before Event B Event A coincidces 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
  • 26. JBoss BRMS assets: CEP Apply 13 operators available Define sliding time window or length
  • 27. JBoss BRMS other assets Spring context editor to define spring context files;once created they are accessible via HTTP inside the package DSL functions Define rules in a domain specific language Enumeration Enum data to be used in rules Functions Rule templates
  • 28. JBoss BRMS other assets A guided rule with DSL assertions
  • 29. JBoss BRMS assets: JBPM5 A workflow is a process that describes the order in which a series of steps need to be executed, using a flow chart. JBPM5 is based on Drools Flow Workflow guided by rules Rule workflows are the new “generation” of business workflows Rules + workflow: dynamic processes Available in BRMS 5.3
  • 30. JBoss BRMS assets: JBPM5 JBPM5 workflow are BPMN2 processes No legacy xml to define the workflow but a standard! Human task (human interaction with a flow) The task service implementation is based on the WS-HumanTask (WS-HT) specification Rule Task: use drools rules inside the flow Pluggable Service Task (work items): nodes with custom logic (e.g. DBControl, EJBControl, EmailControl) Gateway (split,converge) the decision in a gateway can be taken by a drools rule! Events (start,end,intermediate) Timers
  • 31. JBoss BRMS assets: JBPM5 BPMN2 editor in Eclipse BPMN2 editor in BRMS (web designer) BRMS can upload BPMN2 processes designed with other BPMN2 modeling tool Automatic creation of human task forms Validation of BPMN2 processes Online repository to download ready to use service tasks JBPM Service repository JBPM 3 to 5 migration tool https://github.com/droolsjbpm/jbpmmigration
  • 32. JBoss BRMS assets: JBPM5 When defined a new work item is available inside Eclipse
  • 33. JBoss BRMS assets: JBPM5 Web Designer integrated inside BRMS (starting from BRMS 5.3)
  • 34. JBoss BRMS authoring Every asset in BRMS is versioned; every time an asset changes a new version number is attached Assets anyway can't be branched or tagged! An asset contains meta data information Assets can be categorized An asset can be linked to many categories Categories don't have any meaning at runtime; useful to order the assets An asset can have a status (e.g “Draft”, “Completed”); it's a sort of label
  • 35. JBoss BRMS authoring A package otherwise is versioned on demand, taking a snapshot for deployment Creating a snapshot means that the BRMS package is ready to be used from external application Before taking a snapshot a build package is required With a build every assets inside the package is validated Status and Categories can be used to select only specific assets to include inside a snapshot (Use selector) (e.g. create a snaposhot only with assets belonging to category “Fraud” and with Status “Completed”) A snapshot will be published inside the repository and accessible via a URL
  • 38. JBoss BRMS deployment Stand Alone Package Lightweight Package Well integrated Flexibility of Container Best Out of the Box Deploy to lightweight Experience containers like Tomcat
  • 39. JBoss BRMS Eclipse integration Eclipse can be configured to import the resources (assets) published in BRMS Assets can be edited in Eclipse and committed to BRMS (complete roundtrip) Eclipse gives the capability to compare different version of the same asset Requires JBoss Developer Studio 4.x or Eclipse 3.6.x + JBoss Tools File --> Import --> Guvnor --> Resources from Guvnor
  • 40. JBoss BRMS Eclipse integration
  • 41. JBoss BRMS Rule Agent How to use a BRMS package inside your application? Create a Drools RuleAgent able to get (download) its KnowledgeBase from BRMS Define a change-set.xml (simple xml file) file where the BRMS packages are listed The KnowledgeBase is the entry point to fire rules, execute bpmn processes,...
  • 42. JBoss BRMS Rule Agent KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("MyAgent", kaconf); kagent.applyChangeSet( ResourceFactory.newClassPathResource("change-set.xml"));KnowledgeBase kbase = kagent.getKnowledgeBase(); change.set.xml <?xml version="1.0" encoding="UTF-8"?> <change-set xmlns="http://drools.org/drools-5.0/change-set" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools- api/src/main/resources/change-set-1.0.0.xsd" > <add> <resource source="http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/JBUG/LATE ST" type="PKG" basicAuthentication="enabled" username="uid" password="pwd"/> </add> </change-set>
  • 43. JBoss BRMS Rule Agent What to do with a KnowledgeBase? start a process and insert some fact instances to be evaluated inside a process RuleTask final StatefulKnowledgeSession ksession = kagent.getKnowledgeBase(); //insert fact instances in kb ksession.insert(new Car("AudiA4",4)); ksession.startProcess("Process1"); ksession.fireAllRules(); ksession.dispose()
  • 44. Resources http://www.jboss.org/drools/lists http://www.jboss.org/jbpm/lists IRC server: irc.codehaus.org Channels: #drools #guvnor #jbpm THAT'S ALL FOLKS!
  • 45. JBoss BRMS: The enterprise platform for Business Logic Integration THANKS! gmarigi at redhat.com Except where otherwise noted, content on this work is licensed under a Creative Commons Attribution 3.0 License.