SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
JBoss Enterprise BRMS
Building highly scalable process and rule-driven applications



                     Eric D. Schabell
               JBoss Technology Evangelist
Developing BRMS Applications that Scale


    ●   Overview
    ●   BRMS Adoption Goals
    ●   Under the Hood
    ●   Best Practices
        ●   BPM
        ●   Architecture
        ●   Rules Authoring




2
JBoss Enterprise BRMS
                                                                                                Business
                                                                                                 Events




                                                                                                                 Interacts
                       Web-based                                                   Decision                      with...      Enterprise
                    development tools                                              Service                                    Application


Business Analysts                                                                                                               Web
                                                                                              Event Processor
                                             Repository                                                                        Service

                                                                       Deploy                 Business Process
                               Business            Business
                                Process             Rule &                                        Manager
                               Definitions           Event
                                                   Definitions
                                                                                                                              Java Code
                                                                                                Rule Engine



                    JBDS, with BRMS                                                       r
                        plugins                                                    i   to
                                                                                on
                                                                               M
                                                                           &
                                                                      ge
                                                                  ana
                                                                 M
                                                                                                                             Business
   Developers
                                                                                                                              Users
                                                          Management                              Business
                                                           Console                                  Data



                          Operations
   3
JBoss Enterprise BRMS
                                                                                              Business
                                                                                               Events




                                                                                                               Interacts
                       Web-based                                                 Decision                      with...      Enterprise
                    development tools                                            Service                                    Application


Business Analysts                                                                                                             Web
                                                                                            Event Processor
                                        Repository                                                                           Service

                                                                     Deploy                 Business Process
                               Business          Business
                                Process           Rule &                                        Manager
                               Definitions         Event
                                                 Definitions
                                                                                                                            Java Code
                                                                                              Rule Engine



                    JBDS, with BRMS                                                     r
                        plugins                                                  i   to
                                                                              on
                                                                             M
                                                                         &
                                                                    ge
                                                                ana
                                                               M
                                                                                                                           Business
   Developers
                                                                                                                            Users
                                                     Management                                 Business
                                                      Console                                     Data



                          Operations
   4
JBoss Enterprise BRMS
                                                                                                Business
                                                                                                 Events




                                                                                                                 Interacts
                       Web-based                                                   Decision                      with...      Enterprise
                    development tools                                              Service                                    Application


Business Analysts                                                                                                               Web
                                                                                              Event Processor
                                             Repository                                                                        Service

                                                                       Deploy                 Business Process
                               Business            Business
                                Process             Rule &                                        Manager
                               Definitions           Event
                                                   Definitions
                                                                                                                              Java Code
                                                                                                Rule Engine



                    JBDS, with BRMS                                                       r
                        plugins                                                    i   to
                                                                                on
                                                                               M
                                                                           &
                                                                      ge
                                                                  ana
                                                                 M
                                                                                                                             Business
   Developers
                                                                                                                              Users
                                                       Management                                 Business
                                                        Console                                     Data



                          Operations
   5
JBoss Enterprise BRMS
                                                                                              Business
                                                                                               Events




                                                                                                               Interacts
                       Web-based                                                                               with...
                    development tools                                            Decision                                   Enterprise
                        (Guvnor)                                                 Service                                    Application


Business Analysts                                                                                                             Web
                                                                                            Event Processor
                                             Repository                                                                      Service

                                                                     Deploy                 Business Process
                               Business          Business
                                Process           Rule &                                        Manager
                               Definitions         Event
                                                 Definitions
                                                                                                                            Java Code
                                                                                              Rule Engine



                    JBDS, with BRMS                                                     r
                        plugins                                                  i   to
                                                                              on
                                                                             M
                                                                         &
                                                                    ge
                                                                ana
                                                               M
                                                                                                                           Business
   Developers
                                                                                                                            Users
                                                     Management                                 Business
                                                      Console                                     Data



                          Operations
   6
JBoss Enterprise BRMS
                                                                                                Business
                                                                                                 Events




                                                                                                                 Interacts
                       Web-based                                                   Decision                      with...      Enterprise
                    development tools                                              Service                                    Application


Business Analysts                                                                                                               Web
                                                                                              Event Processor
                                             Repository                                                                        Service

                                                                       Deploy                 Business Process
                               Business            Business
                                Process             Rule &                                        Manager
                               Definitions           Event
                                                   Definitions
                                                                                                                              Java Code
                                                                                                Rule Engine



                    JBDS, with BRMS                                                       r
                        plugins                                                    i   to
                                                                                on
                                                                               M
                                                                           &
                                                                      ge
                                                                  ana
                                                                 M
                                                                                                                             Business
   Developers
                                                                                                                              Users
                                                          Management                              Business
                                                           Console                                  Data



                          Operations
   7
BRMS adoption goals




8
Goal #1: Decision Automation


                                                    Conclusion: Time is Money!
                                   Business Event
    Value Loss

                 Business Value




                                                                                        Reaction


                                  Time
                                                    Time Loss

                                                            Adapted from a presentation by James Taylor, Sep/2011




