Skip to content

Jak urychlit digitalizaci Technická varianta článku

fyziktom edited this page Jun 5, 2023 · 1 revision

Souhrnná informace o projektu Virtual Economy Framework

Spolupracujme na digitalizaci formou OpenSource

Proč?

Rychlost a složitost dnešního světa nelze zvládnout bez digitálních nástrojů. K tomu jsme dospěli nezávisle na velikosti jednotek napříč obory.

Digitální nástroje potřebuje jednotlivec, firma i stát. A nezbytná je často komunikace mezi nástroji. To přináší požadavky na standardizaci určité sady nástrojů, která zamezí neudržitelné složitosti systému. Čím je systém složitější, tím vyšší jsou nároky na vnitřní zdroje na údržbu systému.

Existuje řada teoretických prací, které ukazují, jakým způsobem lze problém řešit. Chybí však nezávislá konkrétní implementace, kterou lze jako základní platformu nabízet v rámci filozofie OpenSource zdarma. Ta umožní dlouhodobou kvalitní podporu.

Proto vznikl tento projekt, který si klade za cíl demonstrovat, jak lze platformu implementovat.

Jak?

Při nárůstu počtu sub-systémů je klíčové, aby byly nalezeny společné prvky, které lze standardizovat a využít napříč sub-systémy. Tím je zjednodušena správy systému jako celku.

Řešení, které povede ke snížení složitosti, musí:

  • Umožňovat spuštění nového sub-systému vedle sub-systému současného. Tím je umožněn paralelní běh a synchronizace dat. Není pak třeba zásadně zasahovat do aktuální podoby sub-systému.

  • Umožňovat vytvoření nové verze sub-systému, která bude postavena na základě řešení již od začátku.

  • Být modulární a flexibilní, a to i napříč platformami.

  • Být základem jednoho sub-systému nebo sady sub-systémů.

  • Být zdarma, aby bylo umožněno plnohodnotné využití. Možnosti rozšíření a úprav však již mohou být placené.

  • Být nezávislé, otevřené, řízené komunitou odborníků s podporou státního i soukromého sektoru.

Podmínek lze formulovat více, avšak tyto jsou klíčové. Transformaci totiž nikdy nelze provést najednou. Často je zapotřebí alespoň nějaké základní vrstvy nebo atomického spojení, které lze nasadit na většině míst alespoň ve zjednodušené podobě.

Většina procesů v systému je přímo či nepřímo závislých. Proto je možné zaměřit se na transformaci té oblasti, kde lze dosáhnout efektu co nejrychleji a transformaci bude co nejjednodušší (např. daný segment je na podobnou standardizaci již zvyklý). Díky tomu pak lze odblokovat i další procesy, které byly předtím blokovány sekundárním efektem.

Důležité je zdarma poskytnout řešení ve verzi, která je dostatečná pro obsloužení základních funkcí. Pokud takové řešení není k dispozici, nemusí být některá kořenová příčina odstraněna kvůli mikroekonomickému pohledu na izolovanou jednotku bez kontextu možného dopadu na celý systém. Příkladem je strategie antivirových firem, které poskytují základní (ale kvalitní) antivir zdarma; jinak se může celé IT působením virů zhroutit, a firma přijde ve výsledku o zákazníka.

Výše uvedený popis je obecný. Lze jej uplatnit napříč obory stejně, jako se uplatňují původní teorie, na jejichž základě vznikl (např. Miroslav Bárta*: Sedm zákonů vzniku a pádu civilizací* nebo Elinor Ostrom: Governing the Commons).

Pro konkrétní aplikaci je potřeba začít v oboru, který má dopad napříč všemi obory. Klíčovým segmentem pro takovou transformaci je oblast digitalizace.

Co?

Digitalizace má řadu společných technologických prvků, jako jsou programovací jazyky, databáze, protokoly internetu věcí, blockchain, application programming interface (API), apod. I menší aplikace dnes obsahují kombinaci přinejmenším tří těchto technologií. Je-li aplikace úspěšná, rozvíjí se, a dříve nebo později využívá všechny mainstream technologie.

Obecně však aplikace potřebují spíše funkci než danou technologii. Lze tedy abstrahovat obecnou vrstvu, která dané funkce poskytuje, a současně umožňuje budoucí výměnu konkrétní technologie, pokud je ta stávající překonána lepším řešením. Jedná se o tzv. aplikační framework.

