Table of Contents
- Title and Copyright Information
- Preface
-
1
Overview of Oracle Business Rules
- 1.1 Introduction to Oracle Business Rules
- 1.2 Understanding Oracle Business Rules Formats
-
1.3
Oracle Business Rules Runtime and Design Time Elements
- 1.3.1 Decision Component (Business Rules) in a SOA Composite Application
- 1.3.2 Using Rules Engine with Oracle Business Rules in a Java EE Application
- 1.3.3 Oracle Business Rules RL Language
- 1.3.4 Oracle Business Rules SDK
- 1.3.5 Rules Designer
- 1.3.6 Oracle SOA Composer Application
- 1.3.7 Oracle Business Process Composer Application
- 1.4 Oracle Business Rules Engine Architecture
-
2
Working with Data Model Elements
- 2.1 Introduction to Working with Data Model Elements
-
2.2
Introduction to Dictionaries and Dictionary Links
- 2.2.1 Working with 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 Link to a Dictionary
- 2.2.6 How to Update a Linked Dictionary
- 2.2.7 What You Need to Know About Dictionary Linking
- 2.2.8 What You Need to Know About Dictionary Linking and Dictionary Copies
- 2.2.9 What You Need to Know About Dictionary Linking to a Deployed Dictionary
- 2.2.10 What You Need to Know About Business Rules Inputs and Outputs with BPEL
- 2.2.11 How to Compare or Merge Two or More Dictionaries
- 2.3 Working with Oracle Business Rules Globals
- 2.4 Working with Decision Functions
- 2.5 Introduction to Oracle Business Rules Functions
- 2.6 Localizing Oracle Business Rule Resources
-
3
Working with Facts and Value Sets
- 3.1 Introduction to Working with Facts and Value Sets
- 3.2 Working with XML Facts
- 3.3 Working with Java Facts
- 3.4 Working with RL Facts
- 3.5 Working with ADF Business Components Facts
-
3.6
Working with Value Sets
- 3.6.1 How to Define a List of Values Global Value Set
- 3.6.2 How to Define a List of Ranges Global Value Set
- 3.6.3 How to Define an Enumerated Type (Enum) Value Set from XML Types
- 3.6.4 How to Define an Enumerated Type (Enum) Value Set from Java Types
- 3.6.5 What You Need to Know About List of Values Value Sets
- 3.6.6 What You Need to Know About Range Value Sets
- 3.6.7 What You Need to Know About the Value Set Allowed in Actions Option
- 3.6.8 What You Need to Know About Values
- 3.7 Associating a Value Set with Business Terms
-
4
Working with Rulesets and Rules
- 4.1 Introduction to Working with Rulesets, Rules, and Business Phrases
- 4.2 Working with Rulesets
-
4.3
Working with Rules
- 4.3.1 How to Add General Rules
- 4.3.2 How to Add Verbal Rules
- 4.3.3 How to Define a Test in a Rule
- 4.3.4 How to Define a Test in a Verbal Rule
- 4.3.5 What You Need to Know About Oracle Business Rules Test Variables
- 4.3.6 How to Define Range Tests in Rules
- 4.3.7 How to Define Set Tests in Rules
- 4.3.8 How to Define an Action in a General Rule
- 4.3.9 How to Define an Action in a Verbal Rule
- 4.3.10 What You Need to Know About Rule Actions
- 4.3.11 What You Need to Know About Oracle Business Rules Performance Tuning
- 4.4 Introduction to Verbal Rules and Business Phrases
- 4.5 Validating Dictionaries
- 4.6 Using Advanced Settings with Rules and Decision Tables
- 4.7 Working with Nested Tests
- 4.8 Working with Advanced Mode Rules
- 4.9 Working with Extended Tests
- 4.10 Working with Tree Mode Rules
- 4.11 Using Date Facts, Date Functions, and Specifying Effective Dates
- 4.12 Introduction to Expression Builder
- 4.13 Using Value Sets as Constraints for Options Values in Rules
- 4.14 Importing Runtime Rules Changes From Repository Into JDeveloper
- 4.15 How to Model Rules When the Data Model is Deep
-
5
Working with Decision Tables
- 5.1 Introduction to Working with Decision Tables
- 5.2 Creating Decision Tables
-
5.3
Introduction to Decision Table Operations
- 5.3.1 Understanding Decision Table Split and Compact Operations
- 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 Use the Condition Cell Operations
- 5.3.4.1 How to Merge Sibling Cells in a Condition in a Decision Table
- 5.3.4.2 How to Split a Cell in a Condition in a Decision Table
- 5.3.4.3 How to a "Do Not Care" Value for a Cell in a Condition in a Decision Table
- 5.3.4.4 How to Select all Value Sets to Specify a "Do Not Care" Value for a Cell in a Condition:
- 5.3.5 How to Perform Decision Table Gap Checking
- 5.3.6 How to Perform Decision Table Manual Conflict Resolution
- 5.3.7 How to Set the Decision Table Auto Override Conflict Resolution Policy
- 5.3.8 How to Set the Decision Table Ignore Conflicts Policy
-
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 Value Sets to the Data Model for Order Approval
- 5.4.6 How to Associate Value Sets with Order and CreditScore Properties
-
5.4.7
How to Add a Decision Table for Order Approval
- 5.4.7.1 How to Create an action in a Decision Table
- 5.4.7.2 Split the Cells in the Decision Table and Add Actions
- 5.4.7.3 How to Add Actions for Each Rule in the Decision Table
- 5.4.7.4 Compact the Decision Table
- 5.4.7.5 Replace Several Specific Rules with One General Rule
- 5.4.7.6 Add a General Rule
- 5.4.7.7 How to Enable the Auto Override Conflict Resolution Policy
- 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
-
5.5
Editing Decision Tables in Microsoft Excel
- 5.5.1 Understanding What is Exported
- 5.5.2 How to Export Decision Tables
- 5.5.3 How to Import Edited Decision Tables Back to the Dictionary
-
5.5.4
How to Edit Decision Tables in Excel
- 5.5.4.1 Adding or Deleting Rules and Merging or Splitting Cells
- 5.5.4.2 Adding or Removing Value Sets
- 5.5.4.3 Showing or Hiding Value Sets and Editing the Description
- 5.5.4.4 Setting Preferences
- 5.5.4.5 Using Simple or Advanced Mode
- 5.5.4.6 Hiding or Showing the Readme Worksheet
- 5.5.4.7 Editing Condition Cells
- 5.5.4.8 Editing Actions
- 5.5.4.9 Editing Expressions
- 5.5.4.10 Editing Action Expression Parameters
- 5.5.4.11 Editing Descriptions
- 5.5.4.12 Using the Auto-Addition Feature
- 5.5.4.13 Aliases of Values in the Value Sets Worksheet
- 5.5.4.14 Syncing Value Sets and Conditions
- 6 Working with Decision Functions
- 7 Testing and Validating Business Rules
-
8
Working with Rules in Standalone (Non SOA/BPM) Scenarios
- 8.1 Loading a Dictionary from the Repository
- 8.2 Executing a Rule Dictionary
- 8.3 Introduction to the Rules SDK Decision Point API
- 8.4 Creating a Dictionary for Use with a Decision Point
- 8.5 Creating a Java Application Using Rules SDK Decision Point
- 8.6 Running the Car Rental Sample
- 8.7 What You Need to Know About Using Decision Point in a Production Environment
- 8.8 What You Need to Know About Decision Point and Decision Tracing
-
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 Develop Accessible ADF Faces Pages
- 9.2.3 How to Create the Grades Project
- 9.2.4 How to Add the XML Schema and Generate JAXB Classes in the Grades Project
- 9.2.5 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 Value Sets for Grades Sample Application
- 9.3.2 How to Associate a Value Set with a Fact Property
- 9.3.3 How to Add a Decision Table for Grades Sample Application
- 9.3.4 How to Add an Action to a Decision Table
- 9.3.5 How to Add Rules in the Decision Table for Grades Sample Application
- 9.3.6 How to Rename the Decision Function for Grades Sample Application
- 9.4 Adding a Servlet with Rules SDK Calls for Grades Sample Application
- 9.5 Adding an HTML Test Page for Grades Sample Application
- 9.6 Preparing the Grades Sample Application for Deployment
- 9.7 Deploying and Running 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.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.1.5 Sample to Invoke a Decision Point Using setinputs Method
- 10.2.1.6 Sample to Invoke a Decision Point Using setViewObject Method
- 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.2.1
How to Call a Decision Point with ADF Business Components Facts
-
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 Create ADF Business Components Application for Business Rules
- 10.3.3 How to Update View Object Tuning for Business Rules Sample Application
- 10.3.4 How to Create a Dictionary for Oracle Business Rules
- 10.3.5 How to Add Decision Point Dictionary Links
- 10.3.6 How to Import the ADF Business Components Facts
-
10.3.7
How to Add and Run the Outside Manager Ruleset
- 10.3.7.1 How to Add the Outside Manager Ruleset and Add a Decision Function
- 10.3.7.2 How to Create the ActionType Java Implementation Class
- 10.3.7.3 How to Import the Message Action Java Fact
- 10.3.7.4 How to Add the Find Managers Rule
- 10.3.7.5 How to Add the Outside Manager Finder Class
- 10.3.7.6 How to Update ADF META INF for Local Dictionary Access
- 10.3.7.7 How to Copy Definitions/Dictionary to MDS Accessible Location
- 10.3.7.8 How to Build and Run the Project to Check the Outside Manager Finder
-
10.3.8
How to Add and Run the Department Manager Ruleset
- 10.3.8.1 How to Add the Department Manager Finder Ruleset
- 10.3.8.2 How to Add the Find Rule in the Department Manager Finder Ruleset
- 10.3.8.3 How to Add Retract Employees Ruleset
- 10.3.8.4 How to Add the Find Department Managers Decision Function
- 10.3.8.5 How to Add the Department Manager Finder Java Class
- 10.3.8.6 How to Copy the Dictionary to an MDS Accessible Location
- 10.3.8.7 How to Build and Run the Project to Check the Find Managers Rule
-
10.3.9
How to Add and Run the Raises and Retract Employees Rulesets
- 10.3.9.1 How to Add the Raises Ruleset
- 10.3.9.2 How to Create the Raise ActionType Java Implementation Class
- 10.3.9.3 How to Import the Raise Action Java Fact
- 10.3.9.4 How to Add the 12 Year Raise Rule
- 10.3.9.5 How to Add the Employee Raises Decision Function
- 10.3.9.6 How to Add the Employee Raises Java Class
- 10.3.9.7 How to Copy Dictionary to MDS Accessible Location
- 10.3.9.8 How to Build and Run the Project to Check the Raises Rule
- 11 Working with Decision Components in SOA Applications
-
12
Using Oracle SOA Composer with Oracle Business Rules at Runtime
- 12.1 Introduction to Oracle SOA Composer
- 12.2 Setting Accessibility Options
-
12.3
Opening and Viewing an Oracle Business Rules Dictionary
- 12.3.1 How to View and Edit Rulesets
- 12.3.2 How to View and Edit Value Sets
- 12.3.3 How to View and Edit Globals
- 12.3.4 How to View and Edit Business Phrases
- 12.3.5 How to View and Edit Tests
- 12.3.6 How to View Explorer
- 12.3.7 How to View and Edit Facts
- 12.3.8 How to View Decision Functions
- 12.3.9 How to View Linked Dictionary Names
- 12.3.10 How to Work With Dictionary Links in an Oracle Business Rules Dictionary
- 12.3.11 How to View and Edit Translations
-
12.4
Getting Started with Editing a Dictionary
- 12.4.1 What You May Need to Know About Localized Number Formatting Support in Oracle SOA Composer
- 12.4.2 What You May Need to Know About Cutting/Copying and Pasting Rule Elements
- 12.4.3 How to Edit Globals in an Oracle Business Rules Dictionary
- 12.4.4 How to Edit Value Sets in an Oracle Business Rules Dictionary
- 12.4.5 How to Edit Decision Functions in an Oracle Business Rules Dictionary
- 12.4.6 What You May Need to Know About Oracle Business Rules Dictionary Editor Declarative Component
- 12.4.7 What You May Need to Know About Oracle Business Rules Dictionary Editor Task Flow
-
12.5
Editing Rules in an Oracle Business Rules Dictionary
- 12.5.1 Using the Rulesets Tab
- 12.5.2 How to Edit Rules in an Oracle Business Rules Dictionary
- 12.5.3 How to Add a Rule
- 12.5.4 How to Delete a Rule
- 12.5.5 How to Show and Edit Advanced Settings for Rules
- 12.5.6 How to Add Rule Conditions
- 12.5.7 How to Delete Rule Conditions
- 12.5.8 How to Modify Rule Conditions
- 12.5.9 How to Add Rule Actions
- 12.5.10 How to Delete Rule Actions
- 12.5.11 How to Modify Rule Actions
- 12.5.12 How to Work with Advanced Mode Rules
- 12.5.13 How to Work with Extended Tests
- 12.5.14 How to Work with Tree Mode Rules
- 12.5.15 What You May Need to Know About Oracle Business Rules Editor Declarative Component
- 12.5.16 What You May Need to Know About Oracle Business Rules Dictionary Editor Declarative Component
- 12.5.17 What You May Need to Know About Oracle Business Rules Dictionary Editor Task Flow
- 12.6 Using the Oracle SOA Composer Browser Windows
-
12.7
Editing Decision Tables in an Oracle Business Rules Dictionary
- 12.7.1 Adding a Decision Table
- 12.7.2 Adding Condition Rows to a Decision Table
- 12.7.3 Adding Actions to a Decision Table
- 12.7.4 Adding Rules to a Decision Table
- 12.7.5 Deleting Rules in a Decision Table
- 12.7.6 Defining Tests in a Decision Table
- 12.7.7 Splitting and Compacting a Decision Table
- 12.7.8 Checking for Missing Rules in a Decision Table
- 12.7.9 Performing Conflict Resolution in Decision Tables
- 12.7.10 Switching From Rows to Columns
- 12.7.11 Working with Advanced Mode Options in a Decision Table
- 12.7.12 Deleting a Decision Table
- 12.7.13 Editing Decision Tables in Microsoft Excel
- 12.7.14 What You Need to Know About Rule Test Variables
- 12.8 Comparing and Merging Oracle Business Rules Dictionaries
- 12.9 Localizing Names of Resources in Oracle Business Rules
- 12.10 Synchronizing Rules Dictionary in Oracle JDeveloper With Runtime Dictionary Updates
- 12.11 Validating and Diagnosing an Oracle Business Rules Dictionary
- 12.12 Working with Tasks
-
Appendices
- A Oracle Business Rules Files and Limitations
- B Oracle Business Rules Built-in Classes and Functions
-
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 Put Java Code in a Rule?
- C.8 Can I Use Java Based Facts in a Decision Service with BPEL?
- C.9 How Do I Enable Debugging in a BPEL Decision Service?
- C.10 How Do I Support Versioning with Oracle Business Rules?
- C.11 What is the Priority Order Using Priorities with Rules and Decision Tables?
- C.12 Why do XML Schema with xsd:string Typed Elements Import as Type JAXBElement?
- C.13 Why Are Changes to My Java Classes Not Reflected in the Data Model?
- C.14 How Do I Use Rules SDK to Include a null in an Expression?
- C.15 Is WebDAV Supported as a Repository to Store a Dictionary?
- C.16 Using a Source Code Control System with Rules Designer
-
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 Runtime NoClassDefFound Error
- D.4 RL Specific Keyword Naming Conflict Errors
- D.5 java.lang.IllegalAccessError from Business Rules Service Runtime
- D.6 JAXB 1.0 Dictionaries and RL MultipleInheritanceException
- D.7 Why Does XML Schema with Underscores Fail JAXB Compilation?
- D.8 How Are Decision Service Input Output Element Types Restricted?
- D.9 How Are Decision Service Input Output Schema Restricted?
- D.10 How Do I Handle Java Reserved Names in an Imported Fact Type?
-
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.3 Using the JSR-94 Interface with Oracle Business Rules