Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 1 Introduction to TIBCO BusinessEvents : Designtime Resource Overview

Designtime Resource Overview
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 decision 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.
Designing the ontology and the rules well is key to a good CEP (complex event processing) project.
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 and Events
Channels (except for local channels which communicate between agents), represent connections to a resource, such as a Rendezvous daemon, JMS server, HTTP server or client, Hawk domain, or a space in TIBCO ActiveSpaces.
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.
TIBCO BusinessEvents processes three kinds of events. Only simple events are used in channels.
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 TIBCO BusinessEvents to report an activity in the engine, for example, an exception.
TIBCO BusinessEvents creates instances of simple events and time events based on user-configured event definitions.
See Chapter 2, Channels and Events.
Concepts
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 TIBCO BusinessEvents Data Modeling (purchased separately), concepts can include a state model. Also with TIBCO BusinessEvents Data Modeling, you can create concepts by importing table and view data from databases, and you can update the database definitions using RDBMS functions. These concepts are called database concepts.
Concept properties can be updated by rules and rule functions (including rule functions whose implementation is provided by decision tables).
See Chapter 3, Concepts.
Score Cards
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
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.
Functions
TIBCO BusinessEvents offers the following types of functions for use in rules:
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.
See Chapter 4, Rules and Functions
Object Management and Fault Tolerance
An important aspect of most TIBCO BusinessEvents applications is management of the objects created and modified at runtime. 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.
Fault tolerance options are related to the object management type used. TIBCO BusinessEvents supports a variety of object management and fault tolerance options.
See Chapter 6, Object Management Types and chapters following
State Modeler
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 TIBCO 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.
Database Concepts
The database concepts feature is available only with the TIBCO BusinessEvents Data Modeling add-on software. Database concepts are TIBCO BusinessEvents concepts with database behavior. They are created using a utility that enables you to map tables or views from a database to TIBCO BusinessEvents concepts.
See TIBCO BusinessEvents Data Modeling Developer’s Guide.
Query Language and Framework
The query language and framework are available with TIBCO BusinessEvents Event Stream Processing add-on software. They enable you to perform set operations against cached concepts as well as against incoming event streams. Queries that obtain information at a point in time are called snapshot queries, and are available for cache queries only. Queries that listen to a message stream and collect information continuously are known as continuous queries.
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 Event Stream Processing Query Developer’s Guide.
Pattern Language and Framework
The pattern language and framework are available with TIBCO BusinessEvents Event Stream Processing add-on software. This 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 TIBCO 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 event sequence recognition, duplicate event suppression, and implementation of "Store and Forward" scenarios.
See TIBCO BusinessEvents Event Stream Processing Pattern Matcher Developer’s Guide.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved