Shadowbase Streams from Gravic, Inc. is a powerful and flexible facility that enables diverse applications to interoperate with each other at the data level (called data integration). This capability is provided even for legacy applications that were never intended nor designed to work together. Shadowbase Streams focuses on distributing information in real-time throughout the enterprise, enabling the provision of a Real-Time Enterprise (RTE), a concept in business systems design focused on ensuring organizational responsiveness. It rapidly delivers information where and when it is needed without customer application modification. The application’s responsibility is simply to make functional use of the data delivered by Shadowbase Streams.
With data integration, Shadowbase Streams creates a real-time copy of selected data from a source system’s database in a target system’s database. Target system applications may use this copy of data updates from the source application for expanded functionality. Therefore, integration using Shadowbase Streams typically involves sending a source application’s database changes from one environment to a target application’s database in another.
This process is shown in Figure 1. Shadowbase Streams seamlessly moves selected data in real-time from a source database to a target database where it can be used by a target application. As changes are made to the source database (change data capture), they are immediately replicated to the target database to keep it synchronized with the source database. (For this reason, “data integration” is often called “data synchronization.”) Data replication is transparent to both the source application and to the target application. Upon delivery, the target application can then make use of this real-time data.
Shadowbase Streams uses the transaction log of the source system to obtain database updates to replicate, as shown in Figure 2. In transaction-processing systems, a transaction manager writes every database update to a transaction log. It uses the transaction log to reconstruct the database if it becomes lost or corrupted. Examples of transaction logs are the TMF Audit Trail in HPE NonStop systems and the Redo log in Oracle databases. If a transaction log is unavailable, Shadowbase Streams can be driven by database triggers or by an application change log.
Therefore, Shadowbase Streams has real-time access to database updates as they occur. As soon as Shadowbase Streams detects a database update, it replicates that update to the target database. In the process, it makes any necessary format changes to the update in order to meet the needs of the target system. In addition, it can filter updates and can eliminate updates that are of no interest to the target system.
Shadowbase Streams supports many models for data distribution, including maintaining a remote database of critical data; sending critical data to client applications or directly to servers via queues, interprocess messages, TCP/IP sessions, or client APIs; publishing data to applications that have subscribed to the data; and responding to poll queries from client applications.
Shadowbase Streams is extensible. It allows the user to embed custom-processing logic into the data-processing path. It readily filters, transforms, and adapts data from one application or database environment into the protocol or format required by another application or database environment, all without requiring any changes to the existing source application or database.