• Nebyly nalezeny žádné výsledky

Model aplikační vrstvy v jazyce ArchiMate (zdroj: autor)

Tabulka 5: Detailní popis prvků aplikační vrstvy

Prvek Popis

Aplikační komponenta ETL script je Python aplikací zodpovědnou za vykonávání ETL funkce. Současně má přístup k datům MySQL databáze a spolupracuje s komponentou Elasticsearch při ukládání dat, konktrétně smluv do databáze smluv.

Komponenta Elasticsearch slouží jako databáze smluv. Spolu s komponentou ETL script spolupracuje při ukládání dat a s komponentou Kibana spolupracuje při dotazování do uložených dat. Dále je Elasticsearch zodpovědný za vykonávání funkce čištění dat.

Účelem Kibany je poskytovat uživateli funkcionalitu analytického nástroje. Tato aplikační komponenta je tedy zodpovědná za funkci systému Analýza dat. Jak již bylo výše zmíněno, při dotazování do databáze spolupracuje s komponentou Elasticsearch.

Prvek značící spolupráci komponent ETL script a Elasticsearch během ukládání dat.

Prvek značící spolupráci komponent Elasticsearch a Kibana během dotazování do databáze smluv.

Aplikační rozhraní informačního systému ARES, skrze něhož jsou stahovány údaje o ekonomických subjektech v podobě XML dat.

Aplikační rozhraní Hlídače státu je využíváno ke stahování textů a metadat smluv prostřednictvím REST API, které vrací data ve formátu JSON.

Aplikační rozhraní informačního systému Registr smluv, které poskytuje údaje o smlouvách ve formátu XML.

Aplikační rozhraní, prostřednictvím něhož uživatel přistupuje k ETL službě. CLI Docker znamená, že rozhraní má podobu příkazové řádky operačního systému za použití programu Docker.

Web frontend je téže rozhraní pro uživatele. Skrze toto rozhraní přistupuje k analytické službě. Web frontend znamená, že přístup ke službě je realizován prostřednictvím webové stránky za použití webového prohlížeče.

Jedna ze tří hlavních funkcí aplikační vrstvy. Tato funkce agreguje funkcionalitu dotazování externí API, transformace dat a ukládání dat. Tato funkce realizuje ETL službu.

Aplikační funkce zajišťující stahování dat z externích zdrojů prostřednictvím webových API. Datovými vstupy do této funkce jsou data z Hlídače státu, Registru smluv a ARESu.

Aplikační funkce zajišťující, že jsou stažená data předávaná dále, tedy dalším komponentám a uživateli v požadované podobě.

V tomto kroku jsou parsovány XML dokumenty z Registru smluv a ARESu a JSON data z Hlídače státu. Zpracovaná data dále putují do Elasticsearch databáze smluv a MySQL číselníku dodavatelů.

Tato funkce se stará o ukládání dat do databází. Tedy smlouvy a jejich metadata jsou ukládána do databáze smluv v Elasticsearch a údaje o dodavatelích se ukládají do číselníku dodavatelů v MySQL databázi.

Zobrazuje agregovanou funkcionalitu, kterou poskytuje komponenta Kibana. Jedná se o funkcionalitu, která umožňuje uživateli provádět analytické operace nad vytěženými daty.

Uživatel může tedy smlouvy a metadata fulltextově prohledávat a tvořit vizuální výstupy (grafy, tabulky aj.).

Fulltextové vyhledávání je aplikační funkcí, která uživateli umožňuje prohledávat celé dokumenty tzn. celé texty smluv.

Díky aplikační funkci Vizualizace dat může uživatel tvořit nad zpracovanými daty informace v podobě tabulek, grafů a dalších podobných nástrojů.

Jedná se o jednoduchou, avšak důležitou aplikační funkci, kdy jsou data „čištěna“ konkrétně deduplikována, aby byla připravena v konzistentní podobě pro uživatele.

ETL služba značí zpřístupnění ETL funkcionality prostředí (uživateli) prostřednictvím aplikačního rozhraní.

Služba datové kvality zpřístupňuje funkcionalitu čištění dat.

Analytická služba umožňuje uživateli prostřednictvím rozhraní webového frontendu využívat funkcionality analýzy dat.

Datový objekt, jehož obsahem jsou dumpy z Registru smluv v datovém formátu XML. Tyto dumpy obsahují údaje o smlouvách za dny či měsíce. Relevatní údaje, které jsou využívány systémem jsou identifikátory smluv pro dotazovaní Hlídače státu a identifikátory (IČO) dodavatelů uvedených na smlouvách pro dotazování ARESu a číselníku dodavatelů.

Tento datový objekt představuje data ve formátu JSON, která jsou stahována prostřednictvím REST API Hlídače státu.

Obsahují metadata (předmět, odkaz, čas zveřejnění) smlouvy a samotný text smlouvy, který je čistě v textové podobě po již provedené OCR analýze.

Údaje o ekonomických subjektech jsou XML data z aplikace ARES, konkrétně z Registru ekonomických subjektů. Systém zde využívá údaj NACE, který klasifikuje ekonomickou činnost subjektu.

Číselník dodavatelů realizovaný MySQL tabulkou tvoří záznamy obsahující IČO, ekonomickou činnost a informaci o tom, zdali je dodavatel z odvětví ICT. Číselník dodavatelů využívá komponenta ETL script ke čtení a zápisu dat.

Databáze smluv představuje index v Elasticsearch. V tomto indexu jsou obsaženy záznamy sestávající z metadat a textů smluv stahovaných z Hlídače státu. Ukládání do databáze smluv provádí kolaborace komponent Elasticsearch a ETL script. Čtení databáze smluv pak provádí kolaborace komponent Elasticsearch a Kibana.

Datový objekt Vizualizované informace představuje výstupy, které vytváří uživatel v roli datového analytika prostřednictvím aplikační funkce Vizualizace dat nad zpracovanými daty. Tento datový objekt realizuje byznys objekt Výsledný report.

4.1.3 Technologická vrstva

Technologická vrstva byla navržena s přihlédnutím k přínosům, jež výsledné řešení může nést. Tedy aby byl systém snadno nasaditelný a zároveň kompatibilní na široké škále různých zařízení. Jádrem tohoto modelu je hostitelské zařízení, na němž je nainstalován některý ze tří nejpopulárnějších operačních systémů (Linux, MacOS, Windows). Výše zmíněné vlastnosti zajišťuje systémový software Docker, který umožňuje nastavit komplexní prostředí pro vývoj a běh aplikací nezávisle na prostředí hostitelského zařízení.

Prostředí v Dockeru je nastaveno tak, aby ním poskytované služby sloužily potřebám aplikační vrstvy. Součástí modelu technologické vrstvy je také uzel poskytovatele dat, mezi nimž a hostitelským zařízením probíhá výměna dat. Grafický model technologické vrstvy je zachycen na obrázku (viz Obrázek 14) a detailně popsán v tabulce (viz Tabulka 6) níže.

Obrázek 14: Model technologické vrstvy v jazyce ArchiMate (zdroj: autor)