Developing Rules Applications
1-4 Oracle Database Rules Manager and Expression Filter Developer’s Guide
1.2 Developing Rules Applications
Developing a rules application using Rules Manager requires a somewhat different
approach toward application development. Typically, you would scan through a new
API and other reference material, then create some sample scripts based on the
examples to get a feel for how the feature works. Next, you might begin to apply these
methods learned to your own application. However, this is where you might get
bogged down in the detail of the implementation because the approach to Rules
Manager application development uses a somewhat different focus. The focus is on
the decision points that already exist in your application and that is all. You need not
focus on all the supporting parts of your application that do not necessarily pertain to
these decision points.
As an application developer you must ask yourself the following questions:
■ Where are the decision points in my application?
■ What are the decisions that each decision point is making?
■ How is each decision being made?
■ Once a decision is made how does it execute in the application?
Note that each decision point may use one or more rules that may involve one or more
events happening in some sequence.
Once you determine the decision points in your application, you integrate Rules
Manager into your application by using the standard notation for ECA rules to model
each decision point as described in Section 1.1. It is best to keep your approach as
simple as possible.
For example, using Rules Manager for the simplest case, if your application has a
decision point that uses one or more rules each relying on a single instance of an event
structure that happens in the application, you would define a primitive event structure
to model this event activity. In a complex event scenario, if your application has
another decision point that uses one or more rules, each relying on multiple instances
of the same or different event structures that happen in some sequence, define a
composite event structure consisting of separately defined primitive event structures
for each individual event that happens. The composite event structure couples these
primitive events together to model the composite event activity. Next, create the rule
class. Creating the rule class implicitly creates the rule class table containing an
expression column to store the rule conditions and one or more action preferences
columns you use to determine the appropriate action when the rule evaluates to true.
In addition to the rule class table, the previous step also creates an action callback
procedure that you can modify to execute the action for the matching rules.
This unique approach lets you quickly integrate Rules Manager into existing
applications as easily as if it were a new application because you only need to focus on
the decision points contained in your application or in your data analysis for a new
application. Remember Rules Manager stores, processes, and matches rules with
instances of either incoming single events or groups of events to resolve the rules
concentrated around each decision point. The object then becomes how best to model
these decision points using Rules Manager. This is explained in Part I, "Rules
Manager".