HALOMI, I. Vylepšení architektury backendové rutiny pro zpracování dat z chytrých zařízení [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

John, Petr

Student pracoval velmi samostatně a pečlivě. Výstupem práce je rozšíření platformy společnosti Logimic, které dovoluje uživatelům i vývojářům přidávat funkce odpovědné za transformaci mezi datovými modely. Uživatelé mohou tyto funkce přidávat pomocí grafického uživatelského rozhraní a jejich běh je virtualizován, což redukuje možnost zneužití tohoto nástroje útočníkem. Díky tomuto rozšíření je možné přidávat podporu pro nová zařízení bez nutnosti překladu aplikace či přístupu ke zdrojovému kódu aplikace. Navrhuji hodnocení stupněm B .

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Cílem této diplomové práce bylo vylepšení aktuální architektury backendového zpracování příchozích a odchozích dat z různých typů chytrých zařízení v aplikaci zaměřené na správu chytrých měst vyvíjenou pro společnost Logimic. Proces zpracování dat zahrnuje mimo jiné i jejich převod do interní reprezentace společnosti. Za tímto účelem se využívají enkodéry pro odchozí a dekodéry pro příchozí data do aplikace. Původní řešení umožňovalo přidání nových typů zařízení do aplikace vytvořením podpory pro tato zařízení v rámci zdrojového kódu aplikace a následným překladem. Kvůli tomuto přístupu obsahovalo původní řešení více vstupních bodů, které poskytovaly podporu pro podobné typy zařízení, a neumožňovalo úpravy koncovým uživatelem. Diplomová práce měla tři primární cíle, a to navrhnout a implementovat řešení, které umožní jak vývojářům, tak uživatelům přidat podporu pro nové typy zařízení, sjednotit vstupní body a otestovat vytvořený přístup na zařízeních kompatibilních s Open-Source nástrojem Zigbee2MQTT. Za tímto účelem musel student nastudovat širokou škálu technologií, a to od přenosových technologií (Zigbee, LoRaWAN, interní formáty firmy Logimic), přes technologie spojené s aktuálně používanými prostředími (Node.js, Express.js a cloudové prostředí AWS) a možnostmi spouštění potencionálně nebezpečného kódu, až po technologie používané ve frontendové části aplikace (Angular.js, PrimeNG). Student navrhl a implementoval řešení, které využívá relační databázi PostgeSQL pro ukládání uživatelem definovaných funkcí určených k práci s daty od zařízení, vytvořil abstrakci umožňující virtualizaci spouštěného kódu, sjednotil vstupní body pro zpracování dat a vyvinul uživatelské rozhraní pro správu funkcí pro práci s daty. Vytvořené řešení je integrováno v současné verzi aplikace společnosti Logimic. Zadání hodnotím jako průměrné složité. Bylo splněno ve všech jeho bodech.
Práce s literaturou Student prostudoval doporučenou literaturu a aktivně si vyhledával další zdroje.
Aktivita během řešení, konzultace, komunikace Student komunikoval během celého akademického roku. Konzultace probíhaly online přibližně každé dva týdny v zimním semestru a každé tři týdny v letním semestru. Student také aktivně diskutoval dílčí kroky se zástupci společnosti Logimic.
Aktivita při dokončování Práce byla dokončena v dostatečném předstihu a mohla tak být řádně konzultována a prezentována ve společnosti Logimic.
Publikační činnost, ocenění
Navrhovaná známka
B
Body
85

Posudek oponenta

Hynek, Jiří

Student řešil netriviální zadání. Až na některé výše uvedené nedostatky (zejména v technické zprávě) se jedná o kvalitní práci. Navrhuji hodnocení stupněm B.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Cílem studenta bylo navrhnout a implementovat do stávající platformy pro správu chytrých zařízení firmy Logimic podporu pro dynamické přidávání nových modelů chytrých zařízení. V praxi to znamená, že uživatel platformy prostřednictvím studentem implementovaného uživatelského rozhraní zadá funkce pro kódování a dekódování zpráv ze zařízení a funkci pro práci s dekódovanými daty. Aby tohoto student dosáhl, musel se důkladně seznámit s problematikou IoT, principem zasílání zpráv a jejich formáty z jednotlivých gateway serverů (LoRa, Zigbee2MQTT), platformou firmy Logimic a vývojem informačních systémů (TypeScript, Express, Angular, PostgreSQL). Zadání hodnotím jako obtížnější.
Rozsah splnění požadavků zadání
Rozsah technické zprávy
Prezentační úroveň technické zprávy 75 Prezentační úroveň technické zprávy je na průměrné úrovni. Práce je rozumně členěna na teoretickou a praktickou část. Implementační část je místy chaotická. Testování je popsáno spíše stručně.
Formální úprava technické zprávy 65 Formální stránka práce je slabší . Obsahuje různé typografické chyby (např. špatné pomlčky). Obrázky jsou v rastrové podobě, mnohdy méně kvalitní. Místy chybí čárky.
Práce s literaturou 85 Student prostudoval nadprůměrné množství odborných zdrojů . Ocenil bych pouze, kdyby bylo více zkoumáno, zda-li někdo řešil podobný problém.
Realizační výstup 95 Praktické řešení hodnotím kladně. Pomocí implementovaného rozšíření je možné definovat nový model zařízení bez nutnosti kompilovat back-end část platformy. Řešení podporuje tři formáty zpráv: LoRa Chirpstack, Zigbee2MQTT a Logimic Dev5. Řešení je funkční jak s verzí běžící na AWS využívající funkce Lamda, tak s tzv. řešením on-premise.
Využitelnost výsledků Výsledky jsou potenciálně využitelné ve firmě Logimic .
Navrhovaná známka
B
Body
85

Otázky

eVSKP id 154666