Myšlenku aplikačního frameworku se snaží implementovat OpenSource projekt Virtual Economy Framework (VEFramework), a s ním související Production Line Framework (PLFramework). Oba projekty jsou postaveny na .NET C# v kombinaci s JavaScript (pro uživatelské skripty) či HTML/CSS/JavaScript (pro tvorbu UX/UI). Díky frameworku Blazor a MAUI od firmy Microsoft lze jednoduše využít knihovny napsané v C# i pro tvorbu uživatelského prostředí napsaného v HTML. Vše pak lze spustit napříč platformami ve formě webové i nativní aplikace.

VEFramework

VEFramework obsahuje různé typy driverů a jejich skupin. Tyto drivery umožňují jak zjednodušený přístup ke konkrétním technologiím, tak hotové aplikace pro přímé nasazení. Nyní je framework ve fázi, kdy je navržena základní struktura a ověřena řada principů. Je však uvést, že aktuální podoba frameworku byla primárně vyvinuta jako testovací prostředí pro ověření obecných principů.

Velkou roli ve VEFramework hrají Blockchain a Inter Planetary File System (IPFS). Tyto decentralizované technologie umožňují zjednodušení ověřování identit, udržení persistence dat, distribuci dat, zjednodušení zálohování dat apod. Uvedené technologie byly prakticky testovány při rozvoji Průmyslu 4.0 (přibližně od roku 2015).

VEFramework implementuje především myšlenky kolem řízení tzv. Unified Namespace. Dá se říci, že se jedná o operační systém pro tuto oblast.

Obecné umístění VEFramework

Na obrázku je vidět základní ekosystém využití VEFramework a jeho pozici ve vztahu ke společnosti. Investoři, státní správa, lidé a umělá inteligence (AI) se podílejí na rozvoji platformy a aplikací. Hlavní komoditou v ekosystému jsou data. Případně to mohou být specifické aplikace na míru a jejich implementace. Chybějící nástroje a standardizace v oblasti dat je brzdou rozvoje této oblasti ekonomiky. Přitom ji lze při správném a jednotném nasazení využít i v globálním měřítku a data dodávat do všech zemí světa.

V rámci VEFramework byly identifikovány a naprogramovány vybrané konkrétní funkce, jako je ukládání dat z inspekčních systémů v průmyslu do blockchainu a IPFS, zaznamenání a ověřování identit lidí či programů, poskytování licencí či lístků, posílání šifrovaných P2P zpráv, verzování, sdílení dokumentace, a další. Příkladem jsou i celé aplikace; např.:

VEFramework obsahuje hotové aplikace, šablony i drivery, na nichž jsou uvedené příklady postaveny. I když jsou aplikace určeny pro odlišné aplikační oblasti, sdílejí velké množství společného kódu. Platformu je však stále třeba vnímat jako demo, a nikoliv jako hotovou platformu.

Vše je součástí OpenSource repozitáře, který je dostupný na zde.

Hlavní přínos projektu:

Cílem projektu je reforma vybraných základních stavebních prvků obecných systémů. Proto se jeho pozitivní efekty promítnou do mnoha oblastí. Zde jsou některé z hlavních předpokládaných přínosů:

  • Snížení počtu odborníků nutných pro správu systémů. Dnes experti chybí nebo není možné je zaplatit. Počet potřebných odborníků navíc neustále roste.

  • Ochrana dat proti hackerským útokům a obecné snížení výskytu kyber-kriminality. Data v blockchainu nebo na IPFS nelze zašifrovat. Jsou zapracované do větší struktury dat, která je synchronizovaná v decentralizované síti. Díky implementaci blockchainu lze v řadě případů odstranit podvody (nemožnost falsifikace zápisu a zpětných úprav). Otevřené standardy a data umožňují automatizovanou kontrolu (např. při čerpání dotací, výběru daní apod.).

  • Zásadní urychlení digitalizace napříč celou Českou republikou. Shoda na základní platformě umožní sdílení pracovníků napříč firmami. Díky eliminaci vývoje paralelních řešení se zásadně zrychlí vývoj.

  • Příliv odborníků z celého světa. Díky rozsáhlému celonárodnímu projektu s otevřeným kódem budeme atraktivním prostředím pro specialisty z celého světa, kteří se budou chtít podílet na vzniku a prvních implementacích v průmyslu, zemědělství, zdravotnictví apod.

  • Propojení vzdělávacího sektoru s dalšími oblastmi. Aplikace vyvinutá na dané platformě během studií může být 1:1 využitelná i např. v průmyslu. Pouze se přesměruje uložiště na privátní či jiný typ, ale aplikaci jako takovou nebude potřeba měnit. Sjednocení technologií také pomůže efektivněji připravit studenty do praxe. Budou mít totiž společný základ, který se v praxi běžně používá napříč obory.

  • Globální rozvoj ekonomiky v oblasti digitálních dat. Bez standardizace a sdílení kvalitních flexibilních otevřených nástrojů globální rozvoj není možný. Pokud poskytneme nástroje zdarma do zahraničí, umožníme efektivně čerpat data, a tím získáme nové příjmy.

  • Trénování umělé inteligence z dat kolem vývoje a adopce pomůže vývojářům a uživatelům v budoucnu (bude-li většina informací v otevřeném módu). Podobný princip byl již použit firmou Microsoft pro tvorbu GitHub AI Copilot, který pomáhá programátorům psát programy. I proto je vhodné vytvořit celý projekt od základu, i když by bylo možné navázat na některé existující projekty. Samotné naprogramování není tak složité, a kvůli vzniku datasetu vyplatí. Budeme první národ na světě, který si natrénuje a bude vzdělávat národního AI IT pomocníka.

