In a rule engine, the things that the project works with such as employees, inventory, parts, and so on are
concepts in the
ontology (knowledge model) of the project, as are
scorecards, which hold metrics. When
TIBCO BusinessEvents Data Modeling software is used, a database concept feature enables you to create concepts from database data, and a state modeler feature enables you to model the behavior of concepts given certain occurrences.
Events such as flight take-off, purchase of a mortgage, sale of stock, and so on are also part of the ontology. Events can be created from messages arriving through channels, and generated internally, for use in the engine and to send out messages to external systems.
Rules are triggered by events and by changes in concepts and scorecards. For example, rules might cause a baggage to be rerouted if there is a certain problem at the airport. Rule functions are functions written in the rule language that can be called from rules or other rule functions. Some rule functions serve special purposes at startup, shutdown, and in preprocessing events. When
TIBCO BusinessEvents Decision Manager software is used, its d
ecision tables also provide rules. These, however, are
business rules, and are triggered only indirectly by the inferencing engine.
When TIBCO BusinessEvents Event Stream Processing software is used, you can design complex
queries that provide information on the event stream or on cached objects that can in turn be fed into rules. You can also design event patterns to watch for, and take certain actions when they occur or don’t occur.
The sections below describe the features mentioned above in greater detail, with the exception of the features provided in add-on software which are documented in their respective manuals.
Channels (except for local channels which communicate between agents), represent connections to a resource, such as a Rendezvous daemon, JMS server, or HTTP server or client.
A channel has one or more destinations, which represent listeners to messages from that resource. Destinations can also be used to send messages to the resource.
Messages arriving through channels are transformed into simple events. Conversely, simple events sent out of BusinessEvents are transformed to the appropriate type of message.
•
|
Simple Event A representation of a single activity (usually a business activity) that occurred at a single point in time.
|
•
|
Time Event A timer. Generally created and used to trigger rules.
|
•
|
Advisory Event A notice generated by BusinessEvents to report an activity in the engine, for example, an exception.
|
A concept definition is a definition of a set of properties that represent the data fields of an entity. Concepts are equivalent to UML Classes: they represent class-level information, and at runtime the instances of concepts are called objects.
Concepts can describe relationships among themselves. For example, an order concept might have a parent/child relationship with an
item concept. A
department concept might be related to a
purchase_requisition concept based on the shared property,
department_id.
With the TIBCO BusinessEvents Data Modeling (purchased separately), concepts can include a state model. Also with the TIBCO BusinessEvents Data Modeling, you can create concepts can be created by importing table and view data from databases, and you can update the database definitions using RDBMS functions. These concepts are called
database concepts.
A score card serves as a static variable that is available throughout the project. You can use a ScoreCard resource to track key performance indicators or any other information. Use rules to view a scorecard value, use its value, or change its value. Note that unlike concepts and event definitions, which describe types of instances, each scorecard is both the description and the instance.
A score card is similar to a global variable, except that with multiple active inference agents, the value is local to the agent, and you can update the value of a scorecard in rules, but not the value of a global variable.
See Designing for Concurrency for some important points about score cards.
Rules define what constitutes unusual, suspicious, problematic, or advantageous activity within your enterprise applications. Rules also determine what BusinessEvents does when it discovers these types of activities. You can execute actions based on certain conditions which are defined using simple events, concept instances, events, score cards, or a combination of these objects.
Standard functions include a set of temporal functions, which allow you to perform calculations based on a sampling of a property’s values over time. These functions make use of the history for that property.
Although configuring object management is an administrative task, it is important to consider the effect of object storage options when designing projects.
Different projects have different object management requirements. For some, it is acceptable to destroy the objects once the rule engine cycle that needs them has completed. They require only memory-based object management. For others, the instances have longer term value and need to be persisted.
Related to object management is configuration of fault tolerance features. BusinessEvents supports a variety of object management and fault tolerance options.
Cache object management enables BusinessEvents to run in multi-agent mode, also known as multi-engine mode. In this mode, load balancing, parallel processing, and rule chaining features are available at the agent level.
The State Modeler feature is available only with the TIBCO BusinessEvents Data Modeling add-on software. State Modeler is based on the UML-standard definition for State Models. It allows you to model the life cycle of a concept instance — that is, for each instance of a given concept, you can define which states the instance will pass through and how it will transition from state to state.
States have entry actions, exit actions, and conditions, providing precise control over the behavior of BusinessEvents. Transitions between states also may have rules. Multiple types of states and transitions maximize the versatility and power of State Modeler.
See TIBCO BusinessEvents Data Modeling Developer’s Guide.
The database concepts feature is available only with the TIBCO BusinessEvents Data Modeling add-on software. Database concepts are BusinessEvents concepts with database behavior. They are created using a utility that enables you to map tables or views from a database to BusinessEvents concepts.
See TIBCO BusinessEvents Data Modeling Developer’s Guide.
Available with TIBCO BusinessEvents Event Stream Processing add-on software, the query features enable you to perform set operations against cached concepts as well as against incoming event streams. Queries can obtain information at a point in time (snapshot queries, for cache queries only. They can also listen to a message stream and collect information continuously.
Queries use an object-oriented SQL-like query language within rule functions. Query results can then be passed using events, or can be shared in cached concepts to be used in other rules or rule functions.
See TIBCO BusinessEvents Query Developer’s Guide
Available with TIBCO BusinessEvents Event Stream Processing add-on software, the Pattern Matcher add-on provides pattern-matching functionality, complementing TIBCO BusinessEvents rule processing and query processing features. Pattern Matcher consists of an easy-to-use language and a service that runs in a BusinessEvents agent. It addresses some of the simpler and more commonly occurring problems in complex event processing such as patterns in event streams, correlation across event streams, temporal (time based) event sequence recognition, duplicate event suppression, and implementation of "Store and Forward" scenarios.
See TIBCO BusinessEvents Query Developer’s Guide