Definition-driven postup Flexideo

Upravit obsah stránky

1. Základní princip

Flexideo je platforma, jejíž aplikace nejsou primárně stavěny ručním programováním jednotlivých obrazovek, tabulek, formulářů a procesů, ale postupným skládáním a generováním systému z definic. Základním principem je, že jednotlivé vrstvy aplikace mají své vlastní definiční zdroje. Tyto zdroje na sebe navazují, doplňují se a postupně vytvářejí výslednou podobu informačního systému. Nejnižší a nejdůležitější vrstvou je XDS definice. Z ní se odvozují FDT, tedy Flexideo Dokumentové Typy, a z nich dále vznikají databázové mapy DAD. Nad tímto základem se následně staví další aplikační vrstvy v intranetu, tedy přehledy, akce, procesy, složky a další uživatelské nástroje. Tyto vrstvy mají vlastní intranetové XML definice a jsou organizačně skládány pomocí položek x-item. Výsledné provozní a uživatelské chování aplikace je dále převáděno do COMEX definic, které tvoří stabilní a popsaný základ pro fungování uživatelského rozhraní, formulářů, komponent, tabulek, filtrů, akcí a stránek. Celý postup lze zjednodušeně popsat takto:
 XDS
› FDT
› DAD
› replikace
› formuláře a konfigurační nástroje
› intranetové definice
› x-item strom aplikace
› COMEX definice komponent
› COMEX definice stránek
› výsledná aplikace

2. XDS jako elementární definiční základ

Naprosto elementární definicí platformy Flexideo je XDS. XDS je základní definiční vrstva, ze které se tvoří databázové mapy DAD a pomocí které se určují a definují takzvané FDT, tedy Flexideo Dokumentové Typy. Právě FDT tvoří základ každé platformní aplikace. Jde o základní třídy dokumentových typů, od kterých se odvíjejí další typy, další struktury a další vrstvy platformy Flexideo. FDT jsou proto naprostým jádrem systému. Určují zejména:
 - datovou strukturu dokumentového typu,
- vazby na databázovou reprezentaci,
- přístupy,
- role,
- chování zadávacích formulářů,
- dostupné nástroje pro další vrstvy,
- základ pro komponenty intranetu,
- základ pro přehledy,
- základ pro akce,
- základ pro procesy.
XDS tedy není pouze technická definice struktury. Je to výchozí popis dokumentového typu, který určuje, jak se daný typ dokumentu chová v celé platformě.

3. FDT jako základní třídy platformní aplikace

FDT – Flexideo Dokumentový Typ je základní aplikační objekt platformy Flexideo. Každá aplikace postavená na platformě Flexideo je tvořena nad sadou FDT. Tyto dokumentové typy představují elementární třídy systému. Nad nimi se následně staví formuláře, přehledy, akce, procesy, oprávnění, uživatelské nástroje a další aplikační logika. FDT vzniká z XDS definice a je základním nositelem struktury, chování a pravidel. FDT určuje zejména:
 - jaká data se v dokumentu evidují,
- jak jsou data členěna,
- jaké segmenty a položky dokument obsahuje,
- jak se dokument edituje,
- jaké role k němu mají přístup,
- jaké formuláře a nástroje jsou z něj odvozeny,
- jaké další komponenty nad ním mohou vznikat.
Z pohledu architektury Flexideo je tedy FDT základní dokumentová třída, nad kterou stojí všechny další vrstvy systému.

4. DAD jako databázová mapa odvozená z XDS

Z XDS se tvoří databázové mapy označované jako DAD. DAD představuje databázový obraz definic. Zajišťuje, aby datová struktura popsaná v XDS měla odpovídající databázovou reprezentaci. Vztah mezi XDS, FDT a DAD lze popsat takto:
 XDS definuje dokumentový typ.
Dokumentový typ je FDT.
Z FDT / XDS se odvozuje databázová mapa DAD.
DAD slouží jako podklad pro databázovou vrstvu systému.
DAD tedy není samostatný výchozí návrhový artefakt. Je výsledkem definice. Vzniká z XDS a navazuje na FDT.

5. Replikátor jako jádro platformy

Tvorba XDS, DAD a dalších základních nástrojů se odehrává v jádru celé platformy. Tímto jádrem je replikátor. Replikátor zajišťuje převod definic do konkrétní provozní podoby aplikace. Obsahuje jednak nástroje pro tvorbu a rozvoj definic, jednak replikační vrstvu, která z definic vytváří databázové mapy, formuláře, konfigurační nástroje a instalovatelnou verzi systému. Replikátor obsahuje zejména:
 - XDS Designer,
