Aggregation Agent

This section describes the Aggregation profile and the Aggregation agent. The agent is a processing agent for batch and real-time workflow configurations. 

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 the 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 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 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, Aggregation Agent Configuration - Batch, or Agent Configuration - Real-Time in Aggregation Agent Configuration - Real-Time.

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:

  1. Create a session UDR in Ultra format.

  2. Create a storage profile, i.e. Couchbase or Redis profile (not required for file storage).

  3. Create an Aggregation profile.

  4. Create a workflow containing an Aggregation agent.

Prerequisites

The reader of this information should be familiar with:

  • Couchbase

  • Redis

  • SQL

The section contains the following subsections: