280 likes | 469 Views
Developing Decision Support Systems. with Business Rules and Constraint Engines Presenter: Jacob Feldman, PhD. Outline. Brief History Practical Experience: applications and products BR Market today Integrated Use of Constraint and Rules Programming Enterprise Decision Support Demos Q&A.
E N D
Developing Decision Support Systems with Business Rules and Constraint Engines Presenter: Jacob Feldman, PhD
Outline • Brief History • Practical Experience: applications and products • BR Market today • Integrated Use of Constraint and Rules Programming • Enterprise Decision Support • Demos • Q&A
BR and CP Products • Business Rules (BR) products • ILOG JRules, JESS, BLAZE, Haley & more • Exigen Rules • OpenRules • Constraint Programming (CP) products • ILOG Solver/Scheduler • One of the first ILOG’s US consultant • Taught advanced ILOG classes • Java Constrainer • Constraint Satisfaction Environment for Java
Business Rules Market • Gartner has declared: • BR continue to grow in importance • Tied to Business Process management and workflow modeling • $500 million market to double by 2007 • Also declared: The major driver is improved agility • “And customers are keen to move to service-oriented architectures capable of rapidly implementing process change using rules-based engines” • “Just as yesterday we separated client-server interface from process and from data, we are today separating rules from workflow and from services” • Newcomers: Oracle, MS
ILOG’s Demonstrates a Trend • ILOG JRules™ became a flagship product in last 5 years: "Revenue growth combined with an outstanding Business Rule Management System (BRMS) license growth rate of 60%, year over year, enabled us to deliver our best quarter ever“Pierre Haren, ILOG Chairman and CEO, July 27, 2005 • Focus shifts to BR: • BR growth rate: 60% • Compare with overall growth rate: 16%
Adding Decision Support to Workflow • Business rules management frameworks have already proved their efficiency for rules representation, maintenance, and execution • At the same time, business rules are always attached to a business process such as: • Claims processing, loan origination, service configuration, insurance policy management, end other complex document-intensive business processes • It is natural for business rules to be used to create decision support workflow nodes. Such nodes can control the workflow logic, generate and redirect workflow items
Non-Technical User Technical User Rules Instances Enterprise Application with Three Engines: Functional Scheme Template Editor Rule Editor Parameterized Business Rules (Templates) Rules Instances Create, Modify, Delete, Activate, Validate Client/Problem specific Rules with template parameters Rules Representation and Semantics Business Object Model Enterprise Data Business Application Rule Engine(s) Workflow Engine Constraint Engine(s) Solving Optimization Problems Representing Business Processes Executing Rules
Adding Optimization Components • Rules themselves cannot describe ALL possible business situations and recommend the best solution • Apply Optimization engine each time there are multiple alternatives and looking not for a solution, but for the best solution • Integrate Rule Engine with different Optimization Engines (constraint-based, linear, other) • Add sophisticated decision-support capabilities by applying the optimization engine against different optimization objectives defined in rules
Rules Integrated with Constraints • Ability to define and solve constraint satisfaction problems. Automatic formulation of optimization problems in rules and solving them with a built-in constraint engine • Hard and Soft Rules • Minimization of the total rule violations • Rules Consistency and Coherence validation • Diagnose rules overlapping and under-covering • This feature is particularly important for complex classification rule tables that go far beyond simple if-then statements
Rules as Constraints • Ability to represent rules as constraints • Use of both rules and constraint programming techniques inside the same framework to solve complex business problems that usually out of reach of regular rule engines • Real-world examples
Financial Portfolio Management Use rules like “Technology Stocks should be within 20% and 35%” to define the target portfolio Objective: keep all actual portfolios as close as possible to the target portfolio Integrated Engines: Rule Engine warns about possible rule violations during sell/buy transactions Constraint Engine recommends the best combination of trade orders to minimize the total rules violation Live Demo Rules andConstraints Working Together: Financial Services
Loan Origination Applying for a loan, a customer usually provides a desired loan amount, term, and a list of included borrowers with different credit scores Objective: to avoid rejection or lengthy “what-iffing”, a bank allows to “a little bit” violate the requested parameters to find a loan with the minimal interest rate Integrated Engines: Rule Engine defines all eligible loan products Constraint Engine recommends the best combination of the loan amount, term, and borrowers to select the most suitable loan product Rules andConstraints Working Together: Financial Services
Telecom Service Configuration Personalized configuration of available calling plans and other wireless, local, long distance and Internet services Rules-based marketing campaigns Integrated Engines: Rule Engine determines cross/up selling opportunities Rule Engine warns about possible rule violations Optimization Engine recommends the best set of services that fit a customers’ preferences and actual calling pattern Rule and Optimization Engines work together with customer data to determine and deliver the best account management advice to the CSR desktop Rules andConstraints Working Together: Telecom Example
Insurance Pricing Discount Calculation According to the specified business rules, the customer is eligible to N different discounts There is a rule/constraint that states that the total discount cannot be more than x%. Objective: find a combination of the discounts that satisfies the “x%” constraint while maximizing/minimizing the premium Integrated Engines: Rule engine figures out all eligible discounts Optimization engine finds the best alternative for customer and company Rules andConstraints Working Together: Insurance Example
Rules and Constraints Working Together • Hybrid use of rules and constraint technologies: Rule Engine + Constraint Engine = Online Decision Support • Use Rules • to define and modify a business problem • Use Constraints • to solve a optimization problem
BR: What is really important • “What” is more important than “How”:Rules Organization and Management is more important than Rules Execution • Business people are in charge working in concert with developers • Rules harvesting and representation • Flexible rules management facilities with an authorized access and version control • Testing facilities • Consistency checking • Plug-ability in any modern architecture
Typical BRMS in Action Add Constraint Engine Add CSP definition(s) here
OpenRules™ - the most popular Open Source Rule Engine • Business rules presented in the MS Excel • the most popular existing GUI • With pieces of a Java code • the most popular programming language • Integrated into Eclipse • the most powerful IDE
OpenRules™ • Milestones • December-2003: First Public Availability • September-2004: Became the most popular Open Source BRE (see JavaRules.org) • May-2005: Rules-based Web Development introduced • Recent Statistics • Customers: • Registered: > 1,000 • All: > 5,000 • Statistics by Countries and Organizations: OpenRules.com Statistics • Average number of downloads: 10 per day • Average number of visitors per month: 5,000
OpenRules Functional Scheme Adding Constraint Engine here
Integrating BR and CP • BRMS provides a business user interface for Constraint-based Services • CSP expressed in terms of rules • “Drive.age < 17” as a regular and as a constrained expression • Different combinations of Rules- and Constraint-based services: • Constraints instead of 1000s rules to find an optimal solution • Rules to validate CSP’s solutions
OpenRules Demo • Q & A