In a rule engine, the things that the project works with such as employees, inventory, parts, and so on are concepts in the ontology 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. Events can also be 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 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 Data Modeling 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 do not occur.
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 TIBCO BusinessEvents are transformed to the appropriate type of message.
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.
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.
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 TIBCO 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.