Architektonické principy a systémové mechanismy

Hlavní stránka / Podpora / Příručky / Příručka administrátora /

Architektonické principy a systémové mechanismy

1. Filosofie návrhu frameworku

NET Genium není jen low-code nástroj, ale aplikační operační systém, který:

  • sjednocuje práci s daty, uživateli, oprávněními a historií,
  • zajišťuje transakční bezpečnost bez nutnosti psát aplikační kód,
  • odděluje konfiguraci chování aplikace od programového kódu.

Zásadním principem je:

Správce definuje strukturu a chování aplikace, runtime zajišťuje technickou realizaci.

2. Automaticky spravované databázové vrstvy

2.1 Databázová abstrakce formuláře

Každý editační formulář:

  • reprezentuje jednu databázovou tabulku,
  • vlastní životní cyklus záznamu (create / update / delete),
  • automaticky generovanou historii.

Správce:

  • nikdy neupravuje databázovou strukturu ručně,
  • pracuje výhradně na úrovni formuláře a ovládacích prvků.

Tím je zajištěna:

  • konzistence databáze,
  • zpětná kompatibilita při upgradech,
  • možnost automatických migrací.

2.2 Systémové sloupce jako nositelé aplikační logiky

Sloupce id, userid, pid, pform, system nejsou technickým detailem, ale základem aplikační logiky:

  • userid – vlastnictví a editovatelnost
  • pid + pform – stromové a hierarchické vazby
  • system – ochrana kritických záznamů

Díky tomu lze:

  • řídit oprávnění bez explicitních ACL tabulek,
  • vytvářet hierarchie bez joinových tabulek,
  • aplikovat jednotná pravidla napříč celým systémem.

3. Vlastnictví a spoluvlastnictví jako bezpečnostní model

NET Genium používá datově orientovaný bezpečnostní model, nikoliv roli-based model známý z klasických aplikací.

3.1 Záznam jako primární bezpečnostní jednotka

Práva nejsou definována jen:

  • „k formuláři“ nebo
  • „k tabulce“,

ale ke konkrétnímu databázovému záznamu.

To umožňuje:

  • sdílené pracovní záznamy,
  • individuální odpovědnost,
  • auditní stopu bez další konfigurace.

3.2 Spoluvlastnictví jako nástroj týmové práce

Spoluvlastnictví:

  • není atributem záznamu,
  • je vlastností formuláře.

Tím je zajištěno, že:

  • bezpečnostní pravidla jsou konzistentní,
  • nedochází k fragmentaci oprávnění,
  • změna politiky se projeví okamžitě.

4. Skript jako deterministický procesní jazyk

4.1 Skript není programovací jazyk

Skript:

  • neobsahuje bloky,
  • neobsahuje lokální scope,
  • neobsahuje výjimky v programátorském smyslu.

Je to:

deterministický procesní zápis nad daty a událostmi.

4.2 Skript jako transakční orchestr

Každý skript:

  • běží v kontextu jedné databázové transakce,
  • buď proběhne celý, nebo se neprovede nic,
  • nemůže „napůl uložit“ data.

Tím je zajištěno:

  • konzistentní stav databáze,
  • předvídatelné chování,
  • bezpečné zpracování i složitých procesů.

5. Oddělení runtime odpovědnosti

NET Genium striktně odděluje:

  • co se má stát (konfigurace, skript, dotaz),
  • jak se to provede (runtime, engine, C#).

Důsledky:

  • správce řeší logiku, ne implementaci,
  • vývoj externích funkcí řeší výkon a výjimky, ne aplikační kontext,
  • aktualizace frameworku nevyžaduje změny aplikací.

6. Koncepce synchronizace a distribuovaných instalací

Synchronizace není replikace databáze, ale:

přenos změnových operací.

Díky tomu:

  • lze provozovat více aktivních instancí (multiple master),
  • nedochází ke konfliktům na úrovni databázových engine,
  • lze oddělit provozní, mobilní a archivní prostředí.

7. Konfigurační soubory jako systémové přepínače

Konfigurační soubory:

  • nejsou nastavením aplikace,
  • ale řízení chování runtime prostředí.

Jejich existence má binární význam:

  • bezpečnostní režimy,
  • provozní omezení,
  • diagnostické chování.

Tento přístup umožňuje:

  • změnu chování bez restartu databáze,
  • jasnou auditovatelnost,
  • oddělení provozu od konfigurace aplikací.

8. Pro koho je tato příručka určena

Tento dokument je určen pro:

  • systémové architekty NET Genium,
  • administrátory navrhující rozsáhlé aplikace,
  • vývojáře externích funkcí,
  • technickou podporu a onboarding nových partnerů.

Není určen pro:

  • běžné administrátory,
  • koncové uživatele,
  • marketingové účely.

Závěrečné shrnutí

NET Genium je navrženo jako stabilní, deterministický a auditovatelný aplikační framework, kde:

  • data jsou primární,
  • procesy jsou konfigurovatelné,
  • runtime zajišťuje bezpečnost a konzistenci.

Tato příručka slouží jako most mezi dokumentací „jak se to používá“ a znalostí „jak to funguje“.