This article explains the architecture of the Grassfish backend and features of the backend services.
Backend architecture
The following diagram illustrates the Grassfish backend architecture. It’s structured as follows:
The Azure Kubernetes Service (AKS) cluster runs several specialized services.
These services collectively handle the content management system (CMS) logic, data processing, and integrations.
Data resides in the Azure SQL Managed Instance.
Media files are stored in Azure File Storage.

Backend services
The Grassfish backend uses the following services:
Data Gateway
Data Gateway is a backend service. Its main tasks and features are:
Controls media imports and creates metadata in the database.
Performs cleanup tasks, such as deleting old files or database cleanup.
Sends system notifications (GNS).
Performs technical support functions, such as cyclic redundancy checks (CRC32) to ensure data integrity.
Technical information:
Standard service name | GV2 DG |
Service directory |
|
Log file |
|
Interfaces |
|
Data Calculator
Data Calculator is a backend service. Its main tasks and features are:
Calculates playlists and playback rules based on the CMS configuration.
Triggers content updates when bookings or layouts change.
Technical information:
Standard service name | GV2 DC |
Service directory |
|
Log file |
|
Interfaces |
|
Media Handler
Media Handler is a backend service. Its main tasks and features are:
Generates thumbnails and previews for the CMS.
Performs transcodings as needed and reads media metadata.
Technical information:
Standard service name | GV2 MediaHandler |
Service directory |
|
Log file |
|
Interfaces |
|
Reporting Gateway
Reporting Gateway is a backend service. Its main tasks and features are:
Runs periodic background jobs (reports, aggregations, exports).
Designed as a plugin system to add custom reports without modifying the core functionality.
Technical information:
Standard service name | GV2 RG |
Service directory |
|
Log file |
|
Interfaces |
|
UDC
Universal Data Controller (UDC) is a backend service. Its main tasks and features are:
Provides a generic data model for structured external data.
Performs periodic imports (REST, CSV/Excel, XML/JSON, Database) and writes normalized data to the CMS database.
Replicates data to the local player database so that spots and HTML content can use it locally.
Technical information:
Standard service name | GV2 UDC |
Service directory |
|
Log file |
|
Interfaces |
|