9.3.1 Aggregation Agent Overview
The Aggregation consolidates related UDRs that originate from either a single source, or from several sources, into a single UDR. Related UDRs, are grouped into "sessions" according to the value of their respective fields, and a set of configurable conditions.
The first UDR to match a set of conditions triggers generation of a new session. Consecutive UDRs that match the same conditions can then be handled in the context of the same session.
The agent stores the session data in a file system, Couchbase, Redis or Elasticsearch. It is also possible to use the settings for file storage to keep the session data in-memory only.
When selecting which storage type you require, note that File Storage can be used in batch and real-time workflows; Couchbase and Redis can only be used in real-time workflows; Elasticsearch and SQL Storage can only be used in batch workflows.
To ensure the integrity of the session's data in the storage, the Aggregation agent may use read- and write locks. When you have selected file storage and an active agent has write access, no other agent can read or write to the same storage. It is possible to grant read-only access for multiple agents, provided that the storage is not locked by an agent with write access.
When you have selected Couchbase or Redis storage, multiple Aggregation agents can be configured to read and write to the same storage. In this case, write locks are only enforced for sessions that are currently updated and not the entire storage. For further information about how to configure read-only access, see 9.3.4 Aggregation Profile.
In a batch workflow, the aggregation agent receives collected and decoded UDRs one by one.
Aggregation in a batch workflow
In a real-time workflow, the aggregation agent may receive UDRs from several different agents simultaneously.
Aggregation in a real-time workflow
The aggregation flow chart below illustrates how an incoming UDR is treated when it is handled by the Aggregation agent. If the UDR leaves the workflow without having called any APL code, it is handed over to error handling. For detailed information about handling unmatched UDRs see the section General Tab in Agent Configuration - Batch, 9.3.5.1 Aggregation Agent Configuration - Batch, or Agent Configuration - Real-Time in 9.3.5.3 Aggregation Agent Configuration - Real-Time.
The aggregation flow chart
When several matching sessions are found, the first one is updated. If this occurs, redesign the workflow. There must always be zero or one matching session for each UDR.
High level steps for configuration of Aggregation
Follow the steps below to configure Aggregation:
Create a session UDR in Ultra format.
- Create a storage profile, i e Couchbase or Redis profile (not required for file storage).
Create an Aggregation profile.
Create a workflow containing an Aggregation agent.