- replikační vrstvu,
- kontrolu a kompletaci XDS,
- tvorbu DAD,
- tvorbu formulářů,
- tvorbu konfiguračních nástrojů,
- instalaci na server,
- spuštění nové verze aplikace.

6. XDS Designer

Součástí replikátoru je takzvaný XDS Designer. XDS Designer je editační nástroj určený pro tvorbu, úpravu a rozvoj XDS definic. Slouží implementátorovi nebo vývojáři platformy k práci s definiční vrstvou dokumentových typů. Pomocí XDS Designeru se vytváří a upravují XDS definice, které následně slouží jako vstup pro replikační proces.

7. Replikační proces

Replikační vrstva replikátoru převádí XDS definice do provozní podoby aplikace. Replikace probíhá ve fázích:
 1. kompletace a kontrola XDS,
2. tvorba DAD,
3. tvorba formulářů a konfiguračních nástrojů,
4. instalace na server a spuštění nové verze.

7.1 Kompletace a kontrola XDS

V první fázi replikátor provádí kompletaci a kontrolu XDS. Cílem je ověřit, že definice jsou úplné, konzistentní a použitelné pro další fáze. Tato fáze je klíčová, protože XDS je výchozím zdrojem pravdy pro FDT, DAD i další generované části systému.

7.2 Tvorba DAD

Ve druhé fázi se z XDS vytváří DAD, tedy databázová mapa. Tato mapa popisuje databázovou strukturu odpovídající definovaným dokumentovým typům.

7.3 Tvorba formulářů a konfiguračních nástrojů

Ve třetí fázi replikátor vytváří formuláře a konfigurační nástroje, které se odvozují z definovaných FDT, jejich struktury, vlastností, rolí a chování. Tím vzniká základní uživatelská a konfigurační vrstva, nad kterou lze dále stavět další aplikační prvky.

7.4 Instalace na server a spuštění nové verze

Ve čtvrté fázi se vytvořená nebo upravená verze instaluje na server a spouští se nová verze aplikace. Tím se změny provedené v definicích převádějí do běžícího systému.

8. Intranet jako mezivrstva nad definovanou strukturou

Nad strukturou vytvořenou z XDS a DAD se v platformě Flexideo tvoří další nástroje v mezivrstvě označované jako intranet. Intranet je vrstva, ve které se nad základními dokumentovými typy a databázovou strukturou definují a organizují další aplikační prvky. Patří sem zejména:
 - složky,
- přehledy,
- tabulky,
- akce,
- procesy,
- další nástroje nad FDT.
Tyto prvky se neodvozují přímo jen z XDS. Mají vlastní intranetové XML definice a vlastní organizační záznamy, zejména položky x-item.

9. X-item položky

Další nástroje v intranetu jsou určeny záznamy označovanými jako x-item položky. X-item definuje základní identitu a zařazení daného prvku v aplikaci. X-item určuje zejména:
 - typ položky,
- název položky,
- číslo položky,
- oblast,
- zařazení do stromu aplikace,
- odkaz na rodičovský x-item.
Typem x-item položky může být například:
 - složka,
- přehled / tabulka,
- akce,
- proces.
Proces přitom může funkčně mapovat akci a přehled a zároveň může sloužit jako složka pro tyto prvky. X-item tedy slouží ke skládání položek do stromu aplikace. Strom vzniká vzájemným propojováním x-item položek přes odkazy na rodičovské x-item položky a oblast.

10. Typy prvků v intranetu

10.1 Složka

Složka je organizační prvek aplikace. Slouží k členění dalších položek ve stromu aplikace. Složka může obsahovat další složky, přehledy, akce nebo procesy podle vazeb definovaných pomocí x-item položek.

10.2 Přehled / tabulka

Přehled, často chápaný jako tabulka, je nástroj pro zobrazování dat nad definovanou strukturou. Tabulka může mít více forem zobrazení, například:
 - běžná tabulka,
- graf,
- Gantt,
- kalendář,
- další specializované formy zobrazení.
Přehled je definován intranetovou definicí a zařazen do stromu aplikace pomocí x-item položky.

10.3 Akce

Akce je nástroj, který nad daty provádí konkrétní operaci nebo procesní krok. Akce má vlastní definici, může mít vstupy a výstupy a může být navázána na přehled, dokumentový typ nebo proces.

10.4 Proces

Proces je prvek, který může funkčně mapovat akci a přehled. Současně může proces sloužit jako složka pro další prvky. Proces tedy není jen samostatná operace, ale může být také organizačním prvkem stromu aplikace.

11. Intranetové XML definice

Intranet má své vlastní specifické XML definice. Tyto definice jsou odlišné od XDS a jsou v současnosti méně formálně popsány než XDS definice. Přesto plní v architektuře velmi důležitou roli. Zjednodušeně lze říci:
 To, co je XDS definice pro dokumentový typ FDT,