9
Goal #2: Expressiveness and Visibility


 rule “Send shipment pick-up SMS alert”
 rule “Send shipment pick-up SMS alert”
 when
 when
     There is a shipment order
     There is a shipment order
     There is a route assigned to
     There is a route assigned to   the
                                      order
                                    the
                                      order
     There is a truck GPS reading
     There is a truck GPS reading   and
                                      the truck is 15 minutes
                                    and
                                      the truck is 15 minutes
                away from the pick-up location
                away from the pick-up location
 then
 then
      Send SMS to customer: “Arriving in 15 minutes”
      Send SMS to customer: “Arriving in 15 minutes”
 end
 end


            Focus on “what to do” instead of “how to do it”




10
Goal #3: Performance and Scalability

     ●   Real time, online, systems
          ●   Millisecond response times
     ●   Hundreds of thousands of rules
          ●   JBoss BRMS: 700k+ rules
     ●   Millions of data instances (facts)
     ●   Incremental (re-)evaluation
          ●   Changes in data can't reset reasoning




11
Goal #4..#6: other technical goals

     ●   Logic, Data and Tasks split
     ●   Centralization of Knowledge
          ●   Consistency
          ●   Testing / Simulation
                                     Knowledge                    Knowledge
          ●   Auditing                 Base
                                     (rules/events/
                                                      Inference    Session
                                                       Engine       (data)
                                       processes)
     ●   Explanation Facility




                                                        Tasks




12
JBoss BRMS: under the hood




13
Engine's Algorithm – 30 seconds crash course
                                                         Rete Network: Computer's View

                                                                            Data



                                                         Customer                   Order
          Decision Table: User's View
     Customer    Order Total        Discount
                  Amount
                                                                                   < $1000      >=$1000
Gold                            15%            Gold        Silver

Silver          < $1000         5%
Silver          >= $1000        10%


          Clear, Concise, Objective




                                               Discount: 15%        Discount: 5%        Discount: 10%

                                                               Efficient, Effective


14
JBoss BRMS – some optimizations

     ●   Support to POJOs as facts
          ●   no mapping/data copy necessary
     ●   Full split between Knowledge Base and Session
          ●   lightweight session creation
          ●   knowledge base sharing
     ●   Completely Dynamic Knowledge Base
          ●   Hot addition/removal/updates of rules/queries/processes
     ●   Full support to First Order Logic and Set operations
     ●   JIT compilation for constraints and data access



15
JBoss BRMS – More optimizations

                                                      Data
         Alpha Hashing
                                   Customer                   Order


     Node Sharing
                         Gold        Silver                  < $1000      >=$1000



     Data Indexing



       Lazy Matching



                         Discount: 15%        Discount: 5%        Discount: 10%




16
JBoss Enterprise BRMS




17
Best Practices – BPM Architecture
                                          Interaction Layer



                                 EJB / POJO           ESB               Web Services   Human Tasks




                                      Process Implementation Layer                        JBPM Console
                                                                                            Reporting,
                                                                                         BAM Dashboards




                                      Process Repository
Queues




     Process
  Initialization
      Layer         BPMN2 Authoring for                BPMN2 Authoring for
                      Business Users                      Developers




                                                                 Developer
 18
         Customer
Best Practices – Process Initialization                     EJB      MDB




     ●   How do you start your process?                     Queues


          ●   web services, EJB's, API call, RESTful
          ●   what about prioritization of processes                    Process
                                                                     Initialization
                                                                         Layer
               ●   use message queues
               ●   other complex ideas to start processes
     ●   Centralize startProcess in single location
               ●   minimizes change effects in this layer
                                                                      Customer




19
Process Implementation Layer

Best Practices –
 Process Implementation

     ●   Java nodes
          ●   do you keep it clean?
               ●   single unit of action per process step
               ●   human task / admin interfaces
     ●   Centralize you jBPM API access
          ●   single WS / DAO / BOM / RESTful
     ●   Domain specific nodes
          ●   extensions via work item handlers
     ●   Design process for reuse
          ●   smallest unit of work
20
Best Practices – Process Interaction

     ●   Processes interact with your Enterprise
          ●   Web Services, EJB, GUI, POJO, Exceptions, Bean
              Script, Rules...
               ●   jBPM API & jBPM History DB & RESTful
               ●   history / tasks / reporting
                    ●   single DAO
                    ●   single Web Service
                    ●   JBoss ESB + jBPM
                    ●   externalize rules calls in Decision Service (WS)

                                          Interaction Layer


21                                                                           Human Tasks
                                     EJB / POJO       ESB     Web Services
Best Practices – Always good BPM practices...

     ●   Simplify everything (KISS)
          ●   apply OO to process design
               ●   methods == sub-process + context in/out
               ●   encapsulate == sub-process
               ●   reuse == process repo (maven potential)
               ●   unit testing == per node, sub-process, process
               ●   exception handling (Exception Framework)




22
Best Practices – Rule Architecture

     ●   Partition your Knowledge Bases properly
          ●   Subject matter
          ●   Transaction / Service / Unit of Work
          ●   Business Entity
     ●   Avoid monolithic Knowledge Bases
     ●   Avoid fine grained Knowledge Bases
                                                     Knowledge   Inference   Knowledge
                                                       Base       Engine      Session




                                                                   Tasks




