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 info@fico.com 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