diplomová práce

Rámec pro tvorbu aplikací s podporou peer-to-peer spolupráce

Text práce 2.35 MB

Autor práce: Ing. Jan Hrdina

Ak. rok: 2018/2019

Vedoucí: RNDr. Marek Rychlý, Ph.D.

Oponent: Mgr. Ing. Pavel Očenášek, Ph.D.

Abstrakt:

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.

Klíčová slova:

rámec, webový vývoj, peer-to-peer, distribuované systémy, spolupráce, funkcionální programování, autentizace, autorizace, konflikty, ReasonML, WebRTC, CRDT

Termín obhajoby

19.6.2019

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znakmkaAznamka

Klasifikace

A

Průběh obhajoby

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ě.

Otázky u obhajoby:

  1. Jak jsou proti sobě autentizování legitimní uživatelé? Jak je zajištěno, že se uživatel nepropojí s útočníkem?
  2. Proč jste použil pro implementaci právě jazyk ReasonML?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (IT-MGR-2)

Studijní obor

Informační systémy (MIS)

Složení komise

doc. Dr. Ing. Dušan Kolář (předseda)
prof. RNDr. Milan Češka, CSc. (místopředseda)
Ing. Petr Matoušek, Ph.D. (člen)
Mgr. Jan Pavlík, Ph.D. (člen)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)

Posudek vedoucího
RNDr. Marek Rychlý, Ph.D.

Známka navržená vedoucím: A

Soubor vložený vedoucím Velikost
Hodnocení vedoucího [.pdf] 86.24 kB

Známka navržená oponentem: A

Soubor vložený oponentem Velikost
Posudek oponenta [.pdf] 87.14 kB