23
Best Practices – Rule Architecture

     ●   Batch data loads
          ●   Load 1000 facts and fire the rules faster than fire rules after
              each loaded fact
     ●   Partition the data into multiple sessions
          ●   Transaction / Service / Unit of work
     ●   Creating a new session is cheap
          ●   Cheaper than removing facts             Knowledge               Knowledge
                                                                  Inference
                                                        Base       Engine      Session




                                                                    Tasks




24
Best Practices – Rule Architecture

     ●   Quality of the data/fact model is directly proportional to the
         performance and maintainability of the rules using it
          ●   Think about the DBMS analogy
          ●   Flatter models improve performance
          ●   Smaller classes help avoiding recursions


                                                   Knowledge   Inference   Knowledge
                                                     Base       Engine      Session




                                                                 Tasks




25
JBoss BRMS – Best Practices in Rules Authoring




26
Best Practices – Rules Authoring

     ●   Don't try to micro-control rules execution
          ●   Use the Conflict Resolution Strategies instead
               ●   Salience
               ●   Agenda groups
               ●   Ruleflow / Processes
               ●   Dynamic Enablement

                                                    Knowledge   Inference   Knowledge
                                                      Base       Engine      Session




                                                                  Tasks




27
Best Practices – Rules Authoring

     ●   Don't overload rules
          ●   Each rule should describe one and only one
              scenario→action mapping
          ●   The engine will optimize shared conditions
          ●   The engine supports inference


                                                   Knowledge   Inference   Knowledge
                                                     Base       Engine      Session




                                                                 Tasks




28
Best Bad Practices – Rules Authoring
       rule “1 – Teenagers and Elders get Discount”
       rule “1 – Teenagers and Elders get Discount”
       when
       when
             Person age is between 16 and 18 or Person age is greater or equal to 65
             Person age is between 16 and 18 or Person age is greater or equal to 65
       then
       then
             Assign 25% ticket discount
             Assign 25% ticket discount
       end
       end


       rule “2 – Elders can buy tickets in area A”
       rule “2 – Elders can buy tickets in area A”
       when
       when
             Person age is greater or equal to 65
             Person age is greater or equal to 65
       then
       then
             Allow sales of area A tickets
             Allow sales of area A tickets
       end
       end




     Rules are being overloaded with multiple concepts, increasing maintenance
                                and testing costs.




29
Best Practices – Rules Authoring
rule “0.a – Teenagers are 16-18”
rule “0.a – Teenagers are 16-18”                rule “0.b – Elders are older than 65”
                                                rule “0.b – Elders are older than 65”
when
when                                            when
                                                when
       Person age is between 16 and 18
       Person age is between 16 and 18                Person is older than 65
                                                      Person is older than 65
then
then                                            then
                                                then
       Assert: the person is a Teenager
       Assert: the person is a Teenager               Assert: the person is an Elder
                                                      Assert: the person is an Elder
end
end                                             end
                                                end




 rule “1 – Teenagers and Elders get discount”
 rule “1 – Teenagers and Elders get discount”   rule “2 – Elders can buy tickets in area A”
                                                rule “2 – Elders can buy tickets in area A”
 when
 when                                           when
                                                when
       Teenager or Elder
       Teenager or Elder                              Elder
                                                      Elder
 then
 then                                           then
                                                then
       Assign 25% ticket discount
       Assign 25% ticket discount                     Allow sales of area A tickets
                                                      Allow sales of area A tickets
 end
 end                                            end
                                                end




30
Best Practices – Rules Authoring

     ●   One calculation (accumulate) per rule
           ●   Accumulates have O(n) performance
           ●
               Sequences of accumulates have O(nm) performance
                ●   n = number of matching facts
                ●   m = number of accumulates
                                                   rule “Sum debits”
                                                   rule “Sum debits”
                                                   when
                                                   when
rule “Sum debits and credits”
rule “Sum debits and credits”
                                                      accumulate( Debit( $d : amount ),
                                                      accumulate( Debit( $d : amount ),
when
when
                                                                  $debits: sum( $d ) )
                                                                  $debits: sum( $d ) )
         accumulate( Debit( $d : amount ),
         accumulate( Debit( $d : amount ),
                                                   then ...
                                                   then ...
                    $debits: sum( $d ) )
                    $debits: sum( $d ) )
         accumulate( Credit( $c : amount),
         accumulate( Credit( $c : amount),         rule “Sum credits”
                                                   rule “Sum credits”
                    $credits: sum( $c ) )
                    $credits: sum( $c ) )          when
                                                   when
then ...
then ...                                              accumulate( Credit( $c : amount ),
                                                      accumulate( Credit( $c : amount ),
                                                                  $credits: sum( $c ) )
                                                                  $credits: sum( $c ) )
                                                   then ...
                                                   then ...



31
Best Practices – Rules Authoring

     ●    Rules vs Queries
                                                Rules                           Queries
                Control           Invoked by the engine             Invoked by the application
                Parameters        Don't support parameters          Support parameters
                Results           Execute actions                   Return results



         rule “Approve VIP customers”
         rule “Approve VIP customers”                        query “Get customers by type”( $type )
                                                             query “Get customers by type”( $type )
         when
         when                                                when
                                                             when
               $c : Customer( type == “VIP” )
               $c : Customer( type == “VIP” )                      $c : Customer( type == $type )
                                                                   $c : Customer( type == $type )
         then
         then                                                end
                                                             end
               insert( new Approved( $c ) );
               insert( new Approved( $c ) );
         end
         end


                                     “Use the right tool for the right job!”



