• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile Applications

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



An introduction to BRMS.

An introduction to BRMS.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

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

    • Business Rule Management Enables Agile ApplicationsDaniel SelmanProduct ManagerILOG, 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
    • Qwww.javarules.org A &