KMI/WEBA Webové aplikace: Seminář 05

Architektury webových aplikací

V dnešní době se můžeme setkat s řadou různých architektur používaných pro vývoj webových aplikací. My se zaměříme na: monolitickou a microservices architekturu.

Většina webových aplikací se skládá ze tří částí: uživatelského rozhraní, logiky aplikace a datového rozhraní.

Monolitická

Monolitická architektura, jak její název napovídá, je architektura, kde uživatelské rozhraní, logika aplikace a datové rozhraní tvoří jeden celek.

Udržení pořádku

Pro potřeby udržení pořádku adoptujeme jednoduchou MVC architekturu. Jedná se o velmi triviální, ale pro naše potřeby dostatečný, příklad demonstující dělení na model, view a controller.

Plnohodnotné řešení by zahrnovalo ORM systém (za předpokladu, že by měl smysl) a šablonovací systém.

Microservices

Webové API

Webové API je API, které využívá pro komunikaci protokol HTTP (či HTTPS). Typicky je realizováno jako backend s žádným nebo jednoduchým frontendem a veřejně dostupnými endpointy. Endpoint představuje rozhraní, které je využito pro spuštění požadované funkcionality.

Nejběžněji se můžeme setkat s REST API a GraphQL API architekturou.

REST

Zadání

  1. úkol 1

    Upravte administrační rozhraní z předchozích seminářů tak, aby používalo MVC architekturu.

  2. úkol 2

    Napište jednoduchou REST API službu uchovávající seznam uživatelů (id, name, surname) v session. Vstupní body služby jsou následující.

    vstupní bodpopis
    getvrátí seznam všech uživatelů v CSV formátu
    get/idvrátí uživatele s daným id v CSV formátu
    postuloží uživatele (data jsou předána skrze HTTP POST požadavek (klíče id, name a surname)
    update/idzmění uživatele s daným id (data jsou předána skrze HTTP POST požadavek (klíče name a surname)
    delete/idsmaže uživatele s daným id

  3. úkol 3 (dobrovolný)

    Upravte API z předchozího úkolu tak, aby se seznam uživatelů ukládal do souboru.