Aggregation Agent Overview
The Aggregation agent allows you to consolidate related UDRs that originate from one or several sources into a single UDR. You can group related UDRs 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 the generation of a new session. Consecutive UDRs that match the same conditions can then be handled in the same session.
Aggregation File Storage
The agent can store session data in multiple ways; on a file system, in a Couchbase database, in a Redis database, in Elasticsearch, or in an SQL database. You can also select to keep the session data in memory only.
When selecting storage type, note that:
In-Memory can be used in batch and real-time workflows
File Storage can be used in batch and real-time workflows
Couchbase can only be used in real-time workflows
Redis can only be used in real-time workflows
Elasticsearch can only be used in batch workflows
SQL can be used in batch and real-time 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, Elastic search storage, or SQL 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 Aggregation Profile.
Aggregation Agents in Workflows
In a batch workflow, the aggregation agent receives collected and decoded UDRs one by one.
In a real-time workflow, the aggregation agent may receive UDRs from several different agents simultaneously.
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 Aggregation Agent Configuration - Batch | General Tab, or Aggregation Agent Configuration - Real-Time | General.
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, for example, a Couchbase, Redis, Elasticsearch, Kafka or SQL profile (not required for file storage or memory only).
Create an Aggregation profile.
Create a workflow containing an Aggregation agent.