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


Chapter 6 Object Management Types : Object Management (OM) Overview

Object Management (OM) Overview
Object management refers to various ways that TIBCO BusinessEvents can manage the ontology object instances created by TIBCO BusinessEvents.
Cache object management enables rich functionality and is generally chosen for enterprise applications. In Memory object management can also play a useful secondary role in testing, and as an event router.
The goals of object management are as follows:
Object Persistence  Enables objects to be available for reuse, either in memory caches or in databases. Objects can also be recalled into the Rete network, thus extending the possible functionality of your system.
Data Recovery  Ability to survive failures without loss of data.
Object Partitioning  The ability to partition the objects among multiple JVMs. and to handle notifications of object additions, deletions, and changes to all the agents, enabling them to remain synchronized.
Object Clustering  The ability to maintain multiple copies of each object in different nodes (JVMs) such that if one node fails, another node can take over.
Message Acknowledgement  See Message Acknowledgement for information on the way each object management type handles message acknowledgement.
Cache Object Management
TIBCO BusinessEvents Express  Content relating to Cache OM and backing store is not relevant to TIBCO BusinessEvents Express edition.
Using cache clustering technology, object data is kept in memory caches, with redundant storage of each object for reliability and high availability. Cache data is shared across all the engines participating in the cluster. Two cache providers are supported. The built-in cache provider is the TIBCO BusinessEvents DataGrid component. You also have the option to use a supported version of Oracle Coherence, for which you have a license that is appropriate for your usage.
Cache Object Management Terminology
A more complete introduction to the terms is located in Distributed Cache and Multi-Agent Architecture and Terms. However, the following basic definitions are used in other (prior) sections.
Processing Unit  A processing unit deploys as a TIBCO BusinessEvents engine. One engine runs in one JVM.
Agent  Each processing unit contains one or more agents of different types. The main types are inference agents, which perform the inferencing work, and cache agents, which manage the objects.
Agent Class  An agent class is a configured agent definition. Configuration specifies, for example, what channels, startup rule functions, and rules the agent will use at runtime. You can deploy multiple instances of the same agent class, and you can deploy instances of different agent classes, depending on the work the application is designed to do.
Cache Agent   An agent that stores cache data. A processing unit can have one cache agent only. (Processing units that run other types of agents can have cache storage enabled too, which can be useful for demonstration purposes only, but not in production systems).
Seeders and Leeches (TIBCO BusinessEvents DataGrid terms)  A seeder is an agent that stores cache data. Cache agents are seeders by default. A leech is an agent that is part of the cluster but does not store data. Agents other than cache agents are generally leeches. These terms are not generally used in the documentation. However they may be useful to know about for technical discussions.
Data Recovery
Data recovery after total system failure is available if you implement a persistent backing store. Recovery from failure of individual processing units (JVMs) is available with Cache OM without a backing store (if at least one backup copy of each object is maintained in the cache).
Object management features provide fine-grained controls for managing the memory footprint of the cache, if you use a backing store.
Fault Tolerance
Fault tolerance is provided at the inference agent level. Agents belonging to the same agent class can act in a traditional fault-tolerant manner, where standby agents take over for failed active agents. Fault tolerance can also be provided implicitly, because all active agents in the same class share the workload. There may be no need to keep any agents as standbys. It depends on your needs.
Cache-based object management is generally the best choice for CEP systems. It offers richer functionality, and is the method that receives most focus in these chapters.
Cache OM offers fine-grained object management controls at the object level. See Chapter 7, Distributed Cache OM.
For implementation details, see TIBCO BusinessEvents Developer’s Guide.
In Memory Object Management
In Memory object management does not persist object instances. They are maintained in local JVM memory only. Objects are managed by standard JVM features. This is the only section on In Memory manager, because of its simplicity.
In Memory OM does not provide data recovery in case of system failure. The working memory on each system is not synchronized. Object state is not maintained. At startup after a failure, object state is initialized to the application’s starting state.
The In Memory option is a good choice for development and testing environments. In production environments, the In Memory option is best used for stateless operations and transient objects. An independently deployed In Memory application can act as an event router, directing events to agents in a cache cluster for processing.
For Fault Tolerance  In Memory OM itself does not support fault tolerance. If you require fault tolerance with an in memory system, then configure for Cache OM, but use the Memory Only mode for all objects. Because data is not persisted, it is lost during failover and failback. However, the engine process continues.
Summary of Object Management Features
The following table illustrates features supported for each OM type.
Migrating to a Different Object Management Type
(Not available in TIBCO BusinessEvents Express edition.) You can use In Memory object management in early phases of development. In later phases, you can implement Cache OM and take advantage of features it makes possible.
Perform tests after changing object management type  As with any change in configuration, be sure to perform thorough testing before going into production.

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