theserverside java symposium 2005 : business rule management, enables agile applications

21
Business Rule Management 0.8/030304 Daniel Selman Product Manager ILOG, JRules Enables Agile Applications

Upload: dan-selman

Post on 18-Dec-2014

178 views

Category:

Documents


3 download

DESCRIPTION

An introduction to BRMS.

TRANSCRIPT

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

Business Rule Management

0.8/030304

Daniel SelmanProduct ManagerILOG, JRules

Enables Agile Applications

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

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

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

Business rules

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.”

You have them… where are they?

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

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

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

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.

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

Typical code sample…

Petstore:

OrderFulfillmentFacadeEJB

… that will be subject to change.

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

Java Rule Engines

ILOG JRules

Fair Isaac Blaze AdvisorPegaRules

QuickRules

Haley

OPS/J

Jess

Drools (Open Source)

Mandrax (Open Source)

40+ listed at http://www.javarules.org

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

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)

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

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?

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

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.

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

So, BRMS is…

A lot more than just a rule engine!

But, the rule engine is an important

component.

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

BRMS PersonaDeveloper• 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.

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

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!

Developers

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

Policy ManagersThink “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.

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

Key pieces of the puzzle

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

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

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

Sample BRMS requirementsRich 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

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

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)

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

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! ;-)

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

Demonstration

ILOG JRules

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

QA&www.javarules.org