to je intranetová definice pro tabulku, akci, proces nebo složku.
XDS tedy slouží primárně pro dokumentové typy. Intranetové definice slouží pro definování:
 - tabulek,
- akcí,
- procesů,
- složek,
- dalších aplikačních prvků intranetu.
X-item pak slouží k tomu, aby tyto prvky byly pojmenovány, očíslovány a zařazeny do stromové struktury aplikace. Vztah lze popsat takto:
 XDS › definuje FDT / dokumentové typy.
Intranetové XML definice › definují tabulky, akce, procesy a složky.
X-item › skládá tyto položky do stromu aplikace.

12. COMEX definice jako stabilní provozní popis aplikace

Výstupy z XDS i výstupy z intranetových definic se převádějí do COMEX definic. COMEX definice jsou na rozdíl od XDS a intranetových definic důsledně popsané a tvoří stabilní základ pro popis fungování aplikace. COMEX definice jsou klíčové pro fungování systému jako celku. Popisují vše, co je potřeba pro běh a zobrazení aplikace v uživatelském rozhraní. Zároveň je důležité rozlišit, že COMEX definice nejsou výchozím konfiguračním XML nastavením celé aplikace. Výchozími nastaveními jsou:
 - XDS,
- intranetová settings,
- x-item položky.
COMEX definice jsou výslednou nebo provozní definiční vrstvou, do které se potřebné části těchto nastavení převádějí pro použití v uživatelském rozhraní a komponentách.

13. Vztah XDS, intranetových definic a COMEX definic

COMEX definice popisují FDT, tabulky a akce podle toho, co je potřeba pro jejich provozní použití. Je však důležité zdůraznit, že COMEX typicky nepopisuje celou původní konfigurační strukturu.

13.1 COMEX a FDT

Do COMEX definic jsou převáděny informace potřebné pro fungování dokumentových typů, tedy FDT. FDT tvoří jádro systému, protože řídí strukturu, role, přístupy a chování editace formulářů. COMEX ale nemusí popisovat celou FDT strukturu. Může popisovat jen ty části, které jsou potřebné pro konkrétní použití, například pro fungování formuláře. Jinými slovy:
 XDS popisuje FDT jako výchozí definici.
COMEX používá z FDT to, co je potřeba pro provoz formuláře a uživatelského rozhraní.

13.2 COMEX a tabulky

Do COMEX definic jsou převáděny také popisy tabulek. Ani zde však COMEX nemusí popisovat celou konfiguraci tabulky. Často popisuje jen to, co je nutné pro zobrazení nebo funkční použití tabulky v uživatelském rozhraní. Například:
 - jak se má tabulka zobrazovat,
- jak má fungovat filtr tabulky,
- jaké komponenty jsou pro zobrazení potřeba.
Výchozí konfigurace tabulky je tedy v intranetové definici, zatímco COMEX obsahuje provozní popis potřebný pro její zobrazení a použití.

13.3 COMEX a akce

Do COMEX definic jsou převáděny také informace o akcích. COMEX typicky nepopisuje celý průchod akce. Popisuje zejména ty části, které jsou potřebné pro použití akce v uživatelském rozhraní. Například:
 - hlavičku akce,
- vstupy akce,
- výstupy akce,
- údaje potřebné pro spuštění nebo zobrazení akce.
Výchozí definice akce je tedy v intranetové vrstvě, zatímco COMEX obsahuje účelový provozní popis potřebný pro její použití.

14. COMEX jako vrstva komponent uživatelského rozhraní

COMEX definice jsou klíčové pro fungování systému jako celku, protože popisují komponenty a jejich použití v uživatelském rozhraní. Pro každou složku a tabulku se v uživatelském rozhraní COMEX tvoří nejen popis použití této komponenty, ale zároveň se definuje také stránka, která představuje výchozí místo, kde je tato komponenta využitá. To znamená, že COMEX neobsahuje pouze technický popis komponenty, ale také popis jejího umístění a použití v uživatelském rozhraní.

15. COMEX definice stránky jako nejvyšší definiční vrstva

Třetí a nejvyšší vrstvou definic je definice stránky. Tato vrstva se odehrává výhradně v COMEX syntaxi. Definice stránky určuje, jaká stránka se v uživatelském rozhraní zobrazuje, jaké komponenty obsahuje a jak je její obsah uspořádán. Adresa stránky je dána číslem x-item, ke kterému stránka patří. Stránka však nemusí obsahovat pouze komponentu odpovídající danému x-item. Může obsahovat i jiné komponenty. Na úrovni definice stránky může implementátor:
 - předefinovat obsah stránky,