32
Best Practices – Rules Authoring

     ●   Declared Types
          ●   Facts used only by the rules
          ●   Facts that change frequently with the rules
     ●   POJOs
          ●   Facts shared by both rules and application
               ● No data copy – very efficient
          ●   Easier to integrate, easier to test
     ●   When in doubt, use POJOs


                             “Use the right tool for the right job!”



33
Add references




●    JBoss Enterprise BRMS Best Practices Guide
     http://www.redhat.com/promo/integrated_enterprise/brms-best-practices-form.html
●    JBoss Enterprise BRMS Best Practices, Edson Tirelli,
     http://www.redhat.com/summit/sessions/jboss.html
●    JBoss BRMS,
     http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/
●    BRMS Best Practices Process Initialization Layer,
     http://howtojboss.com/2012/08/15/brms-best-practices-process-initialization-layer/



34
Questions?

Mais conteúdo relacionado

Mais procurados

10 steps to_4_g_service_assurance
10 steps to_4_g_service_assurance10 steps to_4_g_service_assurance
10 steps to_4_g_service_assuranceTelecosm
 
Future of Library User Experience
Future of Library User ExperienceFuture of Library User Experience
Future of Library User Experiencebolt peters
 
Guerilla Marketing of Enterprise Architecture Management
Guerilla Marketing of Enterprise Architecture ManagementGuerilla Marketing of Enterprise Architecture Management
Guerilla Marketing of Enterprise Architecture ManagementChristian Kählig
 
Rubik Solutions Portfolio
Rubik Solutions PortfolioRubik Solutions Portfolio
Rubik Solutions PortfolioRalph van Zijl
 
Rubik Solutions Portfolio
Rubik Solutions PortfolioRubik Solutions Portfolio
Rubik Solutions Portfoliobob_ark
 
Moving Beyond Project Level SOA
Moving Beyond Project Level SOAMoving Beyond Project Level SOA
Moving Beyond Project Level SOAguest0d8992
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityCisco Canada
 
Vv fishbone analysis_charts_final
Vv fishbone analysis_charts_finalVv fishbone analysis_charts_final
Vv fishbone analysis_charts_finalBobbi Bilnoski
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O ASOA Symposium
 
Ca partner day - qualità servizi – milano
Ca partner day - qualità servizi – milanoCa partner day - qualità servizi – milano
Ca partner day - qualità servizi – milanoCA Technologies Italia
 
Future Office
Future OfficeFuture Office
Future Office2tique
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1SOA Symposium
 
Rule and Event-based Processes June2010
Rule  and Event-based Processes June2010Rule  and Event-based Processes June2010
Rule and Event-based Processes June2010Paul Vincent
 
Linalis UK introduction
Linalis UK introductionLinalis UK introduction
Linalis UK introductionSteve Adams
 
SAP Extended ECM - Improve Customer Interaction Efficiency
SAP Extended ECM - Improve Customer Interaction EfficiencySAP Extended ECM - Improve Customer Interaction Efficiency
SAP Extended ECM - Improve Customer Interaction EfficiencyThomas Demmler
 
Datawarehouse på System z (IBM Systems z)
Datawarehouse på System z (IBM Systems z)Datawarehouse på System z (IBM Systems z)
Datawarehouse på System z (IBM Systems z)IBM Danmark
 
Knowledge management using enterprise content management system
Knowledge management using enterprise content management systemKnowledge management using enterprise content management system
Knowledge management using enterprise content management systemzuzu123
 
Selecting BI Tool - Proof of Concept - Андрій Музичук
Selecting BI Tool - Proof of Concept - Андрій МузичукSelecting BI Tool - Proof of Concept - Андрій Музичук
Selecting BI Tool - Proof of Concept - Андрій МузичукIgor Bronovskyy
 

Mais procurados (20)

10 steps to_4_g_service_assurance
10 steps to_4_g_service_assurance10 steps to_4_g_service_assurance
10 steps to_4_g_service_assurance
 
Future of Library User Experience
Future of Library User ExperienceFuture of Library User Experience
Future of Library User Experience
 
Intelligent Business Process Management
Intelligent Business Process ManagementIntelligent Business Process Management
Intelligent Business Process Management
 
Guerilla Marketing of Enterprise Architecture Management
Guerilla Marketing of Enterprise Architecture ManagementGuerilla Marketing of Enterprise Architecture Management
Guerilla Marketing of Enterprise Architecture Management
 
Rubik Solutions Portfolio
Rubik Solutions PortfolioRubik Solutions Portfolio
Rubik Solutions Portfolio
 
Rubik Solutions Portfolio
Rubik Solutions PortfolioRubik Solutions Portfolio
Rubik Solutions Portfolio
 
Moving Beyond Project Level SOA
Moving Beyond Project Level SOAMoving Beyond Project Level SOA
Moving Beyond Project Level SOA
 
New aspects of Cisco UC Interoperability
New aspects of Cisco UC InteroperabilityNew aspects of Cisco UC Interoperability
New aspects of Cisco UC Interoperability
 
