# 4.1. Úvodní informace o aplikaci

Aplikace Elza je aplikace pro zpracování archiválií a přípravu archivních pomůcek. V této kapitole jsou popsány její základní technické vlastnoti a požadavky pro její provoz.

Aplikace je k dispozici ve třech formách:

Instalátor pro MS Windows | vhodné pro ověřování funkcí aplikace na desktopu
Připravené binární balíčky | vhodné pro produkční prostředí
Ve formě zdrojového kódu | vhodné pro další vývoj a případnou customizaci

## 4.1.1. Charakteristika aplikace

Software Elza je webová aplikace s vícevrstevnou architekturou. Data jsou ukládána do relační databáze. Server je Java aplikace vyžadující pro pro provoz Java Servlet kontejner (Apache Tomcat, Jetty). Uživatelské rozhraní je dostupné formou webové aplikace. Ta je vytvořena pomocí technologie HTML5 a JavaScript/React. Komunikace mezi uživatelským rozhraním a serverovou částí je postavena na principu REST rozhraní a pro některé části využívá technologii WebSocket.

Aplikace Elza může být integrována s dalšími systémy, jako jsou systémy pro správu přístupových bodů (CAM), či systémy pro práci s digitalizáty a digitálními archivy.

### Instalace a komunikace s okolím

Následující schéma ukazuje příklad instalace aplikace na virtuální server.

Příklad způsobu instalace

Poměrně obvyklou variantou k uvedenému příkladu je řešení, kdy webový server (Apache HTTPD, NGINX, IIS) je instalován na jiném serveru a na virtuálním serveru je nainstalována jen aplikace Elza. V takovém případě je server čistě aplikační a uživatelé k němu přímo nepřistupují, jen prostřednictvím samostatného webového serveru na nějž je směrováno URL, např. https://elza.organizace.cz.

## 4.1.2. Server

### Hardwarové požadavky

Požadavky | Minimální | Doporučené
--- | --- | ---
Velikost RAM | 4GB | 8GB
Počet jader CPU | 2 | 4
Dostupné místo na disku | 4GB | 16GB
Rezervované místo pro databázi | 15GB | 60GB

Hardwarové požadavky vycházejí vždy z předpokládané a následně reálně zátěže dané instance aplikace. Uváděné minimální hodnoty jsou určené pro málo zatížené instance, např. pro testování a vývoj. Doporučené hodnoty jsou určeny pro produkční prostředí s běžnou zátěží odpovídající specializovanému archivu do deseti uživatelů.

Zátěž je dána zejména těmito faktory:

  - počet současně pracujících uživatelů

  - maximální velikost jednoho archivního souboru (počet jednotek popisu)

  - celkové množství archivních souborů

  - množství archivních entit (napojení na CAM)

### Softwarové požadavky

Požadavky | Verze
--- | ---
Java | 17
Databázový server PostgreSQL | 12 a vyšší

#### Uložení dat

Doporučeným a podporovaným databázovým serverem je PostgreSQL s rozšířením PostGIS pro uložení souřadnic.

Pro testování je možné používat embedded databázi H2.

Je možné uvažovat o použití i jiných databází (např: Microsoft SQL Server, Oracle), musí umožňovat tyto funkce:

> - existence JDBC ovladačů

> - podpora v nástroji LiquiBase

> - podpora Common Table Expression s rekurzivními dotazy

> - podpora datového typu Geometry

> - podpora pro podmíněné indexy

V případě potřeby provozu aplikace na jiné databázové platformě je nutné samostatně aplikaci sestavit ze zdrojového kódu a provést úpravu DB schématu.

## 4.1.3. Klientská aplikace

### Hardwarové požadavky

Požadavky | Minimální | Doporučené
--- | --- | ---
Rozlišení | 1024 x 768 | 1920×1080 nebo 1280x1024
RAM pro prohlížeč s aplikací | 1GB |

### Podporované prohližeče

Prohlížeč musí implementovat standard HTML5, JavaScript 6+

Podporované prohlížeče aktuální verzi aplikace Elza:

  - Google Chrome

  - Mozilla Firefox

  - Internet Explorer 11

  - Microsoft Edge

Částečná podpora:

  - Apple Safari