Drools JBoss Rules 5.0 Developer's Guide Table Of Contents

Back to BOOK PAGE
 

Table of Contents

Preface
Chapter 1: Introduction
Chapter 2: Basic Rules
Chapter 3: Validation
Chapter 4: Data Transformation
Chapter 5: Human-readable Rules
Chapter 6: Stateful Session
Chapter 7: Complex Event Processing
Chapter 8: Drools Flow
Chapter 9: Sample Application
Chapter 10: Testing
Chapter 11: Integration
Chapter 12: Performance
Appendix A: Development Environment Setup
Appendix B: Custom Operator
Appendix C: Dependencies of Sample Application
Index

  • Chapter 1: Introduction
    • Problems with traditional approaches
    • The solution
      • Advantages
      • Disadvantages
        • When not to use a rule engine
    • Drools
    • Alternatives to Drools
    • Summary
  • Chapter 2: Basic Rules
    • Rule basics
      • Executing rules
    • Rule syntax
      • Rule concepts
        • Variables in rules
        • Types
        • Comments
      • Package
        • Imports
        • Global variables
        • Functions
        • Dialect
      • Rule condition
        • And
        • Or
        • Not
        • Exists
        • Eval
        • Return value restriction
        • Inline eval
        • This
        • Working with collections
      • Rule consequence
      • Rule attributes
        • salience (priority)
        • No-loop
        • Dialect
    • Summary
  • Chapter 3: Validation
    • Banking domain model
    • Problem definition
    • Analysis
    • Design
    • Validation package
      • Object required type rules
      • Testing
      • Minimal account balance rule
      • Student account rule
      • Unique account number rule
    • Implementation
    • Validation service
    • Summary
  • Chapter 4: Data Transformation
    • Process overview
    • Getting the data
      • Loading facts into the knowledge session
    • Writing transformation rules
      • Testing
      • Address normalization
      • Testing the findAddress rule
      • Unknown country
      • Currency conversion
      • One account allowed
    • Transformation results
    • Implementation of the data loading
      • Database setup
      • Project setup
      • iBatis configuration
      • Running iBatis
      • Alternative data loading
    • Summary
  • Chapter 5: Human-readable Rules
    • Domain Specific Language
      • DSL as an interface
      • DSL for validation rules
      • File formats
        • DSL file format
        • DRL file format
        • DSLR file format
      • DSL for multiple constraints in a condition
      • Named capture groups
      • DSL for data transformation rules
    • Decision tables
      • Advantages of a decision table
      • Disadvantages of a decision table
      • Calculating the interest rate
        • Project setup
        • Testing
        • Comma Separated values
      • Rule Templates
    • Drools Flow
      • Drools Agenda
      • Methods for managing rule execution order
      • Ruleflow
        • Start
        • End
        • Action
        • RuleFlowGroup
        • Split
        • Join
      • Example
      • Rules
      • KnowledgeBase setup
      • Tests
    • Summary
  • Chapter 6: Stateful Session
    • Introduction to stateful session
    • Validation using stateful session
      • Design overview
      • Stateful validation service
      • Integration testing
      • Logical assertions
      • Keeping the validation report up-to-date
        • Collect conditional element
      • Serialization
        • Knowledge session re-creation
        • Testing
        • Session serialization
        • Full session serialization
    • Summary
  • Chapter 7: Complex Event Processing
    • CEP and ESP
    • Drools Fusion
    • Fraud detection
      • Problem description
      • Design and modeling
      • Fraud detection rules
        • Notification
        • Monitoring—averageBalanceQuery
        • Two large withdrawals
        • Sequence of increasing withdrawals
        • High activity
    • Summary
  • Chapter 8: Drools Flow
    • Loan approval service
      • Model
    • Loan approval ruleflow
      • Invalid loan application form
        • Email work item
        • Fault node
      • The size of the loan
        • Test for a small loan
      • Rating Calculation
        • Subflow
        • Subflow diagram
        • Rating calculation subflow test
      • Decisions on rating
        • Testing the 'Rating?' node
      • Transfer Funds work item
        • Work item definition
        • Work item registration
        • Work item handler
        • Work item handler registration
        • Testing the transfer work item
      • Human task
        • Test for the human task
      • Final Approval
        • Test for the 'Approve Event' node
      • Banking service
      • Disadvantages of a ruleflow
    • Summary
  • Chapter 9: Sample Application
    • Users
    • Architecture
    • Technologies used
      • Additional Drools projects used
        • Libraries used
    • Business logic
    • Design
    • Configuration
      • JPA annotations for domain objects
      • JPA configuration
      • Spring Framework configuration
      • Web application setup
        • Tag library
      • Tomcat setup
      • Deployment
    • Repositories
    • Validation
      • Services
      • Transactions
      • Presentation layer
        • Localized messages
        • Customer save form controller
      • Complex Event Processing service
    • Loan approval
      • Loan request form
      • Process persistence
      • Task list
      • Working on a task
      • Loan approval event
    • Summary
  • Chapter 10: Testing
    • How to write unit tests for rules
    • Rule integration testing
    • Rule acceptance testing
      • Creating a test scenario
      • Running a test scenario
      • Running all test scenarios
    • Static analysis of rules
    • Troubleshooting techniques
      • Event listeners
      • Debugging
      • Source of generated classes
      • mvel tricks
  • Summary
  • Chapter 11: Integration
    • Dynamic KnowledgeBase loading
      • KnowledgeAgent
    • External artifact building
      • Building with Ant
    • Drools execution server
      • Interest rate calculation example
        • The server
        • The client
    • Spring Framework integration
      • KnowledgeBaseFactoryBean
    • Standards
      • JSR94 Java Rule Engine API
    • Summary
  • Chapter 12: Performance
    • Rete algorithm
      • Node types
        • Rete node
        • EntryPointNode
        • ObjectTypeNode
        • AlphaNode
        • LeftInputAdapterNode
        • TerminalNode
        • BetaNode
        • More complex example
        • EvalNode and FromNode
      • Retracting or modifying a fact
      • Initial fact
    • Node sharing
      • Example
    • Node indexing
      • AlphaNode indexing
        • Computation complexity
      • BetaNode indexing
        • Example
    • KnowledgeBase partitioning
      • Parallel execution
    • Summary

Back to BOOK PAGE

Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z