The FICO Blaze Advisor Business Rules Management System

Transcription

The FICO Blaze Advisor Business Rules Management System
white paper
The FICO™ Blaze Advisor® Business Rules
Management System
How it Works
Updated for Release 6.5
www.fico.com Make every decision countTM
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
table of contents
»» Introduction to Business Rules Management Technology. . . . . . . . . . . 4
»» Introducing FICO™ Blaze Advisor®. . . . . . . . . . . . . . . . . . . . . . . . . . 4
Interactions between Applications, Data and Rules. . . . . . . . . . . . . . . . . . . . . . . . 6
Rules Use Corporate Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
»» Rule Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Inferencing Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Sequential Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
»» Structured Rule Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Grouping Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
»» Decision Process Flows: Procedural Execution of Rules . . . . . . . . . . . . 14
»» Decision Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
»» Decision Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
»» Scorecards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
»» Advanced Rule Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
»» Rules Management for Non-Technical Users. . . . . . . . . . . . . . . . . . . 19
Building Rule Maintenance Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
»» Verification, Validation and Testing Rules. . . . . . . . . . . . . . . . . . . .
25
»» Repository Management and Version Control. . . . . . . . . . . . . . . . .
27
Management Properties, Queries and Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
»» Rule Services in Production. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
Rule Redeployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Generating Production Deployment Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
»» Extending Blaze Advisor with SmartForms . . . . . . . . . . . . . . . . . . .
34
»» Integrating Analytics for Enterprise Decision Management . . . . . . . . . 35
© 2011 Fair Isaac Corporation. All rights reserved.
page 2
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
table of contents
»» Business Rules and the IT Ecosystem. . . . . . . . . . . . . . . . . . . . . . .
37
»» Rules Management Technology Benefits . . . . . . . . . . . . . . . . . . . . . 38
»» About FICO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
© 2011 Fair Isaac Corporation. All rights reserved.
page 3
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Introduction to
Business Rules
Management Technology
»» Introducing
FICO™ Blaze Advisor®
Business rules management technology is software that provides organizations with a number
of advantages:
1. Organizations can automate high-volume, operational decisions quickly and effectively while
maintaining business control over those decisions.
2. Non-technical business managers and analysts can safely and securely maintain decision logic
used in IT systems without being dependent on technical resources. This reduces application
modification cycle time and thereby speeds organizational response to changing conditions. It
can also significantly reduce total cost of ownership for the application over time.
3. Application developers are able to use architectures that separate the decision logic from
the application control logic. The logic that represents business decisions can be maintained
independently of the application code and can be updated without stopping and restarting
the applications. The business rules in these decisions can be reviewed and understood by
non-developers. Separating the business logic from procedural code also allows for faster
development of the business logic.
4. Business logic can be shared across applications, thereby promoting consistent behavior
throughout the enterprise. This becomes more important as organizations offer services over
multiple channels such as web self-service, call center and mobile access.
5. Business rules can be defined, reviewed and maintained using a variety of different metaphors,
such as decision tables, decision trees, graphical decision flows and customized templates. This
means that any set of rules can be displayed in the most practical and natural way, allowing
a clear view and understanding of their purpose and interrelationship, even in multi-step
decision processes.
6. Organizations can add value to their business processes by using business rules to personalize
their services, dialogs and content, based on user profile data and process characteristics.
7. Businesses can make automated decisions based on data accessed as needed from a variety
of sources including multiple databases, XML documents, Java objects, .NET/COM objects and
Cobol copybooks.
8. Business rules management technology provides an excellent platform for a coherent approach
to automating and improving operational business decisions using Decision Management.
Blaze Advisor business rules management system is a complete solution for enterprise business rules
management through decision service design, authoring and testing and rule service deployment
and maintenance. A rule service is defined as a monolithic view of all the conditions and actions
that need to be considered in performing a self-contained, callable decisioning process as a service
function from a larger application. The following graphic illustrates how the Blaze Advisor system’s
functional components interact with business applications and data.
Recent Honors for FICO and
Blaze Advisor
• Best Business Rules Management
System for 2008—InfoWorld
• Best Business Rules-Based Decision
Management for 2008—Yphise
• 2008 Innovative Implementation
Award—ACORD
© 2011 Fair Isaac Corporation. All rights reserved.
page 4
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
•
Rule Engine/Rule Server
Deployment Manager
Rules-Driven Business or
Operational Application
“I need a
decision made”
component
Customer
Profiles
API
•
Industry
Data
Applications could be:
•
•
•
•
•
•
•
•
Product Recommendation
Regulatory Compliance
Account Management
Forms Selection
Fraud Detection
Data Validation
Customer Rating
etc, etc...
Rule Repository
XML, LDAP, JDBC
Fair Isaac® Blaze Advisor®
business rules
management system
Development
Environment
•
Enterprise
Data
Web-Based
Rule
Maintenance
Applications
•
Blaze Advisor components integrate business applications and data (internal or external) with rules
management functions.
What Is a Decision Service?
A Decision Service can be defined as a self-contained, callable component
with a view of all the conditions and actions that need to be considered to
make an operational business decision. More simply, a Decision Service is a
component or service that answers a business question for other services.
Decision Services use your data, and insight derived from it, to drive
automated decisioning. Decision Services also isolate the logic behind
your operational decisions, separating it from business processes and the
mechanical operations of procedural application code. A Decision Service
represents a single point of decision-making across all your systems and
processes. As such, it allows you to focus resources on improving and even
optimizing that decision. You can reuse Decision Services across multiple
applications in many different operational environments. Decision Services
can also eliminate the time, cost and technical risk of trying to reprogram
multiple individual systems simultaneously to keep up with changing
business requirements.
•
•
A business application asks a Decision
Service to perform some business service
(for example, to provide a business
assessment, classify and diagnose
information, recommend an action or
validate data).
The decision service is executed using
the FICO™ Blaze Advisor® Rule Server
and Engine, which manages scalability,
multiple service requests, rule updates
and more.
These Blaze Advisor components access
any necessary data sources to obtain
information as and when needed to
perform the service.
The business rules that drive the decision
service are maintained in a repository
that provides the runtime service with
the latest definitions of rules, and that
is updated by the development and
maintenance applications.
Blaze Advisor system’s integrated
development environment (IDE) is
used for the technical definition of the
decision service. Blaze Advisor system’s
IDE is a complete environment for rule
service design, rule authoring, rule
testing, creating rules management
applications and for specifying design
templates for rules. The IDE is available in
six European and Asian languages.
Blaze Advisor rule maintenance
applications allow controlled rule editing
and creation by non-technical users
through standard web technologies
and store the rules created and edited
by these applications in the same
rule repository.
A sampling of the types of rule services our
customers have built include:
•
•
•
•
•
•
•
•
Advertising scheduling and availability
Benefits eligibility determination
Claims handling
Credit approval and limit determination
Credit collection strategies
Data validation
Diagnostic advice
Insurance underwriting
© 2011 Fair Isaac Corporation. All rights reserved.
page 5
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
• Problem resolution procedures
• Product assembly configuration
• Product recommendations
• Regulatory compliance
Interactions between Applications, Data and Rules
Generally, business applications invoke a decision service for a decision just as they would invoke
a database for data. The results of the decision process can be used to drive further operations
and interactions. When invoked, a decision service uses the application data (referenced as any
combination of Java objects, database records, XML documents, Microsoft .NET/COM+ objects, or
custom-defined objects) and Cobol copybooks to make decisions based on the application data
and business rules. The decision results can be passed back to the calling application or can be
defined as actions taken in the decision process. Actions might include database update messages,
calls to external applications or use of Java or .NET methods on objects. As a part of FICO’s Decision
Management technology, FICO™ Blaze Advisor® can also carry out optimized strategies and invoke
sophisticated model execution when advanced mathematics are needed.
FICO™
Blaze Advisor®
business rules
management
system Rule
Engine
Predefined Rule Services
Rule Service #1
Decision
Processes
Rules
Models
Activate
Appropriate
Rule Service
Rule Service #2
Rule
Engine
Execution
Interactive/Batch
Application,
Process, Channel
FICO™ Blaze Advisor®
Rule Server
Decision
Processes
Rules
Models
Rule Service #3
Decision
Processes
Rules
Models
Event
Listener
API Call
Communicate
Back to
Requesting
Application
Event or
Transaction
Occurs
Application
Makes
Explicit Call
Call Center
Cellular
Email
Web Service
Invocation
Web
Internal/External Data Sources
Transactional
Data
Bureau
Data
Customer
Data
Operational
Data
Response/
Recommendation
Returned to
Application
Application
Direct Mail
Control
Returned to
Application
etc...
ATM
Blaze Advisor decision services respond to triggering events from an application and provide results
using data from any data source.
Rules Use Corporate Data Sources
Rules do not operate in a vacuum, of course. They rely upon data values to test conditions, and they
may specify actions that update data for use outside the rule service. The data that rules operate
against is provided by any external business object model that either:
© 2011 Fair Isaac Corporation. All rights reserved.
page 6
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
• Conforms to a known standard (JavaBeans, EJB, JDBC, Microsoft .NET/COM+/DCOM, W3C XML,
OMG CORBA) or
• Is accessible via Java and the FICO™ Blaze Advisor® Business Object Model Adapter Kit.
Internally, Blaze Advisor maintains references to data in an object/property model representation
analogous to native Java. For instance, a Customer object might be defined as having properties of
Account Number, First Name, Last Name, Age, Account Balance and so on. Each property has a
specified class (e.g., string, date, integer, money…) that tells the system how to format it and perform
operations upon it. All data items are worked within Blaze Advisor using this object/property concept,
regardless of their representation outside the rule service. Objects can inherit properties from parent
objects, so you could define a Customer object and then define a VIP Customer that automatically
takes on all the properties of Customer, with your additional properties of Personal Representative
and Credit Line.
Because you already have data definitions (also known as object models or data models) in your
computer systems, Blaze Advisor makes it easy to scan those definitions and automatically create
corresponding object/property references to them for use in rules. This eliminates the need to reenter
object definitions by hand. Internal (rule system-specific) object model representations can be
created from external object models created with Java objects/JavaBeans, COM/CORBA/.NET objects,
XML schemas or relational database table definitions. Blaze Advisor includes proprietary utilities called
Business Object Model Adapters (BOMA) that read or introspect the external data source definition,
create an object/property representation and build automatic read/update links to the external data
source for real-time reference in rule conditions or actions.
Object Model Import Wizards automatically connect to external data sources for immediate use in
writing rules.
© 2011 Fair Isaac Corporation. All rights reserved.
page 7
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Rule Execution
Data manipulation through object/property references may use standardized input/output facilities
for the data type (e.g., database open/read/write commands), or may call on methods defined and
stored with the object. Object Models may also be defined in third-party UML-based utilities such as
Together/J or Rational Rose and imported into FICO™ Blaze Advisor®.
Rule Execution Components
Ruleflows define the graphically maintained sequence of execution steps in a decision
process, using events, loops, branches and tasks. Each task in the ruleflow is defined by a
collection of rules (ruleset), decision table, function or a subordinate ruleflow. Ruleflows are
reusable across multiple rule services.
Rulesets are groups of rules organized for clarity and efficiency of definition, execution and
maintenance. Rules in a ruleset are executed as called upon by rule flow tasks. Rulesets, like
all of component types mentioned in this section, are reusable across multiple ruleflows and
rule services.
Decision Tables are look-up tables where rows and columns represent different conditions
and the resulting action or returned data value is defined by their intersection. Decision
Table data can be imported from external sources.
Decision Trees graphically depict chains of dependent conditions leading to an action.
Trees can be imported from FICO™ Model Builder, where they can be designed based on a
combination of statistical data analysis and company policies.
Scorecards are a special form of table that examine different properties or characteristics
of an object or transaction, and assign weights based on the values. All underlying weights
are added to arrive at an overall score, which can be compared against other scores for a
rank-based decision. Advanced features include the ability to track significant factors in the
overall score.
Functions perform algorithmic or procedural processing such as calculations and
executing external services. Blaze Advisor contains a rich programming syntax that allows
array handling, looping, case selections and other manipulations familiar to programmers.
The functional language reduces or eliminates the need to link to external programs as part
of a rule-based decision process.
A business rule is defined as “a statement that defines or constrains some aspect of the business...
It is ‘atomic’ in that it cannot be broken down or decomposed further into more detailed
business rules.”1
A business rule explicitly defines what action should result for a given set of conditions. Business rules
are often referred to as “declarative” because they declare a particular result that must occur any time
the corresponding conditions are met.
1. GUIDE Business Rules Project, November 1993 - http://www.businessrulesgroup.org/first_paper/br01c3.htm#s3c
© 2011 Fair Isaac Corporation. All rights reserved.
page 8
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
As an example, consider a business rule (expressed here in FICO™ Blaze Advisor system rule syntax) for
adjusting status and premiums of account holders:
If
the Outstanding_balance of Customer’s account exceeds $1000 and
the Standing of Customer’s Account is “Overdue” and
Customer’s ID starts with “AX3”
Then set Customer’s Status to “Watchlist” and
increment Customer’s Rate by 0.05.
This example is fairly simple. The conditions examine specific characteristics of the customer and his
or her account to determine the appropriate follow-up action and rate adjustment. While individual
rules of this sort can be simple to describe, the combinations of condition values possible make it
necessary to have a way to look at many rules very quickly to determine which is appropriate to the
case at hand.
For instance, consider the above company. If it has categories for four different types of account
standings, 10 balance amount categories and 25 customer ID segments, there are 1,000 different
combinations of conditions possible. The rule processing engine must locate one rule to be executed
based on the one corresponding combination of conditions. To make matters more complex, there
are three different properties that must be read in order to make the appropriate rule selection
decision (Outstanding balance, Account standing and Customer ID).
Blaze Advisor contains an advanced rule engine that delivers maximum performance for online/
interactive and batch applications of business rules. To do so it offers both inferencing-based
execution of rules and sequential execution of rules, each of which performs better in certain
circumstances. As the rule syntax is the same for all execution modes and as individual rulesets can be
executed using the ideal approach, Blaze Advisor users can optimize performance across a range of
systems and platforms without changing their code.
Inferencing Execution
Blaze Advisor contains a rule engine that can execute rules based on an optimization of the “Rete”
algorithm2 known as Rete III. This algorithm uses rapid pattern matching to relate the conditions that
are true at any given moment to the appropriate rule or rules. In our account handling rule, Blaze
Advisor is much more efficient at determining that this rule is relevant when compared to “case”
statements and “nested if statements” in procedural code. The more rules, conditions and objects
included in a decision process, the more valuable the rule engine is in saving processing time.
Of course rules do not exist in isolation. The results of one rule may influence many others. The
previous rule was conditioned in part on the customer’s Account standing being “Overdue.” It is likely
that the determination of Account standing comes from other rules such as:
If
the Outstanding_balance of Customer’s account exceeds $5 and
Customer’s Last_Payment_Date is earlier than today—2 months
Then set the Standing of Customer’s Account to “Overdue.”
2. “RETE: A fast algorithm for the many pattern/many object pattern matching problem.” Artificial Intelligence,
19:17--37, 1982 by Charles L. Forgy.
© 2011 Fair Isaac Corporation. All rights reserved.
page 9
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
The rule engine maintains proper order dependencies between rules so that developers do not
need to write explicit code to specify which rules affect others. FICO Blaze Advisor provides very high
performance for such data-directed reasoning (or “forward chaining”) using Rete III.
Rete III is the most advanced commercially-available inference engine, benchmarking more than
300% faster than its competitors. Rete III was developed by Charles Forgy, Ph.D.— the inventor of the
original Rete rule algorithm used in almost all production inference-based solutions in the industry
today. Rete III was developed specifically to make it possible for rule systems to deal efficiently with
large amounts of data as well as large numbers of rules. While other rule engines bog down as rule
complexity or transaction volume increases, Rete III scales effectively to provide a high-performance
enterprise solution. Rule engines based on the original Rete rule algorithm scale well as rules
complexity increases, but performance degrades in relation to an increase in data volumes. The Rete
III engine is significantly more scalable and efficient, making the engine 10 times faster on large rule
sets with large quantities of data to assess. Performance of traditional Rete implementations typically
degrades increasingly quickly as the complexity of data increases. Rete III, however, has no such
performance barrier and scales steadily to support even the most complex data.
For example, in benchmark testing conducted by FICO, the Optimized Rete mode completed the
standard “Miss Manners 128” benchmark invocation in just 0.32 seconds on a single CPU while the
“Waltz 50” benchmark was completed in just 0.331 seconds. These represent 4,493 and 2,860 rules per
second per CPU, respectively. These are industry-leading numbers and can easily be compared across
platforms using the published test syntax. Additionally, Blaze Advisor exhibited near linear scalability
as the number of available processors was increased.
1.4
SERVICE INVOCATIONS PER SECOND
1.2
1.0
0.8
0.6
0.4
0.2
0.0
1
2
3
4
NUMBER OF PROCESSORS ENABLED
Platform 1–Optimized Rete
Platform 1–Traditional Rete
Platform 2–Optimized Rete
Platform 2–Traditional Rete
Graph showing the relative performance of Rete and Rete III for an increasing number of CPUs.
© 2011 Fair Isaac Corporation. All rights reserved.
page 10
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
FICO™ Blaze Advisor also supports a “backwards reasoning” process that searches for rules necessary
to determine the conditions for a rule under consideration. For instance, if the above rule determined
that the account status was Overdue, it would trigger the potential execution of the first rule. But
for that rule to be processed, it is also necessary to know the customer’s ID. We could specify a rule
covering this need as follows:
Whenever Customer’s ID is needed
Then Ask (“Customer_Questions,” Customer).
In the above rule, “Customer_Questions” specifies a pre-defined set of questions designed to collect
multiple data values at one time.
Sequential Execution
Not all groups of rules require a Rete network to track rule interdependencies and maintain
condition-matching tables for selection of which rules to fire. Many applications need to call upon
sets of rules that are independent. For instance, an automated system that checks applications for
valid data needs to consider all validation rules for each data element. It is more efficient in such
cases to simply evaluate each rule’s conditions in a fixed sequence. Each rule is evaluated to be
true—in which case a corresponding action is triggered—or false—in which case it is skipped and
the next rule is checked. The results of a rule’s actions will not trigger a previously evaluated rule to be
reconsidered.
Blaze Advisor allows this type of sequential rule processing to be chosen for a given set of rules,
while other rule groups are evaluated with full Rete inferencing. Sequential evaluation is often useful
in batch applications, where a limited number of rules are invoked over and over for large numbers
of data records. Each individual rule may cause a data update or an exception to be logged, but an
individual rule is unlikely to change the conditions of another rule.
For fastest possible execution of these types of rules, project developers may choose to identify a
set of rules for execution through automatically generated code. This code can be compiled and run
on the host platform at native processing speeds, with no additional load from rule engine features
processing. Blaze Advisor can generate code for both .NET and Java platforms with an option known
as “Compiled Sequential” processing.
The sequential or batch tests—both of which used real customer projects—attained a rule
execution rate of 187,728 rules per second per CPU for complex rules (representing 1,183,252
predicate evaluations per CPU per second) and 3,543,424 rules per second per CPU for simpler rules
(representing 6,565,757 predicate evaluations per CPU per second). These numbers are extremely
high for real customer rules, as opposed to the “if true then do nothing” kinds of rules often used
for performance benchmarking. Additionally, Blaze Advisor exhibited near linear scalability as the
number of available processors was increased.
© 2011 Fair Isaac Corporation. All rights reserved.
page 11
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
SERVICE INVOCATIONS PER SECOND
25,000
20,000
15,000
10,000
5,000
0
1
2
3
4
NUMBER OF PROCESSORS ENABLED
Platform 1–Compiled Sequential
Platform 1–Sequential
Platform 2–Compiled Sequential
Platform 2–Sequential
Graph showing the relative performance of sequential and complied sequential for an increasing
number of CPUs.
For mainframe deployments, the critical performance issues are often not those of rule execution but
of data marshalling and data access. Using a Java-based solution in these circumstances can result in
performance problems despite the very high-speed execution of rules possible with the Compiled
Sequential mode of FICO™ Blaze Advisor. To address this issue, and allow direct access to data in
COBOL copybooks and COBOL sub-programs, Blaze Advisor provides an option to generate COBOL
code to replace sequential execution of rules using the engine. This COBOL code can be used in a
standard mainframe environment to maximize performance and throughput.
The Blaze Advisor system’s combination of Rete-based inferencing, sequential execution and
compiled code execution on Java, .NET and COBOL gives rule architects the flexibility to take
advantage of added-value rule engine features when they provide needed benefits and to use faster
processing methods when advantageous.
»» Structured Rule
Language
So far we have been concentrating on how business rules are interpreted and interact. But if we
are to have a consistent and unambiguous way to specify the rules, we need a formal “language”
to represent the rules. The Blaze Advisor provides a powerful rule representation syntax called
Structured Rule Language (SRL). The SRL syntax uses English language keywords, and allows
for both compact and expanded styles of rule representation to suit different needs and different
developers’ preferences.
© 2011 Fair Isaac Corporation. All rights reserved.
page 12
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
For example, here is a simple business rule expressed three different ways in FICO™ Blaze Advisor
system SRL. All three formats are valid, they are functionally equivalent and there is no difference in
rule engine performance between them. Rule authors may mix syntax styles at will between rules or
within a single rule.
If customer.debt > customer.assets
then customer.application.status = Declined.
If the debt of the customer is greater than the assets of the customer
then the status of the application of the customer is Declined.
If customer’s debt exceeds customer’s assets
then set the status of customer’s application to Declined.
Terms such as “is greater than” and “exceeds” are predefined within Blaze Advisor SRL. There are more
than 100 keywords and language phrases to make rule definition and understanding as natural and
intuitive as possible. Special language constructs exist to deal with strings, currencies, dates, missing
data and operations over groups of data matching user-specified patterns or criteria.
If at least 2 children satisfy age < 8 then set discount to 0.25
If Product’s ID does not start with “SPX” then the Promotion Status of the Product is False
If the name of the customer is unknown then print [Please enter your name]
If order’s purchase date is earlier than January 1, 2002
then print [Your purchase is no longer eligible for return]
Senior male is any customer such that (age > 65 and gender is male)
Blaze Advisor SRL includes predefined keywords that make rule definitions intuitive for the business user.
When more power is required within a rule for doing complex procedural calculations, looping or
calling upon external applications, SRL again allows these operations to be done within the rule
language rather than forcing an escape to an external programming language. This allows rules to
remain independent of their execution environment so that customers need not make changes to
their decision logic when they install a new operating system or compiler release.
_monthlyPayment is a real initially 0.0.
_monthlyPayment = (amount * (plan.rate/12) *
Math.pow((1 + (plan.rate/12)), plan.numberOfPayments)) /
(Math.pow((1 + (plan.rate/12)), plan.numberOfPayments) - 1).
return_monthlyPayment.
Blaze Advisor SRL includes function definitions for procedural operations when needed.
© 2011 Fair Isaac Corporation. All rights reserved.
page 13
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
FICO™ Blaze Advisor® includes a wide range of built-in syntax options and operations, and is ideally
suited to represent a variety of industry-specific terminologies.
Grouping Rules
Organizations may have large numbers of rules reflecting many different types of decisions. Quite
often it is possible to identify a subset of rules that contribute to a particular decision or part of an
overall process, but that do not directly affect other parts of the application’s decision making. Blaze
Advisor allows developers to group such rules into a ruleset. Rulesets offer important benefits in
performance and organization. Functional groups within a company can work on rules “belonging” to
them by accessing a particular ruleset. It also makes it possible to quickly find and edit rules covering
a particular function by locating the ruleset dealing with that function. Rulesets also contribute
to performance tuning, because individual rulesets can be set to use Rete inferencing, sequential
processing or compiled code generation for rule engine execution. In the next section, we will see
how rulesets also contribute to process description and control.
Separate from the functionality of rulesets, rules and other decision process components may be
grouped and stored in logical folders or physical files. Groups of developed components can be
thought of as libraries of code that can be shared by different projects and applications.
»» Decision Process Flows:
Procedural Execution
of Rules
We pointed out earlier that the Blaze Advisor system rule engine automatically makes determinations
of which rules should be fired in which order so that the decision process is completed in an efficient
manner (either through Rete-based inferencing or by sequential processing). Obviously there are
situations in which developers want more control over the flow of execution. Blaze Advisor system
allows developers to set explicit priorities for rule execution in the event of several rules all having
“true” conditions that would cause them to be executed. But beyond this, Blaze Advisor also includes
a structure called a ruleflow, which specifies a step-by-step sequence of operations that should be
executed according to an explicit processing path. Ruleflows allow rulesets to be executed as subprocesses, each performing a particular directed task necessary to support the overall decision. Which
ruleset should be executed at any particular step of the process may be contingent upon statically
defined transition flows, or upon condition values determined from previous task steps, or by the
occurrence of some event. Therefore the ruleflow needs to support branching and looping, internal
and external event monitoring, and tasks that include not only rulesets but also functional calls to
external systems and analytic models.
© 2011 Fair Isaac Corporation. All rights reserved.
page 14
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Blaze Advisor ruleflows allow sophisticated decision processes to be designed, managed and
debugged graphically.
The FICOTM Blaze Advisor® ruleflow mechanism is based on XML and incorporates graphical
WYSIWYG3 task arrangement and management. During testing the graphical display is updated
dynamically to display the state of the ruleflow at any point in time.
»» Decision Tables
Many organizations implement key decisions through the use of decision tables. This is especially true
where the business rules are based on a small number of conditions, with each rule corresponding
to a particular combination of data values or value ranges. Common examples include rate tables,
pricing charts, discount schedules and so on. The postage chart on the wall of your local post office is
an example of a decision table, based on shipping method, weight and destination.
Blaze Advisor supports decision tables as a way to define and maintain large numbers of rules in a
compact format that is easy to visualize and work with. Designers can choose to display their tables
in a variety of formats, including single-axis or double-axis, multiple condition rows or columns,
by single value or value ranges and with color and font formatting as desired. Cell contents can
be simple return values or can be any complex action allowed within the SRL syntax. Tables can
efficiently handle many thousands of rule conditions and actions.
3. “What You See Is What You Get”, meaning the execution of the ruleflow precisely follows the graphical representation.
In Blaze Advisor system’s IDE, the execution can be monitored in real time.
© 2011 Fair Isaac Corporation. All rights reserved.
page 15
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Income
25,000 – 34,999
25,000 – 34,999
25,000 – 34,999
35,000 – 44,999
35,000 – 44,999
Card Type
Poor
Good
Excellent
Poor
Good
Credit Limit
2,500
3,500
4,000
3,000
3,500
Income
Card Type
Credit Limit
1-Axis Vertical
1-Axis Horizontal
2-Axis Grid
25,001 – 35,000
Student Bronze
2,500
25,001 – 35,000
Student Gold
3,000
25,001 – 35,000
Student Platinum
4,000
Card Type
Student Bronze
Student Gold
Student Platinum
35,001 – 45,000
Student Bronze
3,000
Credit Rating
Poor
Good
Excellent
35,001 – 45,000
Student Gold
3,500
Homeowner?
False
True
True
35,001 – 45,000
Student Platinum
4,500
Income
> 45,000
Student Bronze
4,200
25,001 – 35,000
2,500
3,000
4,000
> 45,000
Student Gold
4,700
35,001 – 45,000
3,000
3,500
4,500
> 45,000
Student Platinum
5,200
> 45,000
4,200
4,700
5,200
Credit Limit
Credit Limit
Credit Limit
Blaze Advisor system decision tables can display large numbers of conditions and actions in a variety
of formats.
»» Decision Trees
Another convenient way to represent sets of interrelated decisions is with decision trees. Decision
trees allow you to trace a chain of conditions to a single appropriate action. Looking at branches
coming from a decision point (or “node”) in the tree lets you quickly confirm that all applicable
possibilities have been accounted for.
FICOTM Blaze Advisor® supports decision trees with the flexibility to specify any number of levels and
condition branches (including “otherwise” branches that account for any condition not covered by
one of the explicit branches). As with decision tables, action nodes can contain a single return value
or can specify a complex rule language construct. The visual tree editor allows interactive focus on
any branch or node of the tree and dynamic updating of conditions and actions.
© 2011 Fair Isaac Corporation. All rights reserved.
page 16
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Blaze Advisor system decision trees show a chain of conditions leading to a specific action.
»» Scorecards
Another graphical definition mechanism in the FICOTM Blaze Advisor® system lets you define and
execute scorecards within a rule service. A scorecard gives you an easy way to combine many factors
into an overall measurement that can be used to drive your decision rules. By assigning your own
categories, ranges and associated scores to individual criteria, you can build up additive scores that
predict things such as a customer’s relative worth, a prospect’s likelihood to accept a promotional
offer or a mechanical component’s probability of failing within a given configuration.
For companies in sectors such as finance, government or other highly regulated disciplines,
Blaze Advisor system allows you to set, capture and record significant factors in calculating a
score. By defining your own reason codes, scorecards become an auditable component of
your decision processes.
© 2011 Fair Isaac Corporation. All rights reserved.
page 17
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Blaze Advisor scorecards show component factors and weights leading to an overall ranking score.
»» Advance Rule Features
A number of specialized business logic issues often become apparent in rule-driven applications.
These include:
Effective dates
for rules
Often a rule will have a lifespan, outside of which it is not relevant. FICOTM Blaze Advisor® supports explicit effective
dates that can be defined for each and every rule enabling the right rules to be executed while ensuring that
ineffective rules have no impact on performance.
Data patterns
On many occasions a rule may be relevant to a group of data items. The ability to refer to data patterns in rules
means that rules can be made more widely applicable. This reduces the number of rules required and thus speeds
development and improves performance. The data pattern syntax involves defining a pattern from class
membership, set membership, data attributes or any combination of these.
Rule priorities
Within a ruleset it is occasionally desirable to ensure that some rules execute before others are considered. Blaze
Advisor provides rule priorities that can be set for each rule allowing fine-grained control over rule precedence
within rulesets. Naturally, within sequential execution rulesets, all rule-firing order is explicitly determined.
Functions
Some business definitions may not be represented best as a declarative business rule. When a procedural statement is
the best fit, Blaze Advisor provides a “Function” capability that avoids having to use an external programming
language, thereby reducing complexity and processing overhead. This allows you to control conditionally looped
processing, incorporate Java methods and other advanced mathematical functions or use calls to external processes.
Event rules and
goal-driven reasoning
Specific rule operations may be desired when information changes or when certain information is needed by rules.
Blaze Advisor allows event rules that specify event condition actions. In conjunction with other rules, these can be
used to provide goal-driven (or “backward chaining”) reasoning. This can ensure that “expensive” data access is
only performed when it is essential.
Question sets
For forms-based applications where rules are used to drive the questions asked of a user, questions are typically
presented in groups. Blaze Advisor provides the concept of question sets to allow questions to be grouped together
to improve the user experience and to reduce the amount of programming necessary.
© 2011 Fair Isaac Corporation. All rights reserved.
page 18
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Rules Management for
Non-Technical Users
Organizations often want to deliver ways for their business policymakers to take more direct control
over the decisions used in the company’s automated systems. In a business rules system, this
control translates to rule maintenance—the ability to review, alter, create and delete the rules that
implement business policies. Businesspeople without technical training need a dedicated software
application built specifically to give them the power and control necessary to do their work without
exposing them to the internals of programming code. Just as important to the system developers
is the ability to constrain the range of activities or values the business owners can modify. To take a
representative example, we might allow a department head to create, change or delete a knock-out
rule in an eligibility system.
Data Completeness Template
Rule:
Missing Items:
and
or
Street Address
City
State
Zip
Last Name
//Incomplete address//
If Applicant’s zip is missing
or Applicant’s city is missing and Application’s state is missing
or Applicant’s streetAddress is missing
then set completeness of Application to FALSE
//Insufficient Name//
If Applicant’s lastName is missing
then set completeness of Application to FALSE
Rules Repository
Knock-out Template
Rule:
Checks:
Age
Income
Gender
Risk Score
Address Validity
More than <value>
Less than <value>
Between <a> and
<b>
and
or
Rules
Confirm
Eligibility
Application
.completeness
.eligibility
.Applicant
.lastName
...
.PolicyRequest
...
//Too young and poor//
If Applicant’s age is less than 30 and Applicant’s income is less than $100,000
or Applicant’s age is less than 25 and Applicant’s income is less than $150,000
then set eligibility of Application to FALSE
//Address does not exist//
if verifyUSPSAddressCheck(Applicant’s address) is FALSE
then set eligibility of Application to FALSE
Blaze Advisor templates control the editing of rules and allow intuitive presentation to business users.
The businessperson must be able to see rules currently in place, be able to change the criteria for
knockouts, be able to remove rules from active use, and be able to create new rules. But they must
not be able to take actions as a result, other than to set the eligibility to false or accidentally use an
incorrect comparison for a piece of information. If we were to visualize the type of rule encompassed
by this business offer, it might look like this:
If applicant’s
is
then set eligibility to FALSE
This view of a rule structure is referred to as a rule template. It indicates a basic pattern to be followed
by all rules of this type, indicating what can and cannot be changed. Rule developers can make
many different templates for different kinds of rules. Templates can also constrain other FICOTM Blaze
Advisor® entities such as rulesets, lists of values, component syntax segments that can be reused by
multiple rules and more. Each of the replaceable fields is referred to as a value holder.
© 2011 Fair Isaac Corporation. All rights reserved.
page 19
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Once a template is created, the next step is to specify what the user is allowed to put in the value
holders. The FICO™ Blaze Advisor® system allows the rule developer to create controls on each value
holder. Some fields can allow type-in entries, while others present choice lists. Allowed values can be
predefined in a static list, they can be pulled at runtime from a database or other outside data source,
or they can be based on the results of other rules that have fired. These specifications for what may
be entered in the template blanks are referred to as providers in Blaze Advisor. Developers can also
specify whether an entry is mandatory or optional or if it allows multiple values. Let’s expand our view
of templates and allowed values with the following way of looking at creating new rules:
If
1 or more conditions
then
1 or more actions
Now we can create providers that present choice lists of the specific condition phrases and action
phrases available for the user to select from (please note that the two columns are listed side by
side to save space on the page, not to suggest a correspondence between the listed conditions
and actions):
Allowed Conditions
Allowed Actions
customer’s age < value
set customer’s status to value
customer’s age > value
set discount to value
customer’s state = value
set recommendation to value
Notice that the allowed values for the main rule template are themselves templates. We could go
even further in defining our templates for allowed conditions to create something like this:
if customer’s
property
operator
value
where the first box takes a valid property of the customer object, the second box takes a comparison
operator and the third box takes the test threshold value.
Obviously, templates can be a very powerful way to organize and constrain different types of rules for
different uses. For each template with associated providers, the user can select specific values. This
completed selection is referred to as an instance of the template. You might create one instance file
representing current corporate policies and another instance file with new rules under consideration
for possible implementation. Either instance file could be loaded for use by your application or for
testing in the development environment. The following table summarizes the three key aspects of
maintaining rules according to a particular structure:
Rules Management Components
Templates provide design patterns for rules, sections of rules or groupings of rules. They contain static sections and replaceable
value holders. Templates can be reused to create distinct rule services.
Providers act as controls on allowed values for the value holders in a template. They specify how many values are allowed, whether
information should be typed in or presented in a list, what formats are valid, and more.
Instances are completed selections of values entered into a template. One template can be used to create many instances, each of which is
a distinct entity with its own unique conditions and actions.
© 2011 Fair Isaac Corporation. All rights reserved.
page 20
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Building Rule Maintenance Applications
Once we have templates and providers defined for a group of rules, we can let our non-technical
users start taking responsibility for managing instances (for simplicity’s sake, we will concentrate
our discussion on complete rule instances, even though other rule service entities are sometimes
maintained via the same mechanism). FICO™ Blaze Advisor® offers a complete internal architecture
and set of utilities just for this purpose. Blaze Advisor includes repository management for storing
templates and instances, managing concurrent access to those entities by multiple users, retrieving
existing instances, adding or deleting instances and tracking updates and modifications to the
instances. It also allows rule developers to quickly and easily generate complete working web
applications for rule maintenance through a standard web browser. Each custom-made web-based
utility is known as a rule maintenance application.
The utilities for creating templates and rule maintenance applications are accessed by rule developers
through the Blaze Advisor development environment. Editing windows let the developer choose
the values or terms in a rule that should be exposed to the business user. Parts of the rule that are
not exposed cannot be changed. Display properties let the developer present the editable and static
parts of the template to the business user in any format desired, incorporating text, HTML formatting,
and interaction formats such as radio buttons or drop-down menus that let the business user work in
a business context, rather than having to read rule syntax.
Templates specify replaceable parts of rules and display formats for presenting them to business users.
© 2011 Fair Isaac Corporation. All rights reserved.
page 21
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Templates are grouped for presentation on web pages. This step also allows developers to design
the pages both with technical content and display features that make them more accessible for the
business users. Rule maintenance application pages can contain rule templates, decision tables,
decision trees and scorecards, as well as any desired graphics, text and interactive controls allowed in
common HTML web design.
FICO™ Blaze Advisor® also allows for conditional rendering to allow the templates to “adapt” the
display to properties of the rule being displayed, for instance displaying additional elements if a rule
relates to a particular product line, or to properties of the environment, such as the preferred display
language of the user. This latter allows for multilingual rule maintenance applications to be built from
a single template where the display text and layout are entirely customizable based on the language
used by the author.
A rule maintenance application Group Template specifies what items should be presented to
business users.
© 2011 Fair Isaac Corporation. All rights reserved.
page 22
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Developers instantly see the rule maintenance layout as it will be presented in the web interface.
The final step is to use the FICO™ Blaze Advisor® Rule Maintenance Application Generator wizard to
create the standalone web application that the users will access. In the wizard we can choose titles
and display characteristics for the web pages, what overall control buttons should be presented to
the users and how files should be listed in the application. Blaze Advisor automatically generates all
the HTML, JSP or ASP.NET tags, and JSP or ASP .NET server controls needed to run the application. No
hand coding is necessary. Organizations that wish to customize the generated HTML output to add
proprietary graphics or to alter the look and feel of the web pages to match their corporate standards
can use any web editing tool they choose (Dreamweaver, Fusion MX, GoLive, etc.).
© 2011 Fair Isaac Corporation. All rights reserved.
page 23
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Custom rule maintenance screens allow rule maintenance to take on the look and feel of other
company business applications.
Users gain access to the rule maintenance screens through a standard login with ID and password.
Authorization facilities can control who has access to different types of screens with different
maintenance templates. As users make changes to rule instances, including adding new instances or
deleting old ones, they can resave their changes back to the working file, or can choose to save the
changes in a new file. In this way, a company can track and manage multiple versions of their rules
with file sets representing rules in production, old versions, rules that have been modified and are
pending testing and so on. Changes made on the web-pages of the rule maintenance application
that are saved and submitted to the system are reflected in the syntax of the rules stored in the rule
repository. These rules can be promoted to production status at any time, as explained in the next
section. In rare cases, companies (at their discretion) can even give authorized users the ability to
make changes and immediately implement them in the production system through a single buttonclick, with no compilation steps, downtime or deployment expertise required.
Rules can be managed in the repository using either JSP or ASP.NET rule maintenance applications,
or a mixture of both, and the rules being so managed can then be deployed to any supported
environment (Java, .NET, COBOL). This allows for maximum platform flexibility when developing rule
maintenance applications for specific user communities.
© 2011 Fair Isaac Corporation. All rights reserved.
page 24
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Verification, Validation
and Testing Rules
Projects that are more sophisticated are being delivered with business rules all the time. As the
problems being solved with business rules get more complex, the need to validate and verify
business rules becomes greater. The FICO™ Blaze Advisor® system has a tool called the Verifier, which
performs a wide variety of static verification tests on decision entities in a project. It uses algorithms
to highlight areas of potential conflict, inefficiencies in your rule architecture and semantic errors. Any
anomalies that are found are reported in the Verification Results panel, along with the type, severity
and the location in the project where they were detected. A filter function allows you to use the
standard query engine built into the Blaze Advisor system to select only those items that you want
included for verification and validation, allowing you to focus on those elements that are ready for the
test. Verification instances can be developed, modified and managed in your repository so that you
can manage the various kinds of tests you want to apply at different stages of your project.
© 2011 Fair Isaac Corporation. All rights reserved.
page 25
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
The Verifier gives clear guidance on problems with the rules being assessed based on
user-selected criteria.
© 2011 Fair Isaac Corporation. All rights reserved.
page 26
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
While verification may be performed by both business users and developers, developers also need
to be able to establish formal tests for business rules quickly and effectively. FICO™ Blaze Advisor®
contains a brUnit test framework built on the industry standard xUnit framework. brUnit stands
for Business Rules Unit. This testing framework is fully integrated into Blaze Advisor. It provides
developers with a convenient way of unit testing business rules applications. brUnit allows you to
write and organize test cases into suites, which can be stored in the same repository as your rules. You
can run the test cases as often as necessary. The brUnit Test Runner in the Builder IDE lets you quickly
see which tests failed and which ones passed.
The brUnit Test Runner shows the results of applying regression tests to an update rules repository.
»» Repository Management
and Version Controls
The Blaze Advisor system stores rules and other project information in an XML-based repository.
The repository can be implemented in an SQL database, in a Lightweight Directory Access Protocol
(LDAP) system or in flat files in a standard file directory structure. The Blaze Advisor system can work
with Source Code Management (SCM) systems to enable check-out, check-in and access control of
files containing developed decision process components. Because many of these systems are limited
in the types of physical storage they can work with—managing flat files but not LDAP directories—in
addition to their ability to work with private and shared workspaces, FICO has created a special
repository versioning system, Blaze Versioning System (BVS). Organizations can choose which
versioning and source management system they wish to use, based on their internal development
standards and desired functionality. Links to third-party SCM commands can be accessed directly
from Blaze Advisor menus.
Blaze Advisor system’s versioning lets designers specify which rules and components should be
tracked for version changes at an individual level. As business policymakers use their Web-based Rule
Maintenance Applications to modify, add or delete rules, their changes are tracked and stored for
© 2011 Fair Isaac Corporation. All rights reserved.
page 27
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
later review and action. Each change is associated with a version number, the responsible author, the
date and time of the change, and a comment for reference. Past versions can be viewed in a quickreference history list or in detailed syntax review. Multiple versions can be viewed in a split-screen
mode to allow side-by-side comparison. And if users need to “roll back” their changes to a previous
version, the process is easy with single-button-click reinstatement of a past version to current
working status.
Blaze Advisor permits versioning of rules for easy tracking, comparison and reinstatement from rule
maintenance applications.
Management Properties, Queries and Filters
FICO™ Blaze Advisor® is a centerpiece of FICO’s integrated approach to Decision Management.
Management of rule projects requires an ability to keep track of many different rules and rule service
components. Large-scale systems with multiple development teams may work with thousands or
even tens of thousands of rules. Management Properties help developers track and find items within
a rule project. Blaze Advisor automatically keeps track of many attributes, such as creation date, last
edit date, author, version and so on. But the real power comes in attaching your own properties to
items such as rules, decision trees, ruleflows and more. You can keep track of any property you wish
to declare—responsible department, compliance regulation reference or development status. All of
these properties can be queried and used to find matching objects within a single ruleset or an entire
development project.
© 2011 Fair Isaac Corporation. All rights reserved.
page 28
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Standard Management Properties can be extended with custom labels and values for
enterprise-wide use.
Queries are a powerful management tool, and FICO™ Blaze Advisor® allows tremendous flexibility
when using them. In addition to simple queries of Management Properties, developers can create
complex queries using the full power of the Blaze Advisor system’s Java APIs to match and filter on a
wide variety of attributes. Queries can be developed in templates for easy browser-based access by
business users. Search and replace allows large-scale terminology changes to an entire rule project
at once. Queries can even be added to the existing functionality in the Blaze Advisor Cross-Reference
Browser to extend its power.
As part of managing your repository, Blaze Advisor provides a Filter feature that allows you to
manipulate a subset of your project, using queries based on management properties, versions,
dates, authors, contents, names, location, essentially anything you know about the objects in your
repository. You can create, save and manage any number of filters, applying and unapplying them to
the content of your repository as you work to help you focus your work, manage releases or restrict
verification to specific instances.
© 2011 Fair Isaac Corporation. All rights reserved.
page 29
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Queries allow you to filter your view of your rules project for verification or release management
purposes, for instance.
© 2011 Fair Isaac Corporation. All rights reserved.
page 30
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Release Management
Software development requires efficient release management
to promote tested projects to production status and to ensure
a stable upgrade process. FICO™ Blaze Advisor® includes release
management as a built-in function. A complete decision process
or a library of developed rules, tables, trees, etc. can be frozen as a
released version and referenced by external applications or other
rule projects. The released version is stored as a snapshot in time,
separate from the main development source. Further development
will not affect the operation of the released version.
Blaze Advisor allows multiple released versions to coexist for
flexibility in use and auditing.
Large team-based development projects also benefit from the
Blaze Advisor system’s ability to support a combination of shared
and private workspaces. A developer can download a copy of the
main development code to his or her personal computer and
work disconnected from the corporate shared repository. After
development and unit testing have been completed in the private
space, changes can be uploaded to the shared repository and made
available to other developers. A full set of synchronization utilities
allows developers to retrieve and upload specific items or entire
projects, libraries and groups.
Blaze Advisor contains release management functions to:
• Move a copy of your project or workspace to a target workspace
in a repository or to a .zip file, making it easy to move releases
between environments.
• Import or export projects so that you can change the type
of repository connection you are using or reuse project
components in another project.
• Tag a project that has completed testing with a release number,
and copy it to another directory location in the same or a
different repository.
• Use filters based on the established query facility to select only
those items that you want included when you release or publish
a project.
These features allow you to use Blaze Advisor system in a robust
development/test/QA/production environment or in a much
simpler one as required by specific projects.
Release management and project publication screens from Blaze Advisor.
© 2011 Fair Isaac Corporation. All rights reserved.
page 31
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Rule Services
in Production
FICO™ Blaze Advisor® runs on any size server or mainframe. It can run as a Java application or service,
a .Net application or service or as a COBOL program. It can be invoked via an explicit API call from an
application, or you can register event listeners to watch for changes in data or other asynchronous
events to occur, triggering a corresponding decision service.
In order to handle high-volume production loads, the Blaze Advisor system is architected to run
multiple simultaneous rule execution processes in separate threads on both Java and .NET. Each
thread is dedicated to handling the complete rule service processing for a service requestor, which
may be a physical requestor, such as a web-client in an interactive internet application, or a logical
requestor, such as a queued service request in a batch application. Each thread is an instantiation of
the Rule Engine processing code held in memory. We refer to these threads as Rule Agents.
The number of Rule Agents and their system properties are configurable by the system
administrator, for instance, restart/recycle policies for ending one service request and beginning
another. Administrators can even make configuration parameters dynamic, based on load factors as
seen by an application server. Each Rule Agent that is running and available uses system memory,
but adds more parallel load capacity to the overall application. This architecture ensures that Blaze
Advisor is effectively and infinitely scalable to handle any desired load volumes, simply by adding
more processing threads, in addition to the supporting system resources.
Overseeing the synchronization of Rule Agents and service requests is a layer of software known
as the Blaze Advisor Rule Server. This software layer comes with the product so that system
programmers at the customer site do not need to write custom code to manage Rule Agent
availability, queue service requests and handle other coordination tasks, such as rule updates. The
Rule Server is also the level of software that manages communications with application servers on
the host system.
Client 1
Client 2
FICO™ Blaze Advisor® business rules management
system Rule Server
1
Rule Agent
(Engine)
2
Rule Agent
(Engine)
Rule Agent
(Engine)
Rules
The Rule Server component of Blaze Advisor manages coordination of Rule Agents and service requests.
© 2011 Fair Isaac Corporation. All rights reserved.
page 32
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
Customers are able, in this way, to best balance their hardware resource utilization against their
throughput needs. Rule Agents can be configured to pass rule execution auditing information to
files for later querying and reporting, and they can be used to support remote debugging within the
production system over workstations running the FICO™ Blaze Advisor® IDE.
Rule Redeployment
Blaze Advisor has the capability to update rules at any time on the production system, without
recompiling the production application and without interrupting production operations. The
software layer that manages this updating is referred to as the Blaze Advisor Deployment Manager.
The Deployment Manager recognizes a request to update production rules and works with the Rule
Server to coordinate the updates with rule service processing that is already in progress. A copy of
the new rule network is stored in memory. The Rule Server looks for the first Rule Agent that is or
becomes idle after the redeployment request. It blocks any new service requests from accessing that
Rule Agent while the Deployment Manager configures the Rule Agent to use the new set of rules. As
soon as the Rule Agent is updated, the Rule Server allows new service requests to use it and the new
rules. In the meantime, existing service requests continue processing with the old rules so that they
are not placed in an inconsistent state. As each Rule Agent finishes its processing task, the Rule Server
and Deployment Manager update the Rule Agent to use the new rules and release the rules for use
by new service requests. Eventually all Rule Agents are updated and the Deployment Manager goes
idle until it receives another rule update request.
Client
1
New
Rules
Deployment
Manager
Client
2
FICO™ Blaze Advisor® business rules management
system Rule Server
1
Rule Agent
(Engine)
X
2
Rule Agent
(Engine)
Rule Agent
(Engine)
Rules
New
Rules
Rule redeployment is automatically managed by Blaze Advisor without interrupting
production operations.
Generating Production Deployment Files
Once a rule service has been designed and tested in the Blaze Advisor development environment,
it needs to be exported to the production environment. Blaze Advisor contains a set of automated
utilities, referred to as Quick Deployers, that create all the files necessary to deploy and access the
© 2011 Fair Isaac Corporation. All rights reserved.
page 33
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
rule services from a production application. Quick Deployers ask a series of questions that determine
the specific configuration of the production environment and the desired operation of the rule
service. They can deploy rule services as session beans in an EJB container, packaged and deployed
for use with most of the major J2EE application servers, such as Oracle, WebLogic, WebSphere and
JBoss. If the selected EJB container supports the features, you can choose to run as a Message-Driven
Bean, a stateless service or a stateful (synchronous or asynchronous) service. Quick Deployers also can
generate deployments for in-process Java, Microsoft Transaction Server, JSR-94 rule engine interface
compliance and web-services. QuickDeployers can also generate COBOL code or .Net deployments.
In a Microsoft environment, FICO™ Blaze Advisor® can access COM+ objects, and through them, .NET
objects. It also creates C# access code for Microsoft ASP .NET web-Services. Configuration files include
the ability to use ANT makefiles for developers who prefer this popular development utility.
»» Extending Blaze Advisor
with SmartForms
The Blaze Advisor system can be extended with a number of additional products within FICO’s
Decision Management technology suite. SmartForms for Blaze Advisor system allows you to create
user interaction web pages that dynamically display or suppress content areas, perform data
validation at the point of entry and generate user alerts based on the types and logical uses of the
data included on the form. These intelligent web pages speed and strengthen the accuracy of data
collection and associated decision-making. SmartForms works with Blaze Advisor to improve the
efficiency and accuracy of information gathering at the customer touch point—call center, webbased application or branch office.
SmartForm for Blaze Advisor system
© 2011 Fair Isaac Corporation. All rights reserved.
page 34
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
SmartForms allows you to build interfaces that are:
• Dynamic, interactive and data- and logic-aware
• Able to call additional services as needed
• Easily chainable as part of other applications or function as stand-alone applications
• Secure and scalable
Up to now, many businesses have used IT resources to develop custom forms for FICO™ Blaze
Advisor® decision-making applications. This “one-off” form creation process, however, can consume
expensive staff resources and delay deployment of applications or launches of new products.
SmartForms takes the functionality of Blaze Advisor to a new level, allowing you to build very
sophisticated forms that are both dynamic and interactive.
SmartForms features ease of design and use including:
• Standards-based user interfaces
• Visual Script editor that features point, click and build scripting
• Internal XML representation of Visual Scripts
• A library of actions to choose from
• Navigation through complex business rules
As a SmartForms user, you’ll have access to dynamic “data- and logic-aware” user interfaces; multi-step
decisioning through form-flow navigation control; and integration with decisioning services.
Reduce Need for Manual Intervention in Decision Processes
SmartForms facilitates the building of smart, interactive applications such as decision-making
applications, interactive questionnaires for internet-enabled self-service and more.
For example, if an insurer was underwriting home insurance in California, SmartForms can allow the
application to expand dynamically to ask additional questions about earthquake insurance, such as,
“Was earthquake retrofitting done?” You can also route the applicant to the appropriate questionnaire:
For coverage type A, employ Questionnaire A; for coverage type B, employ Questionnaire B and so on.
»» Integrating Analytics for
Decision Management
Blaze Advisor can also be extended with analytics using other tools within FICO’s Decision
Management technology suite. This integration of business rules with predictive analytic models
is a mainstay of Decision Management.
The Blaze Advisor system allows you to import decision trees from Model Builder for Decision Trees
and execute models from FICO™ Model Builder in a “black-box” execution mode. FICO™ Model Builder
for Decision Trees is a business-friendly tool for mining data, especially customer data, for rules about
segmentation and profiling. Model Builder is a complete workbench for developing and managing
sophisticated predictive models including neural nets, segmentation and clustering models and
predictive scorecards. Model Builder is the platform FICO uses for all its predictive analytic
model development.
© 2011 Fair Isaac Corporation. All rights reserved.
page 35
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
FICO™ Blaze Advisor® also allows you to import a PMML (Predictive Model Markup Language) model.
Models supported include neural networks (imported as a function) and scorecards (imported into
the Scorecard metaphor). This “white-box” integration allows the models to be viewed and edited in
the Blaze Advisor environment, both in the IDE and in rule maintenance applications.
This industry-standard markup language for analytic models is widely supported and Blaze Advisor is
the first business rules management system to support it and so enable rapid deployment of analytic
models to a rules-based decision environment.
The PMML import wizard showing the import of a predictive analytic model.
FICO™ Model Builder 3.5 has the ability to export its models and model entities as PMML files. Model
Builder also generates additional elements that more completely describe models in an extension to
the standard PMML definitions, allowing Blaze Advisor to render the model with a greater degree of
precision. In addition, Blaze Advisor can import additional predictive models not supported by PMML
including those from the Segmentation ART™ module (Adaptive Random Tree) plug-in to Model
Builder and FICO’s proprietary XML format.
Finally, FICO’s optimization product, FICO™ Decision Optimizer, lets you optimize business actions
based on resource constraints, behavioral and economic measures and business objectives to
develop optimized business rules for use in Blaze Advisor.
© 2011 Fair Isaac Corporation. All rights reserved.
page 36
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
»» Business Rules and the
IT Ecosystem
FICO™ Blaze Advisor® is a great complement to your existing IT ecosystems and to some of the trends
that influence the way your IT department builds information systems. In particular, the Blaze Advisor
system offers great value in a service-oriented architecture (SOA) and for those adopting Business
Process Management.
One of the major benefits of adopting an SOA is supposed to be an increase in business agility
largely thanks to a reduction in the time, cost and difficulty of making a change. The definition of
functionality as coherent components or services with well-defined interfaces helps limit the impact
of a change to a single service, making change easier to control and execute. Clearly, some services
will implement a business capability that must have a greater ability to adapt to change than others.
These services are what we mean by Decision Services and are typically best implemented using
Blaze Advisor. This allows the business logic to be more easily and more safely changed independent
of the rest of the composite applications in which the service appears.
Organizations are using Business Process Management Suites (BPMS) to design and build more and
more processes. A BPMS focuses on “How this process should be carried out”. It helps standardize
processes, facilitates collaboration and compliance, defines and manages workflow, automates steps
and provides activity monitoring, alerts, process reporting and integration. What it does not do well
is decide what should be done. Using Blaze Advisor to automate decisions in the “new process” can
dramatically simplify it. You can often eliminate multiple steps in favor of a single decision service
within the process.
Without rules
New
hire
Incomplete
Human
Resources
Withdrawn
Originator
Withdrawn
Resubmit
Allocate employee number
e
Deadline
warning
Wait for
other tasks
Wait for
first day
Induction
completed
Supervisor
Acknowledged
Ready
Day before
first day
HR
assistant
Employee
started
Inducted
With rules
New
hire
Human
Resources
Review
hire
records
e
Day before
Wait for first day
first day
New
employee
processing
Employee
started
Withdrawn
A process simplified by automating critical decisions within it.
© 2011 Fair Isaac Corporation. All rights reserved.
page 37
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
If you manage decision services in this way, you can also manage and deploy process and decision
changes independently. There is no particular reason why the need to change a decision, say about
product pricing, should correspond with a need to change the process steps for ordering it. When
you have long-running processes, keeping decisions separate also gives you the ability to change
work in progress. The process definition is fixed for a particular item of work at the time that it is
instantiated. For long-running processes, this is a problem as the business rules and analytic models
may not be current when evaluated. If you manage decisions separately, and retrieve them when the
process needs the decision, then they will always be current.
»» Rules Management
Technology Benefits
An application architecture based on rules technology—one that has logic managed as an
independent layer by dedicated services within the information architecture—enables an
organization to more easily deploy business rules across multiple applications and communication
channels. Domain experts within specific business units control business policies and rules
while allowing IT resources to move to other development tasks without recoding or
risking miscommunications.
Companies using rules technology can expect benefits in areas such as:
• Business agility
• Straight through processing
• Compliance
• Application development costs
• Application maintenance speed and precision
• Logic and rule reusability
• Enterprise consistency
• Personalization of the interactions with customers, prospects, agents and employees
© 2011 Fair Isaac Corporation. All rights reserved.
page 38
The FICO™ Blaze Advisor® Business Rules Management System: How it Works 6.5
about FICO
FICO (NYSE:FICO) delivers superior predictive analytics solutions that drive smarter decisions. The
company’s groundbreaking use of mathematics to predict consumer behavior has transformed
entire industries and revolutionized the way risk is managed and products are marketed. FICO’s
innovative solutions include the FICO® Score—the standard measure of consumer credit risk in the
United States—along with industry-leading solutions for managing credit accounts, identifying and
minimizing the impact of fraud, and customizing consumer offers with pinpoint accuracy. Most of the
world’s top banks, as well as leading insurers, retailers, pharmaceutical companies and government
agencies, rely on FICO solutions to accelerate growth, control risk, boost profits and meet regulatory
and competitive demands. FICO also helps millions of individuals manage their personal credit health
through www.myFICO.com. Learn more at www.fico.com. FICO: Make every decision count™.
For more information US toll-free
+1 888 342 6336
International
+44 (0) 207 940 8718
email
[email protected]
web
www.fico.com
FICO, Blaze Advisor and Segmentation ART are trademarks or registered trademarks of Fair Isaac Corporation in the United States and may be trademarks of Fair Isaac Corporation in other Countries. Other product and
company names herein may be trademarks of their respective owners. © 2011 Fair Isaac Corporation. All rights reserved.
1262WP 05/11 PDF