Aggregation, Consolidation and Correlation
The Aggregation Agent can correlate, consolidate and aggregate records of different data types within the same processing stream and node. It is available for both realtime and batch workflows. Processing is in-memory; transaction safety is optional and achieved by storing sessions in database or file. Several database technologies are available. Business logic is highly configurable and deployed in the Aggregation Profile and the Aggregation Agent. The Aggregation Profile defines the objects and their relation:
- Which UDR types to accept for correlation/consolidation/aggregation.
- Rules for matching.
- Data structure of the session.
The Aggregation Agent defines all rules for all stages of processing, using the Analysis Programming Language (APL).
- Rules for creation and update of (correlation/consolidation/aggregation) sessions.
- Rules for forwarding of sessions, both valid and invalid sessions.
- Rules for timed out sessions.
In the example below, a realtime workflow collecting different types of data from three sources is illustrated. The incoming records are matched on specific fields.
Workflow with Aggregation agent
Sessions can be viewed and deleted manually using the Aggregation Session Inspection GUI.
Flush functionality
In some maintenance situations – like system upgrades or changes to business logic – it is desirable to flush existing aggregation/consolidation/correlation sessions before applying changes. For this purpose, specific “flush” code can be invoked:
- For batch workflows, the APL function (aggregationHintFlushSessions) executes the business logic in the timeout block for all sessions that have a timeout value.
- For realtime workflows, execute an agent command via the workflow monitor or the command line interface.