1/21
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documentation
Conventions
1
Overview of Oracle Business Rules
1.1
What are Business Rules?
1.1.1
What Are Rule Conditions?
1.1.2
What Are Rule Actions?
1.1.3
What Are Decision Tables?
1.1.4
What Are Facts and Bucketsets?
1.1.5
What Are Rulesets?
1.1.6
What Are Decision Functions?
1.1.7
What Are Decision Points?
1.1.8
What Are Dictionaries?
1.2
Oracle Business Rules Runtime and Design Time Elements
1.2.1
Decision Component (Business Rules) in an SOA Composite Application
1.2.2
Using Rules Engine with Oracle Business Rules in a Java EE Application
1.2.3
Oracle Business Rules RL Language
1.2.4
Oracle Business Rules SDK
1.2.5
Rules Designer
1.3
Oracle Business Rules Engine Architecture
1.3.1
Declarative Rules
1.3.2
The RETE Algorithm
1.3.3
What Is Working Memory?
1.3.4
Rule Firing and Rule Sessions
2
Working with Data Model Elements
2.1
Introduction to Working with Data Model Elements
2.2
Working with a Dictionary and Dictionary Links
2.2.1
Introduction to Dictionaries and Dictionary Links
2.2.2
How to Create a Dictionary in the SOA Tier Using Rules Designer
2.2.3
How to Create a Dictionary in the Business Tier Using Rules Designer
2.2.4
How to View and Edit Dictionary Settings
2.2.5
How to Rename a Dictionary or Rename a Dictionary Package
2.2.6
How to Link to a Dictionary
2.2.7
How to Update a Linked Dictionary
2.2.8
What You Need to Know About Dictionary Linking
2.2.9
What You Need to Know About Dictionary Linking and Dictionary Copies
2.2.10
What You Need to Know About Dictionary Linking to a Deployed Dictionary
2.2.11
What You Need to Know About Business Rules Inputs and Outputs with BPEL
2.3
Working with Oracle Business Rules Globals
2.3.1
How to Add Oracle Business Rules Globals
2.3.2
How to Edit Oracle Business Rules Globals
2.3.3
What You Need to Know About the Final and Constant Options
2.4
Working with Decision Functions
2.5
Working with Oracle Business Rules Functions
2.5.1
Introduction to Oracle Business Rules Functions
2.5.2
How to Add an Oracle Business Rules Function
3
Working with Facts and Bucketsets
3.1
Introduction to Working with Facts and Bucketsets
3.2
Working with XML Facts
3.2.1
How to Import XML Schema and Add XML Facts
3.2.2
How to Display and Edit XML Facts
3.2.3
How to Reload XML Facts with Updated Schema
3.2.4
What You Need to Know About XML Facts
3.3
Working with Java Facts
3.3.1
How to Import Java Classes and Define Java Facts
3.3.2
How to Display and Edit Java Facts
3.3.3
What You Need to Know About Java Facts
3.4
Working with RL Facts
3.4.1
How to Define RL Facts
3.4.2
How to Display and Edit RL Facts and Add RL Fact Properties
3.4.3
What You Need to Know About RL Facts
3.5
Working with ADF Business Components Facts
3.5.1
How to Import and Define ADF Business Components Facts
3.5.2
What You Need to Know About ADF Business Components Fact Classpaths
3.5.3
What You Need to Know About ADF Business Components Circular References
3.5.4
What You Need to Know About ADF Business Components Facts
3.6
Working with Bucketsets
3.6.1
How to Define a List of Values Global Bucketset
3.6.2
How to Define a List of Ranges Global Bucketset
3.6.3
How to Define an Enumerated Type (Enum) Bucketset from XML Types
3.6.4
How to Define an Enumerated Type (Enum) Bucketset from Java Types
3.6.5
What You Need to Know About List of Values Bucketsets
3.6.6
What You Need to Know About Range Bucketsets
3.6.7
What You Need to Know About Bucketset Allowed in Actions Option
3.6.8
What You Need to Know About Bucket Values
3.7
Associating a Bucketset with Facts and Functions
3.7.1
How to Associate a Bucketset with a Fact Property
3.7.2
How to Associate a Bucketset with Functions or Function Arguments
4
Working with Rulesets and Rules
4.1
Introduction to Working with Rulesets and Rules
4.2
Working with Rulesets
4.2.1
How to Create a Ruleset
4.2.2
How to Set the Effective Date for a Ruleset
4.2.3
How to Use a Filter to Display Matching Rules in a Ruleset
4.3
Working with Rules
4.3.1
How to Add Rules
4.3.2
How to Define a Test in a Rule
4.3.3
How to Define Range Tests in Rules
4.3.4
How to Define Set Tests in Rules
4.3.5
How to Define Actions in Rules
4.3.6
What You Need to Know About Rule Actions
4.4
Validating Dictionaries
4.4.1
Understanding Data Model Validation
4.4.2
Understanding Rule Validation
4.4.3
Understanding Decision Table Validation
4.4.4
How to Validate a Dictionary
4.5
Using Advanced Settings with Rules and Decision Tables
4.5.1
How to Show and Hide Advanced Settings in a Rule or Decision Table
4.5.2
How to Select the Advanced Mode Option
4.5.3
How to Select the Active Option
4.5.4
How to Select the Logical Option
4.5.5
How to Set a Priority for a Rule
4.5.6
How to Specify Effective Dates
4.6
Working with Nested Tests
4.6.1
How to Use Nested Tests
4.7
Working with Advanced Mode Rules
4.7.1
How to Use Advanced Mode Pattern Matching Options
4.7.2
How to Use Advanced Mode Matched Fact Naming
4.7.3
How to Use Advanced Mode Action Forms
4.7.4
How to Use Advanced Mode Aggregate Conditions
4.7.5
What You Need to Know About Advanced Mode Rules
4.8
Working with Tree Mode Rules
4.8.1
Introduction to Tree Mode Rules
4.8.1.1
Understanding Tree Mode Rules (Non-Advanced Mode)
4.8.1.2
Understanding Advanced Tree Mode Rules
4.8.2
How to Create Simple Tree Mode Rules
4.8.3
How to Create Advanced Tree Mode Rules
4.8.4
What You Need to Know About Tree Mode Rules
4.9
Using Date Facts, Date Functions, and Specifying Effective Dates
4.9.1
How to Use the Current Date Fact
4.9.2
How to Set the Effective Date for a Rule
4.9.3
What You Need to Know About Effective Dates
4.9.4
How to Use Duration, JavaDate, OracleDate, and XMLDate Methods
4.10
Working with Expression Builder
4.10.1
Introduction to the Expression Builder
4.10.2
How to Use the Expression Builder
4.11
Using Bucketsets as Constraints for Options Values in Rules
4.11.1
How to Use a List of Ranges Bucketset as a Constraint for a Fact Property
4.11.2
How to Use a List of Values Bucketset as a Constraint for a Fact Property
4.11.3
How to Use Bucketsets to Provide Options for Test Expressions
5
Working with Decision Tables
5.1
Introduction to Working with Decision Tables
5.1.1
What is a Decision Table?
5.1.1.1
What You Need to Know About Decision Table Conditions
5.1.1.2
What You Need to Know About Decision Table Actions
5.1.1.3
What You Need to Know About Decision Table Rules
5.1.2
Understanding Decision Table Values
5.1.3
What You Need to Know About Decision Table Loops
5.2
Creating Decision Tables
5.2.1
How to Create a Decision Table
5.2.2
How to Add Condition Rows to a Decision Table
5.2.3
How to Add Actions to a Decision Table
5.2.4
How to Add a Rule to a Decision Table
5.3
Performing Operations on Decision Tables
5.3.1
Introduction to Decision Table Operations
5.3.1.1
Understanding Decision Table Split and Compact Operations
5.3.1.2
Understanding Decision Table Move Operations
5.3.1.3
Understanding Decision Table Gap Analysis
5.3.1.4
Understanding Decision Table Conflict Analysis
5.3.2
How to Compact or Split a Decision Table
5.3.3
How to Merge or Split Conditions in a Decision Table
5.3.4
How to Merge, Split, and Specify Do Not Care for Condition Cells
5.3.5
How to Perform Decision Table Gap Analysis
5.3.6
How to Perform Decision Table Conflict Analysis
5.3.7
How to Select the Auto Conflict Resolution Option
5.4
Creating and Running an Oracle Business Rules Decision Table Application
5.4.1
How to Obtain the Source Files for the Order Approval Application
5.4.2
How to Create an Application for Order Approval
5.4.3
How to Create a Business Rule Service Component for Order Approval
5.4.4
How to View Data Model Elements for Order Approval
5.4.5
How to Add Bucketsets to the Data Model for Order Approval
5.4.6
How to Associate Bucketsets with Order and CreditScore Properties
5.4.7
How to Add a Decision Table for Order Approval
5.4.7.1
Split the Cells in the Decision Table and Add Actions
5.4.7.2
Compact the Decision Table
5.4.7.3
Replace Several Specific Rules with One General Rule
5.4.7.4
Add a General Rule
5.4.8
How to Check the Business Rule Validation Log for Order Approval
5.4.9
How to Deploy the Order Approval Application
5.4.10
How to Test the Order Approval Application
6
Working with Decision Functions
6.1
Introduction to Decision Functions
6.2
Working with Decision Functions
6.2.1
How to Add or Edit a Decision Function
6.3
What You Need to Know About Decision Functions
6.3.1
What You Need to Know About Using Undo Operation with Decision Functions
6.3.2
What You Need to Know About Rule Firing Limit Option for Debugging Rules
6.3.3
What You Need to Know to About Decision Function Arguments
6.3.4
What You Need to Know About the Will Be Invoked As Web Service Option
6.3.5
What You Need to Know About the Decision Function Stateless Option
7
Working with Rules SDK Decision Point API
7.1
Introduction to Rules SDK and the Car Rental Sample Application
7.1.1
Introduction to Decision Point API
7.1.2
How to Obtain the Car Rental Sample Application
7.1.3
How to Open the Car Rental Sample Application and Project
7.2
Creating a Dictionary for Use with a Decision Point
7.2.1
How to Create Data Model Elements for Use with a Decision Point
7.2.2
How to View a Decision Function to Call from the Decision Point
7.2.3
How to Create Rules or Decision Tables for the Decision Function
7.2.4
What You Need to Know About Using Car Rental Sample with a Decision Table
7.3
Creating a Java Application Using Rules SDK Decision Point
7.3.1
How to Add a Decision Point Using Decision Point Builder
7.3.2
How to Use a Decision Point with a Pre-loaded Dictionary
7.3.3
How to Use Executor Service to Run Threads with Decision Point
7.3.4
How to Create and Use Decision Point Instances
7.4
Running the Car Rental Sample
7.5
What You Need to Know About Using Decision Point in a Production Environment
8
Testing Business Rules
8.1
Testing Oracle Business Rules at Design Time
8.1.1
How to Test Rules Using a Test Function in Rules Designer
8.1.2
What You Need to Know About Testing Using an Oracle Business Rules Function
8.1.3
How to Test a Decision Function Using an Oracle Business Rules Function
8.1.4
What You Need to Know About Testing Decision Functions
8.2
Testing Oracle Business Rules at Runtime
9
Creating a Rule-enabled Non-SOA Java EE Application
9.1
Introduction to the Grades Sample Application
9.2
Creating an Application and a Project for Grades Sample Application
9.2.1
How to Create a Fusion Web Application for the Grades Sample Application
9.2.2
How to Create the Grades Project
9.2.3
How to Add the XML Schema and Generate JAXB Classes in the Grades Project
9.2.4
How to Create an Oracle Business Rules Dictionary in the Grades Project
9.3
Creating Data Model Elements and Rules for the Grades Sample Application
9.3.1
How to Create Bucketsets for Grades Sample Application
9.3.2
How to Add a Decision Table for Grades Sample Application
9.3.3
How to Add Actions in the Decision Table for Grades Sample Application
9.3.4
How to Rename the Decision Function for Grades Sample Application
9.4
Adding a Servlet with Rules SDK Calls for Grades Sample Application
9.4.1
How to Add a Servlet to the Grades Project
9.5
Adding an HTML Test Page for Grades Sample Application
9.5.1
How to Add an HTML Test Page to the Grades Project
9.6
Preparing the Grades Sample Application for Deployment
9.6.1
How to Create the WAR File for the Grades Sample Application
9.6.2
How to Add the Rules Library to the Grades Sample Application
9.6.3
How to Add the MDS Deployment File to the Grades Sample Application
9.6.4
How to Add the EAR File to the Grades Sample Application
9.7
Deploying and Running the Grades Sample Application
9.7.1
How to Deploy to Grades Sample Application
9.7.2
How to Run the Grades Sample Application
10
Working with Oracle Business Rules and ADF Business Components
10.1
Introduction to Using Business Rules with ADF Business Components
10.1.1
Understanding Oracle Business Rules ADF Business Components Fact Types
10.1.2
Understanding Oracle Business Rules Decision Point Action Type
10.2
Using Decision Points with ADF Business Components Facts
10.2.1
How to Call a Decision Point with ADF Business Components Facts
10.2.1.1
Setting the Decision Point Transaction
10.2.1.2
Setting Runtime Properties
10.2.1.3
Calling the Invoke Method for an ADF Business Components Rule
10.2.1.4
What You Need to Know About Decision Point Invocation
10.2.2
How to Call a Decision Function with Java Decision Point Interface
10.2.3
What You Need to Know About Decision Function Configuration with ADF Business Components
10.3
Creating a Business Rules Application with ADF Business Components Facts
10.3.1
How to Create an Application That Uses ADF Business Components Facts
10.3.2
How to Add the Chapter10 Generic Project
10.3.3
How to Create ADF Business Components Application for Business Rules
10.3.4
How to Update View Object Tuning for Business Rules Sample Application
10.3.5
How to Create a Dictionary for Oracle Business Rules
10.3.6
How to Add Decision Point Dictionary Links
10.3.7
How to Import the ADF Business Components Facts
10.3.8
How to Add and Run the Outside Manager Ruleset
10.3.8.1
How to Add the Outside Manager Ruleset and Add a Decision Function
10.3.8.2
How to Create the ActionType Java Implementation Class
10.3.8.3
How to Import the Message Action Java Fact
10.3.8.4
How to Add the Find Managers Rule
10.3.8.5
How to Add the Outside Manager Finder Class
10.3.8.6
How to Update ADF META INF for Local Dictionary Access
10.3.8.7
How to Build and Run the Project to Check the Outside Manager Finder
10.3.9
How to Add and Run the Department Manager Ruleset
10.3.9.1
How to Add the Department Manager Finder Ruleset
10.3.9.2
How to Add the Find Rule in the Department Manager Finder Ruleset
10.3.9.3
How to Add Retract Employees Ruleset
10.3.9.4
How to Add the Find Department Managers Decision Function
10.3.9.5
How to Add the Department Manager Finder Java Class
10.3.9.6
How to Copy the Dictionary to an MDS Accessible Location
10.3.9.7
How to Build and Run the Project to Check the Find Managers Rule
10.3.10
How to Add and Run the Raises and Retract Employees Rulesets
10.3.10.1
How to Add the Raises Ruleset
10.3.10.2
How to Create the Raise ActionType Java Implementation Class
10.3.10.3
How to Import the Raise Action Java Fact
10.3.10.4
How to Add the 12 Year Raise Rule
10.3.10.5
How to Add the Employee Raises Decision Function
10.3.10.6
How to Add the Employee Raises Java Class
10.3.10.7
How to Copy Dictionary
10.3.10.8
How to Build and Run the Project to Check the Raises Rule
11
Working with Decision Components in SOA Applications
11.1
Introduction to Decision Components
11.2
Working with a Decision Component
11.2.1
Working with Decision Component Metadata
11.2.1.1
Decision Service Metadata (.decs) File
11.2.1.2
SCA Component Type (.componentType) File
11.2.1.3
Decision Component Entry in composite.xml
11.2.2
Working with Decision Components that Expose a Decision Function
11.2.3
Using Stateful Interactions with a Decision Component
11.2.4
What You Need to Know About Stateful Interactions with Decision Components
11.3
Decision Service Architecture
A
Oracle Business Rules Files and Limitations
A.1
Rules Designer Naming Conventions
A.1.1
Ruleset Naming
A.1.2
Dictionary Naming
A.1.3
Alias Naming
A.1.4
XML Schema Target Package Naming
B
Rules Extension Methods
B.1
Duration Extension Methods (oracle.rules.rl.extensions.Duration)
B.2
JavaDate Extension Methods (oracle.rules.rl.extensions.JavaDate)
B.3
XMLDate Extension Methods (oracle.rules.rl.extensions.XMLDate)
B.4
OracleDate Methods (oracle.rules.sdk2.extensions.OracleDate)
B.5
OracleDuration Methods (oracle.rules.sdk2.extensions.OracleDuration)
C
Oracle Business Rules Frequently Asked Questions
C.1
Why Do Rules Not Fire When A Java Object is Asserted as a Fact and Then Changed Without Using the Modify Action?
C.2
What are the Differences Between Oracle Business Rules RL Language and Java?
C.3
How Does a RuleSession Handle Concurrency and Synchronization?
C.4
How Do I Correctly Express a Self-Join?
C.5
How Do I Use a Property Change Listener in Oracle Business Rules?
C.6
What Are the Limitations on a Decision Service with Oracle Business Rules?
C.7
How Do I Change the Name of a Dictionary or Dictionary Package?
C.8
How Do I Put Java Code in a Rule?
C.9
Can I Use Java Based Facts in a Decision Service with BPEL?
C.10
How Do I Enable Debugging in a BPEL Decision Service?
C.11
How Do I Support Versioning with Oracle Business Rules?
C.12
What is the Priority Order Using Priorities with Rules and Rulesets?
C.13
Why do XML Schema with xsd:string Typed Elements Import as Type JAXBElement?
C.14
Why Are Changes to My Java Classes Not Reflected in the Data Model?
C.15
How Do I Use Rules SDK to Include a null in an Expression?
C.16
Is WebDAV Supported as a Repository to Store a Dictionary?
D
Oracle Business Rules Troubleshooting
D.1
Getter and Setter Methods are not Visible
D.2
Java Class with Only a Property Setter
D.3
Renaming a Dictionary or Dictionary Package
D.4
Runtime NoClassDefFound Error
D.5
RL Specific Keyword Naming Conflict Errors
D.6
java.lang.IllegalAccessError from Business Rules Service Runtime
D.7
JAXB 1.0 Dictionaries and RL MultipleInheritanceException
D.8
Why Does XML Schema with Underscores Fail JAXB Compilation?
D.9
How Are Decision Service Inputs and Outputs Restricted?
E
Working with Oracle Business Rules and JSR-94 Execution Sets
E.1
Introduction to Oracle Business Rules and JSR-94 Execution Sets
E.2
Creating JSR-94 Rule Execution Sets from Oracle Business Rules Rulesets
E.2.1
Creating Rule Execution Set with Oracle Business Rules RL Language Text
E.2.2
Creating a Rule Execution Set from Oracle RL Text Specified in a URL
E.2.3
Creating Rule Execution Sets with Rulesets from Multiple Sources
E.3
Using the JSR-94 Interface with Oracle Business Rules
E.3.1
Creating a Rule Execution Set with createRuleExecutionSet
E.3.2
Creating a Rule Session with createRuleSession
E.3.3
Working with JSR-94 Metadata
E.3.4
Using Oracle Business Rules JSR-94 Extensions
E.3.4.1
Using the Extended createRuleExecutionSet to Create a Rule Execution Set
E.3.4.2
Invoking an RL Language Function in JSR-94
F
Working with Rule Reporter
F.1
Introduction to Working with Rule Reporter
F.1.1
What You Need to Know About Rule Reporter HTML Style Sheets
F.1.2
What You Need to Know About RuleReporter API
F.1.3
What You Need to Know About Rule Reporter Dependent Jar Files
F.2
Using Rule Reporter Command Line Interface
F.2.1
How to List the Contents of a Dictionary with Rule Reporter Command Line
F.3
Using Rule Reporter with Java
F.3.1
How to List the Contents of a Dictionary Using Rule Reporter with Java
Index
Scripting on this page enhances content navigation, but does not change the content in any way.