Skip to content

I/O Hooks

I/O hooks is a DBL language feature that allows developers to intercept the I/O operations that an application performs when interacting with its data and execute supplemental code either before or after an I/O operation takes place. This mechanism provides an excellent way to supplement the functionality of an existing application without needing to make any significant changes to the original code.

A primary use case for I/O hooks is to replicate an application's primary data to another location. I/O hooks allow the Integration Platform to track every operation that takes place and copy any resulting changes as they occur. Specifically, when a piece of data changes, I/O hooks are used to intercept that change and send a message detailing the change to a Kafka topic.

But the Kafka environment will be provided by remote network servers, so for resilience, in case Kafka is not accessible for any reason, the I/O hooks do not directly communicate with Kafka. Rather, messages are sent via a local process called the Message Broker.

For a reliable system, it is critical that the Message Broker always be running and available. In a worst-case scenario, if it is not available, the I/O hooks will record event messages locally so they can be played back later once the Message Broker becomes available.