CONTENTS
Executing Rules
Getting Started
Overview: Ruleset Execution
Tutorial: Executing a Hosted Transparent Decision Service
Concepts: Transparent Decision Services
Before you Start
Tutorial Scenario
Task 1: Importing a Rule Project in Rule Studio
Task 2: Taking a Tour of the Rule Project
Task 3: Creating a RuleApp Archive From a Ruleset Archive
Task 4: Deploying a RuleApp
Task 5: Retrieving the WSDL File
Task 6: Calling the Hosted Transparent Decision Service Using WSDL Generated Clients
Task 7: Inspecting the Hosted Transparent Decision Service Performance
Tutorial: Creating a Web Application to Invoke JRules in BEA WebLogic Workshop
Before you Start
Tutorial Scenario
Task 1: Installing Rule Execution Server
Task 2: Developing a Rule Execution Server Application
Task 3: Deploying the Loan Validation RuleApp
Task 4: Executing the Loan Validation Application
Task 5: Debugging the Loan Validation Application
Tutorial: Creating a Web Application to Invoke JRules on IBM Rational Application Developer
Before you Start
Tutorial Scenario
Task 1: Installing Rule Execution Server
Task 2: Defining a Web Module in Rational Application Developer
Task 3: Defining a Web Application in Rational Application Developer
Task 4: Defining a Server Configuration in Rational Application Developer
Task 5: Running and Debugging Your Web Application with Rational Application Developer
Task 6: Deploying the Loan Validation RuleApp
Task 7: Executing the Loan Validation Application
Concepts
Rule Engine
The Rule Engine Object
The Engine Application Programming Interface (API)
The .NET Rule Engine
Rule Execution Server
Rule Execution Server Components
Execution and Management Stacks
Users
Architecture
Transparent Decision Services
Management and Monitoring
Execution Unit (XU)
Persistence Layer
J2SE and J2EE Applications
Execution
Execution Components
Execution Patterns
Rule Sessions
Message-Driven Rule Beans
Ruleset Execution Path
Ruleset Execution Trace
Ruleset Interceptor
JNDI Bindings
Reference Bindings for Rule Execution Server Modules
Local Bindings
Local EJB Bindings
Remote EJB Bindings
Message-Driven Bean Bindings
RuleApp Execution Code Generators
Transaction Support
JSR-94 Implementation
JSR-94 Implementation Archives
Rule Engine Interactions Using JSR-94
Rule Studio Projects for Executing Rules
Tasks
Executing a Ruleset Using a Native Rule Engine
Creating a Java Project for Rules
Setting the Classpath to Contain the XOM and the Rule Engine
Writing a Ruleset Execution Method
Getting Notification During Ruleset Execution
Executing a Ruleset Using Rule Execution Server
Overview: Execution Code Generators
Creating a POJO Client Project for RuleApps
Creating a Web Service or Monitored Transparent Decision Service Project for RuleApps
Creating an SCA Component Client Project for RuleApps
Creating an SSP Setup Client Project for RuleApps
Adding RuleApp Execution Artifacts to an Existing Project
Maintaining Execution Code Generators
Adding a New Execution Code Generator
Modifying the Generator Used in the RuleApp Code Generation Wizards
Writing a New Generator Class
Writing a New Nested Wizard
Implementing a Ruleset Execution Interceptor
Invoking a Ruleset Using a Stateless Rule Session
Getting the Provider Class for a Stateless Rule Session
Creating a Stateless Rule Session and Executing a Ruleset
Invoking a Ruleset Using a Stateful Rule Session
Getting the Provider Class for a Stateful Rule Session
Creating a Stateful Rule Session and Executing a Ruleset
Invoking a Ruleset Using a Message-Driven Rule Bean
Invoking a Queue Request With No Reply
Invoking a Queue Request With a Reply
Invoking a Topic Request With No Reply
Tracing Ruleset Execution
Monitoring Ruleset Execution Using the MBeans Accessor API
Handling Rule Engine Exceptions in Rule Execution Server
Assembling and Packaging a Rule Execution Server Application
Installing and Configuring a Rule Execution Server Application
Packaging Java Rule Sessions
Packaging EJB Rule Sessions
Packaging Message-Driven Rule Beans
Packaging an Application-Scoped Rule Execution Server
Using the JSR-94 Implementation
Loading the JSR-94 Implementation
Using the JSR-94 API on J2SE