Vv fishbone analysis_charts_final
Vv fishbone analysis_charts_finalVv fishbone analysis_charts_final
Vv fishbone analysis_charts_final
 
Oracle Realizing the Potential of SOA
Oracle Realizing the Potential of SOAOracle Realizing the Potential of SOA
Oracle Realizing the Potential of SOA
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O A
 
Ca partner day - qualità servizi – milano
Ca partner day - qualità servizi – milanoCa partner day - qualità servizi – milano
Ca partner day - qualità servizi – milano
 
Future Office
Future OfficeFuture Office
Future Office
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1
 
Rule and Event-based Processes June2010
Rule  and Event-based Processes June2010Rule  and Event-based Processes June2010
Rule and Event-based Processes June2010
 
Linalis UK introduction
Linalis UK introductionLinalis UK introduction
Linalis UK introduction
 
SAP Extended ECM - Improve Customer Interaction Efficiency
SAP Extended ECM - Improve Customer Interaction EfficiencySAP Extended ECM - Improve Customer Interaction Efficiency
SAP Extended ECM - Improve Customer Interaction Efficiency
 
Datawarehouse på System z (IBM Systems z)
Datawarehouse på System z (IBM Systems z)Datawarehouse på System z (IBM Systems z)
Datawarehouse på System z (IBM Systems z)
 
Knowledge management using enterprise content management system
Knowledge management using enterprise content management systemKnowledge management using enterprise content management system
Knowledge management using enterprise content management system
 
Selecting BI Tool - Proof of Concept - Андрій Музичук
Selecting BI Tool - Proof of Concept - Андрій МузичукSelecting BI Tool - Proof of Concept - Андрій Музичук
Selecting BI Tool - Proof of Concept - Андрій Музичук
 

Destaque

Business rules management system
Business rules management systemBusiness rules management system
Business rules management systemPliant Framework
 
Business Rules - Design and Modeling Guidelines
Business Rules - Design and Modeling GuidelinesBusiness Rules - Design and Modeling Guidelines
Business Rules - Design and Modeling GuidelinesKeshav Deshpande
 
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 rule and decision engine
Business rule and decision engineBusiness rule and decision engine
Business rule and decision enginePliant Framework
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพอัยเหี้ยม ยัยห้อย
 
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14said missoum
 
Semantically-Enabled Business Process Management
Semantically-Enabled Business Process ManagementSemantically-Enabled Business Process Management
Semantically-Enabled Business Process ManagementAdrian Paschke
 
การจัดการคุณภาพ 1
การจัดการคุณภาพ 1การจัดการคุณภาพ 1
การจัดการคุณภาพ 1Thida Noodaeng
 
Marketo LaunchPoint
Marketo LaunchPoint Marketo LaunchPoint
Marketo LaunchPoint Marketo
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพอัยเหี้ยม ยัยห้อย
 
การบริหารงานคุณภาพ Tqm
การบริหารงานคุณภาพ Tqmการบริหารงานคุณภาพ Tqm
การบริหารงานคุณภาพ TqmBoohsapun Thopkuntho
 
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรม
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรมChapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรม
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรมRonnarit Junsiri
 
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีก
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีกเรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีก
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีกsupatra39
 
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีก
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีกเรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีก
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีกsupatra39
 
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
 
All the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSAll the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSJBug Italy
 

Destaque (20)

Business rules management system
Business rules management systemBusiness rules management system
Business rules management system
 
Business Rules - Design and Modeling Guidelines
Business Rules - Design and Modeling GuidelinesBusiness Rules - Design and Modeling Guidelines
Business Rules - Design and Modeling Guidelines
 
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
 
L4
L4L4
L4
 
Business rule and decision engine
Business rule and decision engineBusiness rule and decision engine
Business rule and decision engine
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
 
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14
Qwr iso20000 auditor m04 implementing audit and tooling us 06 apr14
 
Semantically-Enabled Business Process Management
Semantically-Enabled Business Process ManagementSemantically-Enabled Business Process Management
Semantically-Enabled Business Process Management
 
การจัดการคุณภาพ 1
การจัดการคุณภาพ 1การจัดการคุณภาพ 1
การจัดการคุณภาพ 1
 
Marketo LaunchPoint
Marketo LaunchPoint Marketo LaunchPoint
Marketo LaunchPoint
 
101ch6
101ch6101ch6
101ch6
 
BRMS6.2 2016版
BRMS6.2 2016版BRMS6.2 2016版
BRMS6.2 2016版
 
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพหน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
หน่วยที่1 แนวคิดเกี่ยวกับการจัดการคุณภาพ
 
การบริหารงานคุณภาพ Tqm
การบริหารงานคุณภาพ Tqmการบริหารงานคุณภาพ Tqm
การบริหารงานคุณภาพ Tqm
 
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรม
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรมChapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรม
Chapter 4 บทบาทของการควบคุมคุณภาพกับงานอุตสาหกรรม
 
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีก
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีกเรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีก
เรื่องที่ 1 ความรู้ทั่วไปเกี่ยวกับการบริหารการค้าปลีก
 
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีก
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีกเรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีก
เรื่องที่ 2 การวิเคราะห์เลือกทำเลที่ตั้ง การจัดการด้านการค้าปลีก
 
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
 
All the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMSAll the cool stuff of JBoss BRMS
All the cool stuff of JBoss BRMS
 

Semelhante a Building highly scalable process and rule-driven applications with JBoss Enterprise BRMS

Qcon java在企业级开发中的应用
Qcon java在企业级开发中的应用Qcon java在企业级开发中的应用
Qcon java在企业级开发中的应用youzitang
 
Business Process Management
Business Process ManagementBusiness Process Management
Business Process ManagementIBMGovernmentCA
 
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global Consolidation
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global ConsolidationCASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global Consolidation
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global ConsolidationSEEBURGER
 
Dynamic BPM
Dynamic BPMDynamic BPM
Dynamic BPMSSA KPI
 
DPS: Operative Spotlight on the Changing Face of Digital Publishing Operations
DPS: Operative Spotlight on the Changing Face of Digital Publishing OperationsDPS: Operative Spotlight on the Changing Face of Digital Publishing Operations
DPS: Operative Spotlight on the Changing Face of Digital Publishing OperationsDigiday
 
Case Studies Using Process as the Lever for Enterprise Change
Case Studies Using Process as the Lever for Enterprise ChangeCase Studies Using Process as the Lever for Enterprise Change
Case Studies Using Process as the Lever for Enterprise ChangeVincent Kwon
 
Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001jucaab
 
Дамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseДамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseТранслируем.бел
 
Agile labs 2011
Agile labs   2011Agile labs   2011
Agile labs 2011vpraghu
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
Business Value Networks And Information Technology V5
Business Value Networks And Information Technology V5Business Value Networks And Information Technology V5
Business Value Networks And Information Technology V5eamonnmccormick
 
EMC Documentum & Captiva
EMC Documentum & CaptivaEMC Documentum & Captiva
EMC Documentum & CaptivaITDogadjaji.com
 
Bill Moore Visual Resume
Bill Moore Visual ResumeBill Moore Visual Resume
Bill Moore Visual ResumeWilliam Moore
 
]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511bKlaus Hofeditz
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...Dan Selman
 
Thoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliancesThoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliancesMark Cathcart
 

Semelhante a Building highly scalable process and rule-driven applications with JBoss Enterprise BRMS (20)

Qcon java在企业级开发中的应用
Qcon java在企业级开发中的应用Qcon java在企业级开发中的应用
Qcon java在企业级开发中的应用
 
Business Process Management
Business Process ManagementBusiness Process Management
Business Process Management
 
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global Consolidation
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global ConsolidationCASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global Consolidation
CASE STUDY: How SCA Hygiene Leveraged SAP NetWeaver for Global Consolidation
 
Hacking Trust
Hacking TrustHacking Trust
Hacking Trust
 
Dynamic BPM
Dynamic BPMDynamic BPM
Dynamic BPM
 
DPS: Operative Spotlight on the Changing Face of Digital Publishing Operations
DPS: Operative Spotlight on the Changing Face of Digital Publishing OperationsDPS: Operative Spotlight on the Changing Face of Digital Publishing Operations
DPS: Operative Spotlight on the Changing Face of Digital Publishing Operations
 
Case Studies Using Process as the Lever for Enterprise Change
Case Studies Using Process as the Lever for Enterprise ChangeCase Studies Using Process as the Lever for Enterprise Change
Case Studies Using Process as the Lever for Enterprise Change
 
Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001Fusion app customization_con8719_pdf_8719_0001
Fusion app customization_con8719_pdf_8719_0001
 
Дамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseДамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes Storehouse
 
Agile labs 2011
Agile labs   2011Agile labs   2011
Agile labs 2011
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Business Value Networks And Information Technology V5
Business Value Networks And Information Technology V5Business Value Networks And Information Technology V5
Business Value Networks And Information Technology V5
 
EMC Documentum & Captiva
EMC Documentum & CaptivaEMC Documentum & Captiva
EMC Documentum & Captiva
 
Bill Moore Visual Resume
Bill Moore Visual ResumeBill Moore Visual Resume
Bill Moore Visual Resume
 
Skelta BPM
Skelta BPMSkelta BPM
Skelta BPM
 
Next Generation BPM
Next Generation BPMNext Generation BPM
Next Generation BPM
 
]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
 
Thoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliancesThoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliances
 
A guiding light for the processes in your private cloud
A guiding light for the processes in your private cloudA guiding light for the processes in your private cloud
A guiding light for the processes in your private cloud
 

Mais 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
 

