Business Rule Management
        Enables Agile Applications




Daniel Selman
Product Manager
ILOG, JRules

                                     0.8/030304
This presentation
 What are business rules?
 When do I need a Business Rule Management System
  (BRMS)?
   •   BRMS is a concept, not a product!
 What is a BRMS?
 Standards update
 Architectural components
 Some BRMS requirements
 Conclusions
 Demo of ILOG JRules
 Q&A
Business rules
              You have them… where are they?
 Business rules are everywhere!
 They define how you run your business:
   •   Compliance, enforcement, validation
         “No US citizen may transfer money to Cuba.”
         “All hire orders must be accompanied by a valid drivers license.”
         “No packaged shipped within the continental USA may exceed 25
          KG.”
   •   Correlation
         “If the customer has ADSL with a speed of less than 512 and they
          have an average usage of over 20 hours per week, offer the
          customer 1024 ADSL with free installation.
   •   Computation
         “If the customer has had a bankruptcy in the past two years
          decrease their credit score by 150.”
         “Offer a 10% discount on all widgets if the customer has spent
          over $500 over the past 12 months.”
Business rules
“What Not How”
  • Business rules are generally declarative, not procedural
  • From a programmer’s perspective they are generally
       individually trivial

Application independent
  • Statements about how you run your business may last
       longer than your current IT infrastructure
   •   Your policy managers may not understand the details of
       your current IT infrastructure
   •   May need to be deployed to multiple applications

Application dependent
  • To be executed business rules have to be mapped on to
       your IT infrastructure
How do you deal with change?
 “Why do you want to change that? It will take 6 months
  to change now!”
 I don’t need a rule engine…
   •   “We’ll cross that bridge when we get to it, in version 2.0…”
   •   “The command pattern, write plugins…”
   •   “I’ll load the values from a text/xml file…”
   •   “Javascript/Groovy/BSH/AOP will allow us to change the
       policy quickly…”
   •   “It’s all in the database anyway. The values and the stored
       procedures.”
   •   Coding is cheaper. It’s being written in
       India/China/Vietnam.
 I’ll write my own rule engine.
Typical code sample…


               Petstore:
      OrderFulfillmentFacadeEJB




     … that will be subject to change.
Java Rule Engines

ILOG JRules
Fair Isaac Blaze Advisor
 PegaRules
 QuickRules
 Haley
 OPS/J
 Jess
 Drools (Open Source)
 Mandrax (Open Source)
 40+ listed at http://www.javarules.org
Standards Update
 JSR-94 - “The Java Rule Engine API”
   • Minor update 1.0.1
   • Sample implementations:
            ILOG JRules
            Fair Isaac Blaze Advisor
            Yasutech QuickRules
            Jess
            Drools
            Computer Associates
   •   Spring integration

 OMG
   • Production Rule Representation
          MOF2 metamodel for production rules
   •   Business Semantics of Business Rules
          Natural language, common graphics and tables

 W3C
   • Workshop on rule languages, April (Washington DC)
When do I need a BRMS?
 Do you want/need to know what your business policy is?
 Do non-developers edit or view business rules?
 Are change cycles too short for traditional development?
 Do you struggle to communicate around business
  requirements with business users?
 Is it hard to maintain the performance of your home-grown
  system as the number of rules increases?
 Would you like to adapt business policy based on business
  performance?
 Do you need to apply business policy based on temporal
  attributes?
   •   How was your income tax calculated in 1996?
What is a BRMS?

A Business Rule Management System
 (BRMS) is a set of tools and processes that
 facilitate the communication, deployment
 and execution of business policy within an IT
 infrastructure.

A BRMS manages business rules as
 enterprise assets and enables a rich
 development lifecycle for business policy.
So, BRMS is…

A lot more than just a rule engine!

But, the rule engine is an important
 component.
BRMS Persona
Developer
  •   Develops on the J2SE/J2EE/.NET platform.

Business Analyst, Modeler
  •   Working closely with developers, the bridge between
      development and business people, gathers
      requirement and business needs.
  •   Can be a “super-set” of the developer profile in some
      cases.
  •   Familiar with UML-like modeling tools.

