The Integration Framework uses a separate SQL repository to track integration information. This SQL repository is referred to as the persistent cache or the Integration Data repository. This repository exists to track when particular repository item properties have been fetched from the remote system. This lets the Integration Framework limit the frequency with which it needs to access the remote system.

The Integration Data repository has a Nucleus address of /atg/integrations/repository/IntegrationData. You should not need to do anything to configure or use the Integration Data repository. The repository uses a database table named if_integ_data that is created when you install ATG.

The Integration Data repository defines a single item descriptor, named integration-data. For each repository item in the local repository, there is a corresponding repository item in the Integration Data repository. The integration-data item descriptor defines five properties:

Property

Description

itemID

The repository ID of the repository item in the local repository that this information applies to.

itemDescriptor

The name of the item descriptor in the local repository that this information applies to.

repositoryName

The name of the local repository.

state

This property tracks whether the item in the local repository is up to date with the data in the remote system. The state can be one of OK, INVALID, or UNKNOWN. Unless the state is OK, then the Integration Repository tries to get the data from the remote system, rather than relying on the local repository.

lastRun

This property tracks the last time a getItem operation retrieved the item’s data from the remote system. If the current time minus the lastRun time exceeds the local-value-timeout value set in the Integration Repository, then this item is marked INVALID and the Integration Repository retrieves the item’s data from the remote system with a getItem operation.

The item descriptor definition in the Integration Repository definition file specifies a local-value-timeout attribute:

<item-descriptor name="my-item" local-value-timeout="1000"/>

The state of a repository item can be set to one of OK, INVALID, or UNKNOWN. The state can be changed if an Integration Repository command returns an error or times out. The Integration Repository checks the state and lastRun values on a get-item operation. If the state is INVALID, or the lastRun time for the given command is more than local-value-timeout milliseconds from the current time, then the item is reloaded from the remote system (using the get-itemCommand). If an item is transient, then a transient instance of the Integration Data repository item would be created.

An item descriptor in the Integration Repository can also define one or more read-only states. If the state of an item in the Integration Data repository is in a read-only state, then the values in the local repository can be used for read-only operations (query, get) but not for write operations (update, add, remove).

 
loading table of contents...