IBM Tivoli Directory Integrator includes a Sandbox feature that enables you to record the operation of one or more Connectors in an AssemblyLine for later replay without the necessary data sources being available.
The Sandbox feature uses the System Store. See System Store for more information.
Recording a component means that the AssemblyLine will intercept every call to the connector instance used by the component. Recording a connector component for example, will record all calls to its connector instance methods like selectEntries, getNextEntry and so forth. The result of each of those calls is recorded in the configured sandbox database. The information recorded is the return value or the exception thrown by the connector.
To run a test session, create an AssemblyLine and add a file system connector reading data from a file. Add a script component that dumps the work entry. Then check the file system connector in this panel and select Run/Record on the Run button menu. After we have done that we can move the file it just read, and run the AssemblyLine in Playback mode. You should see the same log output even though the file connector would normally abort since the file is no longer accessible.
This feature can be very useful when providing support materials. Often, the time to reproduce the environment for an AssemblyLine and the state of data sources to reproduce a condition can be quite comprehensive. With a sandbox database with a recorded session, a support person can run the AssemblyLine without having access to all data stores the AssemblyLine requires. In addition, the AssemblyLine configuration can be modified to print out more information if that is necessary. The only change that cannot be done to the AssemblyLine configuration is to make additional calls or reorder the calls to recorded components. This would cause an error during playback as calls to the connector would not match the next expected call to the connector.
Before we can record or replay an AssemblyLine, first tell Tivoli Directory Integrator where to store the AssemblyLine recording data. This is done in the Sandbox window, which we can open by selecting AssemblyLine Settings... > Sandbox Settings in the AssemblyLine Editor. At the top of this window is a field labeled Database where we can enter the directory path for the system to use.
The Sandbox facility is not supported in AssemblyLines containing a Connector in Server mode, or an Iterator Connector with Delta enabled. The server will abort the running of the AssemblyLine if this is discovered.
Parent topic: Debugging features in TDI