Hands-On Backend
Technical design of the pre-built environment used in the App Builder Workshop. The backend exists before the workshop starts; participants only build on top of it.
The design is problem-driven: every data point in the backend exists because at least one of the 15 workshop problems needs it to reach its answer. See Problem Data Design and the Data Availability Matrix.
Note
Element names, parameters, thresholds, and scenario values on this page are a proposed design and still need to be confirmed.
Design Principles
| # | Principle | Consequence |
|---|---|---|
| 1 | Service metadata is static | Stored once as service properties in DataMiner. No calculated or AI-generated metadata fields. |
| 2 | All other data comes from DataMiner services and elements | Status, alarms, telemetry, trends, and schedules are live data visible in DataMiner Cube. No separate database, DOM model, or ticketing system. |
| 3 | AI is not part of the backend | Summaries, recommended actions, and copilot answers are created by agents in the Specialized Agents Workshop at runtime. Nothing AI-generated is stored. |
| 4 | Every problem must be answerable | Each problem has the data it needs and a seeded scenario that produces a clear answer. |
flowchart LR
subgraph Backend["Backend (this page)"]
SM[Static service metadata<br/>service & element properties]
OD[Operational data<br/>elements, services, alarms, trends]
end
subgraph Workshop["App Builder Workshop"]
APP[Participant app]
end
subgraph Agents["Specialized Agents Workshop"]
AI[Agents: summaries,<br/>recommendations, copilot]
end
SM --> APP
OD --> APP
SM --> AI
OD --> AI
AI -. not stored .-> X((runtime only))
Environment Model
flowchart TD
V[View per vertical] --> S1[Service]
V --> S2[Service]
V --> S3[Service]
S1 --> E1[Element]
S1 --> E2[Element]
S1 --> E3[Element]
S1 -.-> P[Service properties<br/>static metadata]
E1 -.-> EP[Element property: Site]
E1 -.-> D[Parameters · Alarms · Trends]
| Level | Count | DataMiner object | Contains |
|---|---|---|---|
| Vertical | 5 | View Empower/<Vertical> |
3 services |
| Service | 15 | DataMiner service | 3 elements, static metadata as service properties |
| Element | 45 | DataMiner element | Parameters, alarms, trend data, Site property |
Static Service Metadata
Stored as service properties in DataMiner Cube. Identical fields for every service in every vertical.
| Field | Type | Example | Used by problems about |
|---|---|---|---|
| Customer | Text | Consumer Mobile |
Customer impact |
| Region | Text | Brussels |
Regional views |
| Criticality | Enum: Low · Medium · High · Critical | Critical |
Prioritization |
| Customers Served | Integer | 850000 |
Customer impact, executive views |
| Service Owner | Text | An Peeters |
Incident workspaces |
| Operations Team | Text | Mobile Core NOC |
Incident workspaces |
| Escalation Threshold (min) | Integer | 15 |
Escalation |
Each element additionally has one static property:
| Field | Type | Example | Used by problems about |
|---|---|---|---|
| Site | Text | Brussels DC1 |
Locations and regions |
Where the Original Core Fields Went
| Original field | Now | Source |
|---|---|---|
| Service Name | Name of the DataMiner service | Service |
| Customer, Region, Criticality, Service Owner, Operations Team | Static service property | Service property |
| Status | Service alarm state (Normal · Warning · Minor · Major · Critical) | Service – live |
| Active Alarms | Active alarms on the service's elements | Alarms – live |
| Last Incident | Most recent cleared alarm on the service | Alarm history |
| Health Score, Risk Score | Not stored. Participants define their own logic in the app (e.g. criticality × alarm severity) – this is part of the exercise | App |
| Open Tickets | Not in the backend – see Open Decisions | – |
| Recommended Action, AI Summary | Not in the backend – created by agents in the Specialized Agents Workshop | Agents (runtime) |
Operational Data
All operational data is native DataMiner data, visible in Cube and queryable from App Builder.
| Data | Description | Access in App Builder (verify) |
|---|---|---|
| Service properties | Static metadata above | GQI – services (property columns) |
| Element properties | Site |
GQI – elements (property columns) |
| Service state | Worst alarm severity of the service | GQI – services |
| Parameter values | Live telemetry per element | GQI – parameters / parameter tables |
| Trend data | History of trended parameters (≥ 24 h) | Trend (line chart) component |
| Active alarms | Severity, element, parameter, value, root time (age) | GQI – alarms |
| Alarm history | Cleared alarms | GQI – alarms (history) |
| Schedules | Upcoming events/activities as element parameters | GQI – parameter tables |
Important
Where a problem needs a threshold (e.g. "may become problematic soon"), the element also exposes that threshold as a parameter (e.g. Utilization Threshold (%)), so the app can compare value and limit without reading alarm templates.
Problem Data Design
For each vertical: the static metadata, the elements with their parameters, and per problem the data it needs and the seeded answer the scenario produces.
Alarm thresholds are noted as Minor / Major / Critical unless stated otherwise. T0 is the moment the incident scenario starts, 30 minutes before the session (see Scenario Engine).
Telco
Services
| Service | Customer | Region | Criticality | Customers Served | Escalation (min) | Operations Team | Owner |
|---|---|---|---|---|---|---|---|
| Brussels 5G Core | Consumer Mobile | Brussels | Critical | 850,000 | 15 | Mobile Core NOC | An Peeters |
| Enterprise MPLS Network | Enterprise Business Unit | Flanders | High | 120 | 30 | IP NOC | Tom Maes |
| National Fiber Backbone | Wholesale Partners | National | Critical | 35 | 15 | Transport NOC | Sara Claes |
Elements
| Service | Element | Site | Key parameters (thresholds) |
|---|---|---|---|
| Brussels 5G Core | AMF | Brussels DC1 | Registered Subscribers · Registration Success Rate % (< 98 / < 95 / –) · CPU % (> 80 / > 90 / –) |
| SMF | Brussels DC1 | Active PDU Sessions · Session Setup Success % (< 98 / < 95 / –) | |
| UPF | Brussels DC2 | Throughput Gbps · Packet Loss % (> 0.5 / > 1 / > 3) · Utilization % | |
| Enterprise MPLS Network | PE Router Brussels | Brussels POP | Uplink Utilization % (> 80 / > 90 / –) · Utilization Threshold % · Latency ms · BGP Sessions Down (– / > 0 / –) |
| PE Router Antwerp | Antwerp POP | Same as PE Router Brussels | |
| Route Reflector | Mechelen DC | CPU % · BGP Sessions Down (– / > 0 / –) | |
| National Fiber Backbone | DWDM Node North | Ghent | Optical Rx Power dBm (– / < -20 / < -24) · Pre-FEC BER · Channel Utilization % |
| DWDM Node South | Namur | Same as DWDM Node North | |
| OTN Switch | Brussels | Port Utilization % · Alarms on Line Cards |
Problems
| Problem | Key question | Data needed | Seeded answer |
|---|---|---|---|
| Priority Dashboard | Which services require immediate attention? | Criticality · service state · active alarms | National Fiber Backbone – DWDM Node North Rx Power -25 dBm (Critical) on a Critical service. Second: Brussels 5G Core (Major). |
| Customer Impact View | Which services affect the most customers? | Customers Served · service state · active alarms | Brussels 5G Core – UPF Packet Loss 1.8 % (Major) affecting 850,000 customers. The backbone is more severe but serves only 35 partners. |
| Capacity Risk Workspace | Which services may become problematic soon? | Utilization parameters · thresholds · 24 h trend | Enterprise MPLS Network – PE Router Antwerp uplink rising 60 → 86 % in 24 h (Minor), trending to cross 90 % (Major). |
Satellite & Space
Services
| Service | Customer | Region | Criticality | Customers Served | Escalation (min) | Operations Team | Owner |
|---|---|---|---|---|---|---|---|
| Maritime VSAT Service | Maritime Fleet Operators | Global Maritime | High | 1,400 | 30 | Teleport NOC | Pieter Wouters |
| GEO Broadcast Platform | DTH Broadcasters | Europe | Critical | 18 | 15 | Broadcast Operations | Lisa Jacobs |
| Earth Observation Mission | Space Agency Programme | Northern Europe | High | 4 | 30 | Mission Operations | Bram Willems |
Elements
| Service | Element | Site | Key parameters (thresholds) |
|---|---|---|---|
| Maritime VSAT Service | VSAT Hub | Teleport Redu | Active Terminals · Hub Throughput Mbps · Next Activity · Next Activity Start |
| Satellite Modem Pool | Teleport Redu | Avg Es/No dB (< 6 / < 4 / –) · Locked Modems % | |
| Maritime Terminal Gateway | Teleport Betzdorf | Connected Vessels · Latency ms | |
| GEO Broadcast Platform | Uplink Encoder | Uplink Betzdorf | Output Bitrate Mbps · Next Activity · Next Activity Start |
| Satellite Modulator | Uplink Betzdorf | MER dB (< 25 / < 20 / –) · Output Power dBm | |
| High Power Amplifier | Uplink Betzdorf | Temperature °C (> 70 / > 75 / > 80) · Temperature Limit °C · Output Power W · Reflected Power W | |
| Earth Observation Mission | Ground Station Antenna | Kiruna | Tracking Error ° (> 0.1 / > 0.2 / –) · Next Activity · Next Activity Start |
| TT&C Unit | Kiruna | Command Link Status · Telemetry Frame Rate | |
| Downlink Processor | Kiruna | Data Rate Mbps · Storage Utilization % |
Problems
| Problem | Key question | Data needed | Seeded answer |
|---|---|---|---|
| Mission Readiness Dashboard | Which missions require attention? | Next Activity / Start · service state · active alarms | Earth Observation Mission – antenna Tracking Error 0.25° (Major) with the next pass in ~45 min. |
| Ground Segment Workspace | Which resources are at risk? | Element parameters · limits · 24 h trend · alarms | High Power Amplifier (GEO Broadcast) – temperature rising 58 → 72 °C in 24 h (Minor), approaching the 75 °C Major limit. |
| Customer Service Assurance View | Which services affect customers? | Customers Served · service state · Active Terminals | Maritime VSAT Service – Es/No 3.5 dB (Major, rain fade), Active Terminals dropped 1,400 → 1,170. |
Media
Services
| Service | Customer | Region | Criticality | Customers Served | Escalation (min) | Operations Team | Owner |
|---|---|---|---|---|---|---|---|
| Live Sports Distribution | Sports Rights Holder | Europe | Critical | 12 | 15 | Live Operations Center | Nina Dubois |
| OTT Streaming Platform | Streaming Subscribers | Benelux | High | 1,100,000 | 30 | Streaming NOC | Kevin Mertens |
| National Broadcast Network | Public Broadcaster | National | Critical | 4,500,000 | 15 | Broadcast NOC | Els Hermans |
Elements
| Service | Element | Site | Key parameters (thresholds) |
|---|---|---|---|
| Live Sports Distribution | Contribution Encoder | Stadium OB Truck | Video Bitrate Mbps · Encoder Errors/min (> 5 / > 20 / –) · Event Schedule table |
| IP Gateway | Brussels MCR | Packet Loss % (> 0.1 / > 0.5 / > 2) · Jitter ms | |
| IRD | Brussels MCR | Signal Lock (Unlocked = Critical) · C/N dB | |
| OTT Streaming Platform | Transcoder | Cloud Region West | CPU % · Failed Profiles |
| Origin Packager | Cloud Region West | Request Rate · HTTP 5xx % (> 1 / > 5 / –) · Event Schedule table | |
| CDN Edge | Amsterdam PoP | Latency ms (> 150 / > 300 / > 500) · Cache Hit Ratio % · Egress Gbps | |
| National Broadcast Network | Playout Server | Brussels Broadcast Center | Playout Status · Event Schedule table |
| Multiplexer | Brussels Broadcast Center | Total Bitrate Mbps · Services On Air | |
| DVB-T Transmitter | Transmitter Site Wavre | Forward Power kW · Reflected Power W (Warning > 200) · MER dB |
Event Schedule table columns: Event Name · Start Time · End Time · Channel.
Problems
| Problem | Key question | Data needed | Seeded answer |
|---|---|---|---|
| Event Operations Center | Which live events are at risk? | Event Schedule · service state · active alarms | "Champions League: Club A – Club B" on Live Sports Distribution – starts in ~45 min while the encoder reports 28 errors/min (Major). |
| Executive Service Overview | What is the overall operational situation? | Service state · Criticality · Customers Served · alarm counts | 1 Critical, 1 Major, 1 Warning; ~1.1 M streaming subscribers affected (OTT). |
| Incident Workspace | Which issue should operators investigate first? | Active alarms (severity, age) · Customers Served · alarm history | OTT CDN Edge latency 620 ms – Critical, oldest open alarm, largest affected customer base. |
Infrastructure
Services
| Service | Customer | Region | Criticality | Customers Served | Escalation (min) | Operations Team | Owner |
|---|---|---|---|---|---|---|---|
| Airport Operations Network | Airport Authority | Brussels | Critical | 65,000 | 15 | Airport IT Operations | Wim Goossens |
| Smart Campus Platform | University Campus | Leuven | Medium | 25,000 | 60 | Facilities Operations | Julie Vermeulen |
| Renewable Energy Monitoring | Energy Cooperative | Wallonia | High | 40,000 | 30 | Energy Control Room | Marc Lambert |
Elements
| Service | Element | Site | Key parameters (thresholds) |
|---|---|---|---|
| Airport Operations Network | Core Switch | Terminal A | Port Utilization % · CPU % |
| Wi-Fi Controller | Terminal B | Connected Clients · Access Points Down (> 2 / > 5 / –) | |
| Baggage Handling Gateway | Baggage Hall | PLC Connection (Lost = Critical) · Bags/hour | |
| Smart Campus Platform | Building Management System | Building North | HVAC Status · Room Temperature °C |
| Access Control Server | Building South | Doors Offline (> 0 / > 3 / –) | |
| IoT Gateway | Parking Area | Sensors Online % (Warning < 90) | |
| Renewable Energy Monitoring | Solar Inverter Park | Solar Park Namur | Power Output MW · Installed Capacity MW · Inverters Offline (> 0 / > 2 / –) |
| Wind Turbine Controller | Offshore Wind Farm | Power Output MW · Installed Capacity MW · Wind Speed m/s | |
| Battery Storage System | Battery Site Liège | State of Charge % · Cell Temperature °C (> 40 / > 45 / > 50) · Cell Temperature Limit °C |
Problems
| Problem | Key question | Data needed | Seeded answer |
|---|---|---|---|
| Operations Control Center | What requires action now? | Criticality · service state · active alarms | Baggage Handling Gateway (Airport) – PLC connection lost (Critical) on a Critical service. |
| Critical Asset Dashboard | Which assets represent the highest risk? | Element parameters · limits · 24 h trend · alarms · Criticality | Battery Storage System – cell temperature rising 32 → 43 °C in 24 h (Minor), fastest-deteriorating asset heading towards Critical. |
| Regional Operations View | How are locations performing? | Site · Region · alarms · output vs capacity | Solar Park Namur is underperforming – 3 inverters offline (Major), 4.1 of 12 MW. |
Tip
The Baggage Handling Gateway (already failed) versus the Battery Storage System (about to fail) is a good discussion point: incident versus risk.
Government & Public Safety
Services
| Service | Customer | Region | Criticality | Customers Served | Escalation (min) | Operations Team | Owner |
|---|---|---|---|---|---|---|---|
| Emergency Dispatch Network | Regional Emergency Services | Flanders | Critical | 6,700,000 | 15 | Dispatch IT Operations | Koen Desmet |
| Border Monitoring Network | Border Agency | Eastern Border | High | 1 | 30 | Border Operations Center | Ines Martens |
| Critical Infrastructure Monitoring | Water & Power Utilities | Wallonia | Critical | 900,000 | 15 | Utility Control Center | Luc Renard |
Elements
| Service | Element | Site | Key parameters (thresholds) |
|---|---|---|---|
| Emergency Dispatch Network | CAD Server | Dispatch Center Ghent | Active Incidents · Response Time ms |
| Radio Gateway | Radio Site Antwerp | Channels Available of 16 (< 12 / < 8 / –) · Link Status | |
| Call Handling System | Dispatch Center Ghent | Calls Waiting · Avg Answer Time s | |
| Border Monitoring Network | Surveillance Camera Array | Checkpoint South | Cameras Online of 24 (< 22 / < 20 / –) |
| Radar Sensor | Checkpoint South | Radar Status (Offline = Critical) · Detection Range km | |
| Edge Video Analytics | Checkpoint North | GPU Utilization % · Streams Processed | |
| Critical Infrastructure Monitoring | SCADA Gateway | Substation Charleroi | RTU Connections of 40 (< 38 / < 35 / < 32) |
| Water Treatment PLC | Water Plant Liège | Communication Errors/h (> 10 / > 50 / –) · Chlorine mg/l | |
| Substation RTU | Substation Charleroi | Voltage kV · Breaker Status |
Problems
| Problem | Key question | Data needed | Seeded answer |
|---|---|---|---|
| Incident Coordination Workspace | What requires escalation? | Escalation Threshold · alarm age (root time) · Criticality | Radio Gateway (Emergency Dispatch) – 7 of 16 channels (Major), open 30 min > 15 min threshold. Other alarms cross their threshold during the session. |
| Command Center Dashboard | Where should operators focus? | Criticality · Customers Served · service state | Critical Infrastructure Monitoring – SCADA Gateway lost 9 RTUs (Critical) on a Critical service serving 900,000 customers. |
| Risk Prioritization View | Which locations require immediate attention? | Site · active alarms per site | Checkpoint South – radar offline (Critical) and 19 of 24 cameras (Major) at the same site. |
Data Availability Matrix
Check that every problem has the data it needs. SP = service property · EP = element property (Site) · SS = service state · AA = active alarms (incl. age) · AH = alarm history · PV = parameter values · TR = trend data · SC = schedule parameters.
| Vertical | Problem | SP | EP | SS | AA | AH | PV | TR | SC |
|---|---|---|---|---|---|---|---|---|---|
| Telco | Priority Dashboard | ✔ | ✔ | ✔ | |||||
| Telco | Customer Impact View | ✔ | ✔ | ✔ | |||||
| Telco | Capacity Risk Workspace | ✔ | ✔ | ✔ | ✔ | ||||
| Satellite | Mission Readiness Dashboard | ✔ | ✔ | ✔ | ✔ | ||||
| Satellite | Ground Segment Workspace | ✔ | ✔ | ✔ | ✔ | ||||
| Satellite | Customer Service Assurance View | ✔ | ✔ | ✔ | ✔ | ||||
| Media | Event Operations Center | ✔ | ✔ | ✔ | |||||
| Media | Executive Service Overview | ✔ | ✔ | ✔ | |||||
| Media | Incident Workspace | ✔ | ✔ | ✔ | ✔ | ||||
| Infrastructure | Operations Control Center | ✔ | ✔ | ✔ | |||||
| Infrastructure | Critical Asset Dashboard | ✔ | ✔ | ✔ | ✔ | ✔ | |||
| Infrastructure | Regional Operations View | ✔ | ✔ | ✔ | ✔ | ||||
| Government | Incident Coordination Workspace | ✔ | ✔ | ||||||
| Government | Command Center Dashboard | ✔ | ✔ | ✔ | |||||
| Government | Risk Prioritization View | ✔ | ✔ |
Implementation
DataMiner Objects
| Component | DataMiner mechanism | Notes |
|---|---|---|
| Elements (45) | DataAPI elements – one type per element kind, one identifier per element |
No connector development needed; parameters are created from JSON names |
| Alarms | Alarm templates on the DataAPI-generated protocols | Thresholds as listed per vertical; alarms are raised natively by DataMiner |
| Trend data | Trend templates on the same protocols | Only for parameters used by trend-based problems |
| Services (15) | DataMiner services, each containing its 3 elements | Static metadata as service properties |
| Site | Element property | Set once at creation |
| Views (5) | Empower/<Vertical> |
One view per vertical |
| Scenario engine | Automation scripts + Scheduler | See below |
Scenario Engine
The scenario engine makes the data live and makes sure every problem has its seeded answer at session time.
| Script | Trigger | Responsibility |
|---|---|---|
Empower_Baseline |
Scheduler, every 60 s, always running | Pushes normal values with small noise for all 45 elements; applies the 24 h trend drifts; keeps schedules rolling (next events/activities stay in the near future) |
Empower_StartScenario |
Manually, 30 min before the session (T0) | Starts the incident timeline: pushes the incident values that raise the seeded alarms |
Empower_Reset |
Manually, between sessions | Returns all elements to baseline and clears incidents; optional full reset restarts the trend drifts |
Incident timeline (relative to T0):
| Time | Event | Why |
|---|---|---|
| T0 − 24 h | Trend drifts start (full reset) | Trend-based problems need 24 h of history |
| T0 − 12 h | One short, self-clearing alarm per service | Gives every service a last incident in the alarm history |
| T0 | All seeded incidents except those below | Alarms are ~30 min old at session start |
| T0 + 25 min | SCADA Gateway (Critical Infrastructure) and Border alarms | These cross their escalation threshold during the session, so the escalation view changes live |
| T0 + 30 min | Session starts |
Important
- The environment must run at least 24 hours before the first session so trend-based problems have history.
- Schedule times (events, passes) are pushed as local wall-clock values without a UTC offset (
yyyy-MM-dd HH:mm:ss), because DataAPI re-renders offset values in the server's time zone. - A scenario control element (
EMP-CONTROL, not part of any service) stores the T0 and trend start timestamps so all scripts share the same timeline.
Naming Convention
| Object | Pattern | Example |
|---|---|---|
| View | Empower/<Vertical> |
Empower/Telco |
| Service | <Service Name> |
Brussels 5G Core |
| Element | <VERTICAL>-<SERVICE>-<ELEMENT> |
TEL-BRU5G-UPF |
| DataAPI type | Empower <Element kind> |
Empower UPF |
Out of Scope for the Backend
| Item | Where it lives instead |
|---|---|
| AI summaries, recommended actions, copilot answers | Agents in the Specialized Agents Workshop (runtime only) |
| Health Score / Risk Score | Participant's app logic |
| Tickets | Not included – see Open Decisions |
| DOM models, external databases | Not needed – all data is in services and elements |
Open Decisions
| # | Topic | Options |
|---|---|---|
| 1 | Tickets were in the original design but are not service or element data | (a) Drop tickets – alarms and alarm history cover the problems (current design) · (b) Add a ticket table as a parameter table on a separate element |
| 2 | Service/element properties in GQI | Verify on the target DataMiner version. Fallback: a Service Catalog element with one table row per service holding the static metadata |
| 3 | DataAPI | Verify the feature is available on the target system and that alarm and trend templates can be assigned to the generated protocols. Alternative: simulated connectors |
| 4 | Multi-day trainings | Trend drifts plateau after 24 h. Either run a full reset ≥ 24 h before each training day or make the drift window configurable |
Readiness Checklist
- [ ] 5 views, 15 services, 45 elements exist and follow the naming convention
- [ ] All static service properties and element
Siteproperties are filled in - [ ] Alarm and trend templates are assigned and match the thresholds on this page
- [ ]
Empower_Baselinehas been running for ≥ 24 h - [ ] Every service has at least one cleared alarm in its history
- [ ]
Empower_StartScenariowas triggered 30 min before the session - [ ] Schedules show upcoming events/activities in the near future
- [ ] All data sources in Operational Data are reachable from App Builder
- [ ] For each of the 15 problems, the seeded answer is visible in the data
- [ ]
Empower_Resetrestores the baseline between sessions