Policy Manager
  •   They understand the business drivers and domain,
      from which they derive business rules.
  •   They are not comfortable using typical developer
      tools.
Developers
 Do not like to deal with the messy word of business
  policy very much…
 But, like to create frameworks for:
   • Logging
   • Security
   • Wiring general hunks of code together
   • Scripting
   • UI aggregation
   • ORM
   • Webflow
 But almost nothing for business policy!
 Think of business rules as hunks of code
   •   …that unfortunately keep changing!
Policy Managers
Think “IT” is:
  •   Too slow
  •   Ignorant of the business requirements
  •   More interested in playing with technology X than
      improving the bottom line…
  •   A bottleneck to innovation and putting more
      pressure on the competition

Think of business rules as malleable
 business assets
  •   …governing or influencing business behavior.
  •   A competitive tool.
Key pieces of the puzzle
BRMS implementations
 Developers build a framework (often an application
  specific container)
   • Logging, security, transactions, enterprise integration, object models,
        static business rules etc.
    •   Hot deployment support for business rules

 Assist analysts/modelers in defining the business object
  model/vocabulary
 Deploy/build rule editors for business users
 Help define and tool processes
   • Merging rules between environments
   • Moving rules from staging to production
   • Testing and validating support for rules
Sample BRMS requirements
 Rich client editor for business rules
   •   IF-THEN-ELSE rules, decision tables, decision trees

 Web interface for editing business rules
 SCC integration for rules
 A central rule repository for business users
 Hot deployment of rules
 Rule debugger
 Rule engine
 Business reporting
 Runtime monitoring
Advanced BRMS requirements
Dynamic runtime reporting
Rule refactoring and impact analysis
Business simulation and testing framework
Collaboration features for large numbers of
 policy managers: security, permissions,
 locking
Dealing with concurrent streams of business
 policy development (branch, merge)
…
When done well BRMS enables…

More effective communication between IT and
 business owners

 Rapid deployment of changes in business
 policy, with minimal IT involvement

Clearer separation of roles
  •   IT owns infrastructure code and processes
  •   Policy managers own business rules

Everyone is happier! ;-)
ILOG JRules




         Demonstration
Q
www.javarules.org
                    A
                    &

TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile Applications

  • 1.
    Business Rule Management Enables Agile Applications Daniel Selman Product Manager ILOG, JRules 0.8/030304
  • 2.
    This presentation  Whatare business rules?  When do I need a Business Rule Management System (BRMS)? • BRMS is a concept, not a product!  What is a BRMS?  Standards update  Architectural components  Some BRMS requirements  Conclusions  Demo of ILOG JRules  Q&A
  • 3.
    Business rules You have them… where are they?  Business rules are everywhere!  They define how you run your business: • Compliance, enforcement, validation  “No US citizen may transfer money to Cuba.”  “All hire orders must be accompanied by a valid drivers license.”  “No packaged shipped within the continental USA may exceed 25 KG.” • Correlation  “If the customer has ADSL with a speed of less than 512 and they have an average usage of over 20 hours per week, offer the customer 1024 ADSL with free installation. • Computation  “If the customer has had a bankruptcy in the past two years decrease their credit score by 150.”  “Offer a 10% discount on all widgets if the customer has spent over $500 over the past 12 months.”
  • 4.
    Business rules “What NotHow” • Business rules are generally declarative, not procedural • From a programmer’s perspective they are generally individually trivial Application independent • Statements about how you run your business may last longer than your current IT infrastructure • Your policy managers may not understand the details of your current IT infrastructure • May need to be deployed to multiple applications Application dependent • To be executed business rules have to be mapped on to your IT infrastructure
  • 5.
    How do youdeal with change?  “Why do you want to change that? It will take 6 months to change now!”  I don’t need a rule engine… • “We’ll cross that bridge when we get to it, in version 2.0…” • “The command pattern, write plugins…” • “I’ll load the values from a text/xml file…” • “Javascript/Groovy/BSH/AOP will allow us to change the policy quickly…” • “It’s all in the database anyway. The values and the stored procedures.” • Coding is cheaper. It’s being written in India/China/Vietnam.  I’ll write my own rule engine.
  • 6.
    Typical code sample… Petstore: OrderFulfillmentFacadeEJB … that will be subject to change.
  • 7.
    Java Rule Engines ILOGJRules Fair Isaac Blaze Advisor  PegaRules  QuickRules  Haley  OPS/J  Jess  Drools (Open Source)  Mandrax (Open Source)  40+ listed at http://www.javarules.org
  • 8.
    Standards Update  JSR-94- “The Java Rule Engine API” • Minor update 1.0.1 • Sample implementations:  ILOG JRules  Fair Isaac Blaze Advisor  Yasutech QuickRules  Jess  Drools  Computer Associates • Spring integration  OMG • Production Rule Representation  MOF2 metamodel for production rules • Business Semantics of Business Rules  Natural language, common graphics and tables  W3C • Workshop on rule languages, April (Washington DC)
  • 9.
    When do Ineed a BRMS?  Do you want/need to know what your business policy is?  Do non-developers edit or view business rules?  Are change cycles too short for traditional development?  Do you struggle to communicate around business requirements with business users?  Is it hard to maintain the performance of your home-grown system as the number of rules increases?  Would you like to adapt business policy based on business performance?  Do you need to apply business policy based on temporal attributes? • How was your income tax calculated in 1996?
  • 10.
    What is aBRMS? A Business Rule Management System (BRMS) is a set of tools and processes that facilitate the communication, deployment and execution of business policy within an IT infrastructure. A BRMS manages business rules as enterprise assets and enables a rich development lifecycle for business policy.
  • 11.
    So, BRMS is… Alot more than just a rule engine! But, the rule engine is an important component.
  • 12.
    BRMS Persona Developer • Develops on the J2SE/J2EE/.NET platform. Business Analyst, Modeler • Working closely with developers, the bridge between development and business people, gathers requirement and business needs. • Can be a “super-set” of the developer profile in some cases. • Familiar with UML-like modeling tools. Policy Manager • They understand the business drivers and domain, from which they derive business rules. • They are not comfortable using typical developer tools.
  • 13.
    Developers  Do notlike to deal with the messy word of business policy very much…  But, like to create frameworks for: • Logging • Security • Wiring general hunks of code together • Scripting • UI aggregation • ORM • Webflow  But almost nothing for business policy!  Think of business rules as hunks of code • …that unfortunately keep changing!
  • 14.
    Policy Managers Think “IT”is: • Too slow • Ignorant of the business requirements • More interested in playing with technology X than improving the bottom line… • A bottleneck to innovation and putting more pressure on the competition Think of business rules as malleable business assets • …governing or influencing business behavior. • A competitive tool.
  • 15.
    Key pieces ofthe puzzle
  • 16.
    BRMS implementations  Developersbuild a framework (often an application specific container) • Logging, security, transactions, enterprise integration, object models, static business rules etc. • Hot deployment support for business rules  Assist analysts/modelers in defining the business object model/vocabulary  Deploy/build rule editors for business users  Help define and tool processes • Merging rules between environments • Moving rules from staging to production • Testing and validating support for rules
  • 17.
    Sample BRMS requirements Rich client editor for business rules • IF-THEN-ELSE rules, decision tables, decision trees  Web interface for editing business rules  SCC integration for rules  A central rule repository for business users  Hot deployment of rules  Rule debugger  Rule engine  Business reporting  Runtime monitoring
  • 18.
    Advanced BRMS requirements Dynamicruntime reporting Rule refactoring and impact analysis Business simulation and testing framework Collaboration features for large numbers of policy managers: security, permissions, locking Dealing with concurrent streams of business policy development (branch, merge) …
  • 19.
    When done wellBRMS enables… More effective communication between IT and business owners  Rapid deployment of changes in business policy, with minimal IT involvement Clearer separation of roles • IT owns infrastructure code and processes • Policy managers own business rules Everyone is happier! ;-)
  • 20.
    ILOG JRules Demonstration
  • 21.