Přeskočit obsah

Popis architektury

Modul reportingu v aplikaci PMC je založen na produktu Apache Superset. Jedná se o moderní BI (Business Intelligence) nástroj, který umožňuje propracovaný pohled na práci s daty. Nabízí řadu možností zobrazení datových množin, jejich agregaci, zobrazení do tabulek a grafů, jejich datový export a plánování událostí.

Přihlášení do aplikace Superset probíhá na základě dat z KeyCloak automaticky. Systém PMC a Superset si vymění informace o uživateli a přenese se nastavení pro datové restrikce (subjekt, přiřazená parkoviště...) a nastavení rolí reporingu.

Datová množina pro reportovaná data je získávána pomocí ETL (Extract-Transform-Load) nástroje. ETL nástroj je implementován pomocí tzv. datových pump. Datové pumpy jsou implementovány ve Java spring-boot frameworku. Nástroje jsou vytvořený nyní ve třech databázových mutacích, pro databázi PostgreSQL, Sybase a MySQL. Nástroj má v konfiguraci nastaveny seznam tabulek, které má přenášet do databáze BI, plus interval za jaký je kontrolováno, jestli se data změnila a rozdíl je exportován. Přenos dat probíhá pomocí zpráv posílaných přes ActiveMQ.

Datová množina se nyní skládá z dat exportovaných z parkoviště (databáze Sybase), z dat exportovaných PMC (databáze postgreSQL) a z dat exportovaných z aplikace KeyCloak (databáze postgreSQL). Následující obrázek uvádí jednotlivé vazby mezi pumpami.

---
title: Architektura systému
---
erDiagram
    "ActiveMQ" ||--|| "ETL MQ" : ""
    "ActiveMQ" ||--|{ "ETL PARKING" : ""
    "ActiveMQ" ||--|| "ETL PMC" : ""
    "ActiveMQ" ||--|| "ETL KEYCLOAK" : ""
    "ETL PARKING" ||--|| "PARKING" : ""
    "ETL PMC" ||--|| "PMC DATABASE" : ""
    "ETL KEYCLOAK" ||--|| "KEYCLOAK DATABASE" : ""
    "ETL MQ" ||--|| "BI DATABASE" : ""
    "BI DATABASE" ||--|| "SUPERSET" : ""