Detail práce
Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce
Práce se zabývá návrhem a implementací aplikačního rámce pro tvorbu kolaborativních webových editorů, které umožňují peer-to-peer spolupráci v realném čase. V práci jsou shrnuty existující přístupy pro replikaci dat, z nichž je pro další použití jako nejvhodnější vybrána implementace CRDT (conflict-free replicated data type) pro JSON od M. Kleppmanna. Pomocí výsledného rámce může být vytvářený obsah bezpečně sdílen uvnitř skupin protějšků, kde každému členovi je možné nastavit jiná oprávnění. Pro navázání spojení a komunikaci P2P jsou navrženy a implementovány vlastní komunikační protokoly postavené na WebRTC, WebSocket a WebCrypto. Rámec umožňuje řešení konfliktů a samostatnou práci i bez připojení k internetu. Pro konzistentní uživatelský zážitek je součástí knihovna s prvky uživatelského rozhraní pro správu přátel, skupin a další časté úkony. Rámec je implementován s využitím funkcionálních návrhových vzorů realizovaných v jazyce ReasonML. Funkčnost výsledku je ověřena vytvořením ukázkové aplikace editoru myšlenkových map.
rámec, webový vývoj, peer-to-peer, distribuované systémy, spolupráce, funkcionální programování, autentizace, autorizace, konflikty, ReasonML, WebRTC, CRDT
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A - výborně.
- Jak jsou proti sobě autentizování legitimní uživatelé? Jak je zajištěno, že se uživatel nepropojí s útočníkem?
- Proč jste použil pro implementaci právě jazyk ReasonML?
Češka Milan, prof. RNDr., CSc. (UITS FIT VUT), člen
Matoušek Petr, doc. Ing., Ph.D., M.A. (UIFS FIT VUT), člen
Pavlík Jan, Mgr., Ph.D. (UM OADM FSI VUT), člen
Rychlý Marek, RNDr., Ph.D. (UIFS FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
@mastersthesis{FITMT21855, author = "Jan Hrdina", type = "Diplomov\'{a} pr\'{a}ce", title = "R\'{a}mec pro tvorbu aplikac\'{i} s podporou peer-to-peer spolupr\'{a}ce", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2019, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/21855/" }