Další rozvoj projektu

Půjdeme-li cestou rozvoje VEFramework (není podmínku, jde totiž především o obecné myšlenky a ověření principů ve vztahu k průmyslu, nikoli o konkrétní implementaci), je potřeba zlepšit a doplnit kód, aby se zvýšila modularita a robustnost. Také je třeba postupně doplnit i další IT technologie, které zapadají do celkové koncepce. Vazby na konkrétní méně často používané technologie mohou vznikat později v rámci komunitního rozvoje. IT firmy mohou specifické drivery doplnit v rámci placeného vývoje či v rámci obecného rozvoje platformy.

Konkrétní plán dalšího postupu v oblasti vývoje je v repozitáři. Dlouhodobější kroky jsou k dispozici v detailním strategickém plánu. Projekt je však třeba vnímat agilně, a zohledňovat příchod technologií, které mohou zásadně zjednodušit původní plán. Brát v potaz je třeba hlavně názory odborníků, kteří se do projektu zapojí a mohou poukázat na další vhodné stavební prvky projektu.

Pro rozvoj projektu je klíčové, aby byl zajištěn vhodný operativní manažera a základní tým vývojářů (Architekt, C#, UX/UI, DevOps), jejichž úkolem bude rozvinout a udržovat jádro. Pro volbu základní sestavy týmu by měl být implementován systém, který vyváží jak celospolečenské aspekty, tak relevantní rozhodování odborníků. Vše lze řešit skrze transparentní repozitář. Konkrétně jsou specifikované pozice v rámci strategického/rozvojového plánu. V tuto chvíli by bylo vhodné mít k dispozici alespoň následující core tým pro vývoj:

  • Operativní manažer

  • Softwarový architekt

    • Pokročilé architektury enterprise systémů
    • Znalost Mermaidu
  • .NET C# Senior vývojář

    • Backend vývoj
    • Zkušenosti s větším refaktoringem projektu
    • Know-how na programování algoritmů pro cache, buffery, znalost pokročilých patternů, apod.
    • Vhodné: Entity Framework (experience with MSSQL, PostgreSQL, MongoDb, SQLite), MQTT, OPC UA, Blockchain (UTXO based and Hyperledger)
  • MachineVision/AI specialista

    • OpenCV, OpenAI
    • Vhodné: OpenAI, ML.NET, IBM cloud AI tools
  • .NET C# Test developer

    • Podpora pro backend vývoj
  • UX/UI - .NET C# Blazor

    • Znalost HTML, CSS, JSS a Bootstrap
    • Figma pro UX design
  • DevOps podpora

    • Nastavení služeb na Azure a podobných cloud službách
    • Znalost Docker a WebAssembly
    • Tvorba/spuštění služeb ve Windows a Linux
    • Znalosti decentralizovaných technologií jako je IPFS, decentralizovaný cloud computing, apod.

Existuje řada firem, které mají vlastní vývojové oddělení pro tvorbu interních IT systémů, ale jejich byznys model je orientován jinak, a vývoj IT systémů je jen doplněk a slouží ke zvýšení flexibility. Pozice těchto firem na trhu není ohrožena tím, že by poskytly software jako OpenSource a obecně spolupracovaly na společném řešení. Takové partnery je potřeba získat pro rozvoj projektu.

Paralelně k tomu se již objevují první adopční partneři, kteří by rádi framework využili pro tvorbu konkrétních zakázek. Ti rovněž pomohou rozvinout framework (minimálně díky testování konkrétních komponent frameworku).

Clone this wiki locally