Mais 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

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Building highly scalable process and rule-driven applications with JBoss Enterprise BRMS

  • 1. JBoss Enterprise BRMS Building highly scalable process and rule-driven applications Eric D. Schabell JBoss Technology Evangelist
  • 2. Developing BRMS Applications that Scale ● Overview ● BRMS Adoption Goals ● Under the Hood ● Best Practices ● BPM ● Architecture ● Rules Authoring 2
  • 3. JBoss Enterprise BRMS Business Events Interacts Web-based Decision with... Enterprise development tools Service Application Business Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS r plugins i to on M & ge ana M Business Developers Users Management Business Console Data Operations 3
  • 4. JBoss Enterprise BRMS Business Events Interacts Web-based Decision with... Enterprise development tools Service Application Business Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS r plugins i to on M & ge ana M Business Developers Users Management Business Console Data Operations 4
  • 5. JBoss Enterprise BRMS Business Events Interacts Web-based Decision with... Enterprise development tools Service Application Business Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS r plugins i to on M & ge ana M Business Developers Users Management Business Console Data Operations 5
  • 6. JBoss Enterprise BRMS Business Events Interacts Web-based with... development tools Decision Enterprise (Guvnor) Service Application Business Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS r plugins i to on M & ge ana M Business Developers Users Management Business Console Data Operations 6
  • 7. JBoss Enterprise BRMS Business Events Interacts Web-based Decision with... Enterprise development tools Service Application Business Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS r plugins i to on M & ge ana M Business Developers Users Management Business Console Data Operations 7
  • 9. Goal #1: Decision Automation Conclusion: Time is Money! Business Event Value Loss Business Value Reaction Time Time Loss Adapted from a presentation by James Taylor, Sep/2011 9
  • 10. Goal #2: Expressiveness and Visibility rule “Send shipment pick-up SMS alert” rule “Send shipment pick-up SMS alert” when when There is a shipment order There is a shipment order There is a route assigned to There is a route assigned to the order the order There is a truck GPS reading There is a truck GPS reading and the truck is 15 minutes and the truck is 15 minutes away from the pick-up location away from the pick-up location then then Send SMS to customer: “Arriving in 15 minutes” Send SMS to customer: “Arriving in 15 minutes” end end Focus on “what to do” instead of “how to do it” 10
  • 11. Goal #3: Performance and Scalability ● Real time, online, systems ● Millisecond response times ● Hundreds of thousands of rules ● JBoss BRMS: 700k+ rules ● Millions of data instances (facts) ● Incremental (re-)evaluation ● Changes in data can't reset reasoning 11
  • 12. Goal #4..#6: other technical goals ● Logic, Data and Tasks split ● Centralization of Knowledge ● Consistency ● Testing / Simulation Knowledge Knowledge ● Auditing Base (rules/events/ Inference Session Engine (data) processes) ● Explanation Facility Tasks 12
  • 13. JBoss BRMS: under the hood 13
  • 14. Engine's Algorithm – 30 seconds crash course Rete Network: Computer's View Data Customer Order Decision Table: User's View Customer Order Total Discount Amount < $1000 >=$1000 Gold 15% Gold Silver Silver < $1000 5% Silver >= $1000 10% Clear, Concise, Objective Discount: 15% Discount: 5% Discount: 10% Efficient, Effective 14
  • 15. JBoss BRMS – some optimizations ● Support to POJOs as facts ● no mapping/data copy necessary ● Full split between Knowledge Base and Session ● lightweight session creation ● knowledge base sharing ● Completely Dynamic Knowledge Base ● Hot addition/removal/updates of rules/queries/processes ● Full support to First Order Logic and Set operations ● JIT compilation for constraints and data access 15
  • 16. JBoss BRMS – More optimizations Data Alpha Hashing Customer Order Node Sharing Gold Silver < $1000 >=$1000 Data Indexing Lazy Matching Discount: 15% Discount: 5% Discount: 10% 16
  • 18. Best Practices – BPM Architecture Interaction Layer EJB / POJO ESB Web Services Human Tasks Process Implementation Layer JBPM Console Reporting, BAM Dashboards Process Repository Queues Process Initialization Layer BPMN2 Authoring for BPMN2 Authoring for Business Users Developers Developer 18 Customer
  • 19. Best Practices – Process Initialization EJB MDB ● How do you start your process? Queues ● web services, EJB's, API call, RESTful ● what about prioritization of processes Process Initialization Layer ● use message queues ● other complex ideas to start processes ● Centralize startProcess in single location ● minimizes change effects in this layer Customer 19
  • 20. Process Implementation Layer Best Practices – Process Implementation ● Java nodes ● do you keep it clean? ● single unit of action per process step ● human task / admin interfaces ● Centralize you jBPM API access ● single WS / DAO / BOM / RESTful ● Domain specific nodes ● extensions via work item handlers ● Design process for reuse ● smallest unit of work 20
  • 21. Best Practices – Process Interaction ● Processes interact with your Enterprise ● Web Services, EJB, GUI, POJO, Exceptions, Bean Script, Rules... ● jBPM API & jBPM History DB & RESTful ● history / tasks / reporting ● single DAO ● single Web Service ● JBoss ESB + jBPM ● externalize rules calls in Decision Service (WS) Interaction Layer 21 Human Tasks EJB / POJO ESB Web Services
  • 22. Best Practices – Always good BPM practices... ● Simplify everything (KISS) ● apply OO to process design ● methods == sub-process + context in/out ● encapsulate == sub-process ● reuse == process repo (maven potential) ● unit testing == per node, sub-process, process ● exception handling (Exception Framework) 22
  • 23. Best Practices – Rule Architecture ● Partition your Knowledge Bases properly ● Subject matter ● Transaction / Service / Unit of Work ● Business Entity ● Avoid monolithic Knowledge Bases ● Avoid fine grained Knowledge Bases Knowledge Inference Knowledge Base Engine Session Tasks 23
  • 24. Best Practices – Rule Architecture ● Batch data loads ● Load 1000 facts and fire the rules faster than fire rules after each loaded fact ● Partition the data into multiple sessions ● Transaction / Service / Unit of work ● Creating a new session is cheap ● Cheaper than removing facts Knowledge Knowledge Inference Base Engine Session Tasks 24
  • 25. Best Practices – Rule Architecture ● Quality of the data/fact model is directly proportional to the performance and maintainability of the rules using it ● Think about the DBMS analogy ● Flatter models improve performance ● Smaller classes help avoiding recursions Knowledge Inference Knowledge Base Engine Session Tasks 25
  • 26. JBoss BRMS – Best Practices in Rules Authoring 26
  • 27. Best Practices – Rules Authoring ● Don't try to micro-control rules execution ● Use the Conflict Resolution Strategies instead ● Salience ● Agenda groups ● Ruleflow / Processes ● Dynamic Enablement Knowledge Inference Knowledge Base Engine Session Tasks 27
  • 28. Best Practices – Rules Authoring ● Don't overload rules ● Each rule should describe one and only one scenario→action mapping ● The engine will optimize shared conditions ● The engine supports inference Knowledge Inference Knowledge Base Engine Session Tasks 28
  • 29. Best Bad Practices – Rules Authoring rule “1 – Teenagers and Elders get Discount” rule “1 – Teenagers and Elders get Discount” when when Person age is between 16 and 18 or Person age is greater or equal to 65 Person age is between 16 and 18 or Person age is greater or equal to 65 then then Assign 25% ticket discount Assign 25% ticket discount end end rule “2 – Elders can buy tickets in area A” rule “2 – Elders can buy tickets in area A” when when Person age is greater or equal to 65 Person age is greater or equal to 65 then then Allow sales of area A tickets Allow sales of area A tickets end end Rules are being overloaded with multiple concepts, increasing maintenance and testing costs. 29
  • 30. Best Practices – Rules Authoring rule “0.a – Teenagers are 16-18” rule “0.a – Teenagers are 16-18” rule “0.b – Elders are older than 65” rule “0.b – Elders are older than 65” when when when when Person age is between 16 and 18 Person age is between 16 and 18 Person is older than 65 Person is older than 65 then then then then Assert: the person is a Teenager Assert: the person is a Teenager Assert: the person is an Elder Assert: the person is an Elder end end end end rule “1 – Teenagers and Elders get discount” rule “1 – Teenagers and Elders get discount” rule “2 – Elders can buy tickets in area A” rule “2 – Elders can buy tickets in area A” when when when when Teenager or Elder Teenager or Elder Elder Elder then then then then Assign 25% ticket discount Assign 25% ticket discount Allow sales of area A tickets Allow sales of area A tickets end end end end 30
  • 31. Best Practices – Rules Authoring ● One calculation (accumulate) per rule ● Accumulates have O(n) performance ● Sequences of accumulates have O(nm) performance ● n = number of matching facts ● m = number of accumulates rule “Sum debits” rule “Sum debits” when when rule “Sum debits and credits” rule “Sum debits and credits” accumulate( Debit( $d : amount ), accumulate( Debit( $d : amount ), when when $debits: sum( $d ) ) $debits: sum( $d ) ) accumulate( Debit( $d : amount ), accumulate( Debit( $d : amount ), then ... then ... $debits: sum( $d ) ) $debits: sum( $d ) ) accumulate( Credit( $c : amount), accumulate( Credit( $c : amount), rule “Sum credits” rule “Sum credits” $credits: sum( $c ) ) $credits: sum( $c ) ) when when then ... then ... accumulate( Credit( $c : amount ), accumulate( Credit( $c : amount ), $credits: sum( $c ) ) $credits: sum( $c ) ) then ... then ... 31
  • 32. Best Practices – Rules Authoring ● Rules vs Queries Rules Queries Control Invoked by the engine Invoked by the application Parameters Don't support parameters Support parameters Results Execute actions Return results rule “Approve VIP customers” rule “Approve VIP customers” query “Get customers by type”( $type ) query “Get customers by type”( $type ) when when when when $c : Customer( type == “VIP” ) $c : Customer( type == “VIP” ) $c : Customer( type == $type ) $c : Customer( type == $type ) then then end end insert( new Approved( $c ) ); insert( new Approved( $c ) ); end end “Use the right tool for the right job!” 32
  • 33. Best Practices – Rules Authoring ● Declared Types ● Facts used only by the rules ● Facts that change frequently with the rules ● POJOs ● Facts shared by both rules and application ● No data copy – very efficient ● Easier to integrate, easier to test ● When in doubt, use POJOs “Use the right tool for the right job!” 33
  • 34. Add references ● JBoss Enterprise BRMS Best Practices Guide http://www.redhat.com/promo/integrated_enterprise/brms-best-practices-form.html ● JBoss Enterprise BRMS Best Practices, Edson Tirelli, http://www.redhat.com/summit/sessions/jboss.html ● JBoss BRMS, http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/ ● BRMS Best Practices Process Initialization Layer, http://howtojboss.com/2012/08/15/brms-best-practices-process-initialization-layer/ 34