- rozšířit stránku,
- zúžit stránku,
- změnit skladbu komponent,
- upravit stránku podle potřeby uživatelského rozhraní.
Tím vzniká nejvyšší vrstva definování aplikace. Zatímco XDS definuje základní dokumentové typy a intranetové definice definují tabulky, akce, procesy a složky, COMEX stránka definuje konkrétní uživatelský obraz aplikace.

16. Uzavření definičního kruhu

Celý definition-driven postup Flexideo tvoří uzavřený kruh definic. Na začátku stojí XDS jako elementární definiční zdroj dokumentových typů. Z XDS vznikají FDT a DAD. Replikátor zajišťuje kontrolu, kompletaci, tvorbu databázových map, formulářů, konfiguračních nástrojů a instalaci nové verze. Nad tímto základem vzniká intranetová vrstva, která pomocí vlastních XML definic definuje tabulky, akce, procesy a složky. Tyto prvky jsou pomocí x-item položek pojmenovány, očíslovány a zařazeny do stromu aplikace. Výstupy z XDS a intranetových definic jsou dále převáděny do COMEX definic, které popisují provozní použití dokumentových typů, formulářů, tabulek, filtrů, akcí a dalších komponent. Na nejvyšší úrovni vznikají COMEX definice stránek, které určují konkrétní podobu uživatelského rozhraní, jeho adresaci podle x-item a možnost předefinovat, rozšířit nebo zúžit obsah stránky podle potřeb implementace. Tím se uzavírá celý definiční model Flexideo:
 XDS definuje dokumentové typy.
FDT představují základní třídy aplikace.
DAD vytváří databázový obraz těchto definic.
Replikátor převádí definice do běžícího základu systému.
Intranetové definice definují tabulky, akce, procesy a složky.
X-item položky skládají tyto prvky do stromu aplikace.
COMEX definice popisují provozní použití komponent.
COMEX stránky určují konkrétní podobu uživatelského  rozhraní.

17. Shrnutí architektury

Definition-driven postup Flexideo lze shrnout do několika základních vrstev:
 1. XDS vrstva
   - elementární definice,
   - definice FDT,
   - základ struktury, rolí, přístupů a chování dokumentových typů.

2. FDT vrstva
   - Flexideo Dokumentové Typy,
   - základní třídy aplikace,
   - jádro celé platformní struktury.

3. DAD vrstva
   - databázové mapy,
   - databázový obraz XDS/FDT.

4. Replikační  vrstva
   - kompletace a kontrola  XDS,
     - tvorba DAD,
   - tvorba formulářů a konfiguračních nástrojů,
   - instalace na server a spuštění nové verze.

5. Intranetová vrstva
   - vlastní XML definice,
   - tabulky,
   - akce,
   - procesy,
   - složky.

6. X-item vrstva
   - pojmenování a číslování položek,
   - typ položky,
   - oblast,
   - rodičovské vazby,
   - strom aplikace.

7. COMEX komponentní vrstva
   - provozní popis FDT, formulářů, tabulek, filtrů a akcí,
   - stabilní definice potřebné pro  fungování uživatelského rozhraní.

8. COMEX stránková vrstva
   - nejvyšší definiční vrstva,
   - definice konkrétních stránek,
   - adresa podle x-item,
   - možnost předefinovat obsah stránky pro potřeby uživatelského rozhraní.

18. Význam pro dlouhodobou udržitelnost

Tento definition-driven postup je zásadní pro dlouhodobou udržitelnost systému. Aplikace není závislá pouze na ručně vytvořeném aplikačním kódu. Její podoba, struktura a chování jsou popsány ve vrstvách definic, které lze kontrolovat, verzovat, porovnávat, replikovat, validovat a dokumentovat. To je klíčové i pro využití AI agentů a harness engineeringu. AI agent se v takové architektuře nemusí orientovat primárně v historickém kódu. Může pracovat s definicemi, které mají jasně danou roli:
 - XDS jako zdroj pravdy pro dokumentové typy,
- DAD jako databázový obraz,
- intranetové XML definice jako zdroj pravdy pro přehledy, akce,  procesy a složky,
- x-item jako  stromová organizace aplikace,
- COMEX jako stabilní provozní popis komponent a stránek.
Tím vzniká architektura, ve které lze změny navrhovat, kontrolovat a provádět postupně, řízeně a auditovatelně. Flexideo je tedy možné chápat jako platformu, jejíž aplikace jsou tvořeny a udržovány pomocí definic. Tyto definice se postupně převádějí přes replikační a provozní vrstvy do konkrétního běžícího systému. Právě v tom spočívá základní princip definition-driven vývoje ve Flexideo.

Zdroj: