How to Build a Business Rules Engine: Extending Application Functionality Through Metadata Engineering

Front Cover
Morgan Kaufmann, 2004 - Computers - 484 pages
This is the only book that demonstrates how to develop a business rules engine. Covers user requirements, data modeling, metadata, and more.
A sample application is used throughout the book to illustrate concepts. The code for the sample application is available online at http://www.refdataportal.com.
Includes conceptual overview chapters suitable for management-level readers, including general introduction, business justification, development and implementation considerations, and more.

This is the only book that demonstrates how to develop a business rules engine. Covers user requirements, data modeling, metadata, and more.
A sample application is used throughout the book to illustrate concepts. The code for the sample application is available online at http://www.refdataportal.com.
Includes conceptual overview chapters suitable for management-level readers, including general introduction, business justification, development and implementation considerations, and more.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Selected pages

Contents

WHAT ARE BUSINESS RULES AND BUSINESS RULES ENGINES?
1
Business Rules Engines
3
Business Rules in Business Rule Engines
4
Conclusion
7
WHY BUILD A BUSINESS RULES ENGINE?
9
Cost and Scale
10
Building Software for Diverse Environments
11
Total Integration of Software
13
Conclusion
209
EXTENDING THE DATABASE
211
Limits of Database Extension
213
Adding New Columns to Existing Tables
215
Dealing with Database Administrators
234
Conclusion
236
MANAGING THE DATABASE
237
Viewing the Database Tables
238

Specificity of Rules
15
Extension of Applications
16
How Easy Is It to Build a Rules Engine?
17
Conclusion
18
DATA MODELING AND DATABASE DESIGN
21
Attributes and Entities
22
Relationships
23
Subtype Relationships
26
Conclusion
28
WHO DEFINES BUSINESS RULES AND WHEN DO THEY DO IT?
29
When Are Rules Defined?
34
What Kinds of Organizations Need a Business Rules Approach?
37
Conclusion
39
THE ATOMICITY OF BUSINESS RULES
41
Levels of Abstraction of Business Rules and Rule Dependencies
45
Is Atomicity Important?
48
Implications of AtomicityMore Columns
49
Implications of AtomicityIntermediate Results
53
When Are Calculations Atomic?
54
THE BLACK BOX PROBLEM
55
User Resistance to Business Rules Engines
56
How Not What
57
What Are the Rules?
58
Support for the Users
59
Auditability
60
Conclusion
61
THE COMPONENTS OF A BUSINESS RULES ENGINE
63
The Business Rules Repository
64
Rule Definition Interface and Executable Business Rules
70
Code Generation Routines
74
Rule Invocation Interface
84
Conclusion
85
POPULATING TABLE DATA IN THE REPOSITORY
87
The Table Entity
88
Summary of Design for Table Entity
94
Screen Interface for Updating Table Metadata
108
Conclusion
110
POPULATING COLUMN DATA IN THE REPOSITORY
111
Column Entity
112
Extracting Column Data from a Data Modeling Tool
125
Screen Interface for Updating Table Metadata
140
Conclusion
144
POPULATING RELATIONSHIP AND SUBTYPE DATA IN THE REPOSITORY
145
The Relationship Key Attribute Entity
147
Changes to Column Entity for Relationship Information
148
Relationships and Hidden Subtypes
149
Extracting Relationship Data from the Data Modeling Tool
159
Editing Relationships
174
Pathways
178
Defining Subtypes
183
Conclusion
185
POPULATING REFERENCE DATA IN THE REPOSITORY
187
Standards for Reference Data
188
Extending the Table Entity
189
Populating the Reference Data Metadata
190
Reference Data Default Values
193
Conclusion
197
DEFINING BUSINESS PROCESSES AND RELATED INFORMATION
199
Extensions to Business Rules Repository
200
Business Processes
202
Business Process Step
206
Detailed Record Display
252
Synchronizing the Database and Business Rules Repository
263
Conclusion
277
IMPLEMENTING A SIMPLE BUSINESS RULE
279
Defining Rules for the Investment Screen
281
Basic Repository Design for Holding Business Rules Metadata
282
Accessing the Rules Definition Interface for Rule Type Screen Fields
288
Interface to Define Rule Type for Required Screen Fields
290
Preliminary Processing
292
Details of the Rule Definition Interface
293
Integrating the Business Rules into the Application Screen
295
Generating the Code
298
The Generated Code
309
When Should Code Be Generated?
313
Examples of Business Rules
316
Design Review
321
MORE EDIT VALIDATION RULES RULE COMPONENTS AND RULE VERSIONS
325
Screen Fields Valid Ranges
330
Introducing Rule Versions
335
Implementing the Rule Type for Screen Fields Valid Ranges
339
Conclusion
346
RULE TYPES FOR CHECKING REFERENTIAL INTEGRITY
347
Prevention of Duplicate Records
349
Referential Integrity for Dependent Records
360
Conclusion
366
WORKING WITH BATCH PROCESSES SETTING INDICATORS AND REFERENCE DATA CODE VALUES
367
Setting a Value for an Indicator
368
Setting a Reference Data Table Value
395
Conclusion
404
IMPLEMENTING RULE TYPES USING RELATIONSHIPS AND SUBTYPES
407
Definition Interface for Pay ProRata from Fund to Investment
410
Understanding Rule Types
412
Code Generation for Pay ProRata from Fund to Investment
414
Using Subtypes in the Rule Type
417
Conclusion
420
RULES WITH SUBTYPES AND BUSINESS METADATA
421
Setting Up the Rule Type and Selecting a Target Column
423
The Rule Definition Interface
424
Repository Design Changes
425
Subtypes in Calculate A Fee
427
DEBUGGING IN BUSINESS RULES ENGINES
431
Logging Rules Activity
433
Implementing Logging
436
Control of Logging
440
Viewing the Log
441
Conclusion
442
MANAGING THE BUSINESS RULES ENGINE
443
Rules Reports
444
Column Reports
446
Subtype Reports
449
Relationship Reports
450
BusinessSpecific Reporting
451
Conclusion
453
USING THE SAMPLE APPLICATION
455
Database Tables Relevant to the Business
458
The Menu System
461
Modules of the Sample Application
464
Tables of the Business Rules Repository
465
Resources and Further Reading
471
Index
473
Copyright

Other editions - View all

Common terms and phrases

About the author (2004)

Malcolm Chisholm holds an M.A. from the University of Oxford, a Ph.D.from the University of Bristol, and has over 20 years of experience in information technology. His expertise has allowed him to work in various industries focusing on systems development and data administration. Recently he has worked with the United Nations Development Program and Deloitte and Touche.

Bibliographic information