IBO DML Caching
IBObjects (http://www.ibobjects.com) offers a superb mechanism called DML Caching to synchronize data changes immediately in your multi-user/client environment. Your application can be configured easily to reflects changes nearly in real-time committed by another.

The DML Caching mechanism is well-described in a help-file available in the Tech Info sheets section on Jason Wharton's web site http://www.ibobjects.com/TechInfo.html. Most things are picked out of this Tech Info sheet.
Scope of DML Caching
DML Caching provides synchronziation in three scopes:
  • Within the scope of a specific transaction, affecting all datasets in its context
  • Within the entire scope of one instance of one application which the current user is running
  • Across the whole range of applications, application instances and users which are connected to a single database
IB LogManager can help you to manage (3) at database level. (3) is also called Global DML Caching and enables you to synchronize data changes within your multi-user environment in a very easy way.
Global DML Caching
To broadcast and receive across application boundaries, the work shifts to the database:
  • A new table (operation log table in IB LogManager) is required for storing DML cache events
  • A specialized cursor-type dataset object (class TIB_SyncCursor) is added to the client to watch the DML cache table for events by other users
  • Your user management system must make provision for each user to be recognized distinctly.
The reason for this "distinct user" requirement is that all instances of applications involved in global caching post their DML events to the cache table. When seeking announcements to synchronize the local instance, the local application must disregard any DML events posted from its own transactions.

In short, Global DML Caching is based on the assumption, that committed changes are logged in a table and each time a new log record is added, an event is fired from an after insert trigger on the operation log table. This event is catched within your client application from the TIB_SyncCursor component and datasets which are registered for DML Caching are synchronized nearly in real-time.

Click here to see how IB LogManager can be used as "Integrator" for DML Caching in your IBO application.
Resources Header
Factsheet
Download Trial
Support Page
Purchase Licenses
Overview
Features
IBLMPump
IBLMExport
IBLMRedo
IBO DML Caching
Development History