The TIBCO BusinessEvents engine can be described not only as a CEP engine but also as an event-driven rule engine or real-time rule engine. TIBCO BusinessEvents enables CEP problems to be solved through a model-driven approach, in which the developer defines the event, rule, concept (class) and state models which are then compiled so that at run-time incoming events are processed as efficiently as possible.
The various models are as follows:
- Event model
- The event model describes the inputs into TIBCO BusinessEvents. Events provide information through their properties and (optionally) through an XML payload.
- The event model provides the primary interface between TIBCO BusinessEvents and the outside world, for input as well as output. Typical event sources (or channels) are messages from TIBCO Rendezvous and TIBCO Enterprise Message Service middleware, events generated explicitly by TIBCO BusinessEvents, and other sources such as SOAP messages. Events can be used to trigger rules.
- Concept model
- The concept model describes the data concepts used in TIBCO BusinessEvents, which may be mapped from events or their payloads, or loaded by some other mechanism into TIBCO BusinessEvents.
- The concept model is based on standard UML Class and Class Diagram principles.
- Rule model
- Rules provide one of the main behavioral mechanisms in TIBCO BusinessEvents. Rules are defined in terms of declarations (events and concepts of interest), conditions (filters and joins on and between the attributes of the events and concepts), and actions.
- The underlying rule engine is based on an algorithm called the Rete algorithm, which mixes all rules together into a type of look-up tree, so that any additional concept instance or event can near-instantly cause the appropriate rule or rules to fire and invoke the appropriate actions. Rules are almost always defined in general terms (concepts or classes and events), so that they can apply to as many combinations of those events and classes that exist in memory at any one time. The combination of rule declaration and condition defines the event pattern required for CEP operation. Rule actions that update other concepts may cause other rules to become available for firing, a process called inferencing or forward chaining. These types of rules are generally called Production Rules.
- Rule functions
- Algorithms, procedures or functions may be usefully defined as parameterized rule functions and re-used as required in rule actions and other areas where a behavior can be specified.
- State model
- An important item of metadata for a concept or object is its state. Typically a state model describes the states that an entity can hold, and the transitions between states that are allowed, and the conditions for such transitions. Internally the state model is just additional metadata, but it is more useful to describe the state model as a visual model of states and transitions.
- The state transition rules can be viewed as special customizations of standard rules. The state model is based on the standard UML State Model principles and requires TIBCO BusinessEvents Data Modeling add-on software.
- Query model
- Queries can provide both snapshot and continuous views of the data in a TIBCO BusinessEvents cache.
- Queries can also provide continuous views of data arriving through channels. They are constructed and executed from rule functions in a specialized agent (called a query agent). Queries provide event stream processing or set operations to derive information that can then be used in rule functions, or shared (via events or the cache). This model requires TIBCO BusinessEvents Event Stream Processing add-on software.
Copyright © TIBCO Software Inc. All Rights Reserved.