.. Zdroj: elza/docs/admin-guide/source/01-overview.rst, elza e87a93d6d1

.. _admin_about:

===========================
Úvodní informace o aplikaci
===========================

Architektura
============

Elza je webová aplikace s vícevrstvou architekturou:

- **Server** - aplikace v jazyce Java (Spring Boot) s vloženým webovým
  serverem Tomcat, distribuovaná jako jediný spustitelný soubor JAR.
  Samostatný aplikační server není potřeba.
- **Databáze** - PostgreSQL s rozšířením PostGIS. Databázové schéma se
  vytváří a aktualizuje automaticky při startu aplikace (Liquibase).
- **Pracovní adresář** - adresář v souborovém systému serveru pro binární
  soubory (přílohy, vygenerované výstupy, publikace, importní dávky),
  balíčky pravidel, logy a další pracovní data.
- **Klient** - jednostránková webová aplikace (React) běžící v prohlížeči
  uživatele. Se serverem komunikuje přes rozhraní REST a oznámení přijímá
  přes WebSocket (STOMP, cesta ``/stomp``).

Elza může být integrována s dalšími systémy, zejména s Centrálním
archivním modulem (CAM) Národního archivního portálu pro archivní entity,
s digitálními archivy a úložišti digitalizátů a s publikačními systémy.
Viz :doc:`07-integrace`.

Typové nasazení
---------------

Uživatelé přistupují k aplikaci přes webový server v roli reverzní proxy,
který zajišťuje HTTPS a předává požadavky na HTTP port aplikace Elza.
Samotná Elza nemusí být mimo server dostupná.

.. code-block:: text

   uživatelé --HTTPS/443--> Apache HTTPD / NGINX --HTTP/8080--> Elza --> PostgreSQL
                             (certifikáty,                        |
                              reverzní proxy)                     +--HTTPS--> CAM, digitální archiv, ...

Webový server může běžet na stejném nebo na samostatném serveru. Viz
:doc:`06-reverzni-proxy`.

Požadavky na server
===================

Hardware
--------

================================== ========= ==========
Prostředek                         Minimální Doporučené
================================== ========= ==========
RAM                                4 GB      8 GB
Počet jader CPU                    2         4
Místo na disku pro aplikaci        4 GB      16 GB
Místo na disku pro databázi        15 GB     60 GB
================================== ========= ==========

Minimální hodnoty jsou vhodné pro testování a vývoj. Doporučené hodnoty
odpovídají produkční instanci specializovaného archivu s přibližně deseti
současně pracujícími uživateli. Zátěž je dána zejména:

- počtem současně pracujících uživatelů,
- velikostí největšího archivního souboru (počtem jednotek popisu),
- celkovým počtem archivních souborů,
- počtem archivních entit (zejména při napojení na CAM),
- velikostí generovaných výstupů a připojených souborů.

.. _admin_about_sw:

Software
--------

======================= ======================================
Komponenta              Verze
======================= ======================================
Operační systém         Linux (doporučeno) nebo Windows
Java                    17
PostgreSQL              12 nebo vyšší, s rozšířením PostGIS
======================= ======================================

Jedinou podporovanou databází pro produkční provoz je PostgreSQL
s rozšířením PostGIS. Vložená databáze H2 slouží pouze pro automatické
testy.

Požadavky na klienta
====================

- Aktuální verze prohlížeče Google Chrome, Mozilla Firefox nebo Microsoft
  Edge. Apple Safari je podporován částečně.
- Rozlišení obrazovky alespoň 1280 x 800, doporučeno 1920 x 1080.
- Přibližně 1 GB RAM pro záložku prohlížeče s aplikací.
