Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
nap:fais [2019/10/08 07:41] – ↷ Stránka přesunuta z 'fais' do 'nap:fais' Tomáš Šedivecnap:fais [2023/10/13 09:54] (aktuální) Tomáš Šedivec
Řádek 1: Řádek 1:
-<title>Formulářový agendový informační systém</title>+======Formulářový agendový informační systém======
  
-Formulářový AIS (FAIS) je komponentou [[:iszr|ISZR]], který prostřednictvím speciálních formulářově orientovaných služeb umožňuje požádat o výdej více údajů ze základních registrů a následně zprostředkuje dávkové vydání těchto hromadných údajů. Využívá se pro případy, kdy je stanoveno zákonným zmocněním, že se využívají referenční údaje ve skupinách více subjektů. Takovým případem jsou například výdeje voličských seznamů.+Formulářový AIS (FAIS) je komponentou [[nap:iszr|ISZR]], který prostřednictvím speciálních formulářově orientovaných služeb umožňuje požádat o výdej více údajů ze základních registrů a následně zprostředkuje dávkové vydání těchto hromadných údajů prostřednictvím [[nap:elektronicke_ukony_a_dorucovani|datové schránky]]. Využívá se pro případy, kdy je stanoveno zákonným zmocněním, že se využívají referenční údaje ve skupinách více subjektů. Takovým případem jsou například výdeje voličských seznamů.
  
-FAIS dále slouží k vyřizování výdeje údajů ze základních registrů formou formulářových žádostí do datové schránky ZR a odpovědí do datové schránky žadatele. Takovým způsobem se kupříkladu vyřizují žádosti o výpisy údajů, přehledy o využití údajů apod.+FAIS dále slouží k vyřizování výdeje údajů ze základních registrů formou formulářových žádostí do datové schránky SZR a odpovědí do datové schránky žadatele. Takovým způsobem se kupříkladu vyřizují žádosti o výpisy údajů, přehledy o využití údajů apod. FAIS má rozhraní na [[nap:system_spravy_dokumentu|spisovou službu]] dle [[https://www.mvcr.cz/clanek/narodni-standard-pro-elektronicke-systemy-spisove-sluzby.aspx|Národního standardu pro elektronické systémy spisové služby]]
  
 FAIS tedy poskytuje mimo jiné: FAIS tedy poskytuje mimo jiné:
Řádek 9: Řádek 9:
   *  Voličské seznamy poskytované volebním orgánům obcí   *  Voličské seznamy poskytované volebním orgánům obcí
   *  Výdej hromadných dávek údajů podle oprávnění v příslušné agendě   *  Výdej hromadných dávek údajů podle oprávnění v příslušné agendě
-  *  Vyřízení žádosti subjektu údajů o výpis údajů ze základních registrů +  *  Vyřízení žádosti subjektu práva o výpis údajů ze systémů připojených na referenční rozhraní, tedy celého PPDF  
-  *  Sestavování přehledu výpisu využití údajů zasílaného do datové schránky subjektu údajů+  *  Sestavování přehledu výpisu využití údajů zasílaného do datové schránky subjektu práva
  
 FAIS funguje podle následujících bodů: FAIS funguje podle následujících bodů:
  
-  -  Žadatelem je sestavena žádost o výdej údajů, a ta je odeslána jako formulář do datové schránky ZR+  -  Žadatelem je sestavena žádost o výdej údajů, a ta je odeslána jako formulář do datové schránky SZR
   -  FAIS jako komponenta ISZR si vyzvedne datovou zprávu s formulářem žádosti a zpracuje žádost, přitom ověří oprávnění k údajům a výdej jednotlivých údajů   -  FAIS jako komponenta ISZR si vyzvedne datovou zprávu s formulářem žádosti a zpracuje žádost, přitom ověří oprávnění k údajům a výdej jednotlivých údajů
   -  FAIS po využití služeb ISZR sestaví odpověď, a tu v daném formátu zašle zpět do datové schránky žadatele.   -  FAIS po využití služeb ISZR sestaví odpověď, a tu v daném formátu zašle zpět do datové schránky žadatele.
  
-FAIS není primárně určen k využití agendovými informačními systémy, ale ke zpracování formulářových žádostí ověřených identitou odesílatele žádosti prostřednictvím jeho datové schránky. Pro využití výdeje údajů ze základních registrů slouží agendovým informačním systémům [[:iszr|Služby vnějšího rozhraní ISZR]].+FAIS není primárně určen k využití agendovými informačními systémy, ale ke zpracování formulářových žádostí ověřených identitou odesílatele žádosti prostřednictvím jeho datové schránky. Pro využití výdeje údajů ze základních registrů slouží agendovým informačním systémům [[nap:iszr|Služby vnějšího rozhraní ISZR]]. 
 + 
 +FAIS bude zajišťovat odpovídající proces výdeje údajů prostřednictvím datových schránek pro veškeré údaje publikované na PPDF.  
 + 
 +===== Implementace zpracování hromadných požadavků ===== 
 + 
 +Dále je popsán detailní návrh implementace pro oblast „Zpracování hromadných požadavků“ ve FAIS. 
 + 
 +Primárním cílem hromadného zpracování je řízené využití služeb ISSS, které povede k zásadnímu omezení rizik plynoucích ze vznikajících potřeb hromadného zpracování dat prostřednictvím ISSS. 
 + 
 +==== Zpracování hromadných požadavků ==== 
 + 
 +Obsahem návrhu a implementace požadavku na zpracování hromadných požadavků ve FAIS je obecná implementace příjmu požadavku na hromadné zpracování prostřednictvím ISDS, respektive prostřednictvím služby referenčního rozhraní PPDF a následné zpracování tohoto požadavku prostřednictvím ISSS, respektive ISZR. 
 + 
 +==== Motivace ==== 
 + 
 +Zpracování dat prostřednictvím ISSS je omezeno na zpracování požadavků pro jeden subjekt. V praxi aktuálně vzniká potřeba zpracování dávkových úloh obsahujících rozsáhlou množinu subjektů. V současné době je tato potřeba řešena na úrovni AIS, které v rámci své individuální implementace využívají různé přístupy, které zajišťují rozpad dávkové úlohy na individuální žádosti a zpracování těchto individuálních žádostí prostřednictvím rozhraní webových služeb ISSS. 
 + 
 +Výše popsaný přístup znamená, že AIS může ke své implementaci přistoupit způsobem, který je buď sám o sobě nevyhovující z pohledu zátěže generované na ISSS, respektive může být nevyhovující společně v kombinaci s dalšími AIS, které řeší hromadné zpracování prostřednictvím ISSS. 
 + 
 +Nevyhovujícím přístupem z pohledu ISSS se rozumí potenciální přetěžování jak vlastního ISSS, tak i potenciální přetěžování navázaných služeb ISZR. 
 + 
 +Rizika plynoucí z možného přetěžování ISSS ošetřuje ISSS vlastními kontrolními mechanismy, jejichž výsledkem může být omezování povolených přístupů AIS ke službám ISSS, důsledkem čehož mohou nastávat problémy na straně AIS a jejich business procesů. 
 + 
 +Aby bylo možné řídit zátěž ISSS pro účely dávkového zpracování a efektivně zpracovávat dávkové úlohy, požaduje OHA implementovat efektivní podporu pro dávkové zpracování prostřednictvím úprav systému FAIS, který je součástí implementace ISZR a tedy se i stane součástí referenčního rozhraní PPDF. 
 + 
 +==== Aplikační architektura ==== 
 + 
 +Na následujícím obrázku je znázorněna stávající aplikační architektura FAIS. 
 + 
 +{{ :nap:fais1.png?600 |Obsah obrázku text, diagram, Plán, Technický výkres Popis byl vytvořen automaticky}} 
 + 
 +Interní aplikační komponenty FAIS 
 + 
 +Interní komponenty FAIS jsou realizovány formou objektů vystavujících metody pro provádění příslušných operací. 
 + 
 +  * Příjem z ISDS – komponenta FAIS zabezpečující vyzvedávání a validaci datových zpráv doručených do příslušné datové schránky sloužící pro příjem požadavků na zpracování. 
 +  * Odesílání ISDS – komponenta FAIS slouží pro odesílání výsledků zpracování požadavků formou datových zpráv prostřednictvím definované datové schránky ISDS. 
 +  * WS – komponenta FAIS vystavující rozhraní webových služeb pro příjem a validaci požadavků doručených webovou službou na eGON rozhraní ISZR. 
 +  * Orchestrace – komponenta FAIS zajišťující proces získání dat a přípravu výstupů s využitím dalších podpůrných komponent FAIS a eGON rozhraní ISZR. 
 +  * Logování – komponenta FAIS zajišťující logování průběhu zpracování požadavku. 
 +  * Formátovací šablony – komponenta FAIS poskytující formátovacímu procesu XSLT šablony pro generování výstupů. 
 +  * Formátování výstupů – komponenta FAIS zajišťující sestavení výstupů na základě dat a s využitím formátovacích šablon. 
 +  * Podepisování a pečetění – komponenta FAIS zajišťující s využitím HSM modulu podepisování sestavených PDF výstupů. 
 + 
 +Externí komponenty 
 + 
 +Externí komponenty jsou systémy nebo rozhraní systémů mimo implementační perimetr FAIS. Tyto systémy a rozhraní jsou nutné pro zpracování požadavků doručovaných do systému FAIS. 
 + 
 +  * ISDS – webové služby ISDS, příjem a odesílání datových zpráv. Do datové schránky pro příjem požadavků na formuláře jsou doručovány žádosti o zpracování a výsledek zpracování je odesílán zpět žadateli. 
 +  * ISZR – interní orchestrátor ISZR zpracovávající požadavky na formuláře doručované prostřednictvím webových služeb eGON rozhraní ISZR 
 +  * HSM – HSM modul pro podepisování sestavených PDF výstupů 
 +  * eGON ISZR – eGON rozhraní webových služeb ISZR vystavující služby využívané při zpracování požadavků. 
 + 
 +==== Architektonický model FAIS ==== 
 + 
 +Na následujícím obrázku je znázorněn model technologické infrastruktury FAIS ve vazbě na předchozí model aplikační architektury FAIS. 
 + 
 +{{ :nap:fais2.png?600 |Obsah obrázku diagram, text, Plán, řada/pruh Popis byl vytvořen automaticky}} 
 + 
 +Na logických uzlech FAIS (Fx.DCx – virtuální server v datovém centru DC1 a DC2, tj. STC nebo CP) je spuštěn řídící proces. Na všech serverech jsou nainstalovány všechny interní aplikační komponenty FAIS (viz předchozí kapitola – aplikační role). Konfiguračně je řízeno, jaká konkrétní aplikační komponenta (nebo více komponent, respektive aplikačních rolí) je na konkrétním serveru spuštěna. 
 + 
 +Popsaná architektura umožňuje jednotlivým serverům přiřazovat aplikační role s ohledem na aktuální potřeby (procesně řízeno provozem). 
 + 
 +==== Zpracování hromadných požadavků ==== 
 + 
 +FAIS bude implementovat podporu pro hromadné zpracování vůči ISSS, respektive ISZR. Jde o implementaci nového procesu, který dosud FAIS nepodporuje. 
 + 
 +V následujícím popisu je popsána funkcionalita primárně s ohledem na zpracování HP vůči ISSS, zpracování vůči ISZR je principiálně totožné, pokud jsou ve zpracování rozdílu, jsou v textu uvedeny. 
 + 
 +==== Definice hromadného zpracování ==== 
 + 
 +Hromadným zpracováním se v kontextu FAIS se rozumí zpracování, kdy je technicky zabezpečeno zpracování více než jednoho volání ISSS nebo ISZR na základě jednoho vstupního požadavku do FAIS. 
 + 
 +Jednotlivá volání ISSS, respektive ISZR musí být v rámci zpracování jednoho hromadného požadavku na sobě nezávislá, tj. musí být proveditelná v libovolném pořadí, respektive souběžně. 
 + 
 +Hromadné zpracování je určeno pro provedení více volání ISSS respektive ISZR, kdy je v rámci každého volání zpracováván právě jeden subjekt. Subjektem se rozumí buď subjekt vedený v ROB (identifikovaný jeho AIFO) nebo subjekt vedený v ROS (identifikovaný jeho IČO). 
 + 
 +V rámci hromadného zpracování jsou podporovány operace jednoho typu, tj. buď zápis, nebo čtení, nad jedním typem subjektu a v jednom kontextu. 
 + 
 +V rámci hromadného zpracování budou existovat logická omezení oproti případnému řešení na straně AIS. Tato omezení jsou vyvážena zjednodušením a zefektivněním procesu zpracování, omezením rizik přetížení ISSS a ISZR, a zjednodušením implementace na straně AIS v oblasti hromadného zpracování. 
 + 
 +==== Přínosy hromadného zpracování ==== 
 + 
 +Hromadné zpracování bude generovat přínosy na prakticky všech stranách zúčastněných v procesu zpracování: 
 + 
 +  * Pro ISSS a ISZR bude přínosem optimalizace procesu, snížení nutné zátěže systému a omezení rizik přetížení těchto systémů. 
 +  * Pro AIS žadatelů bude přínosem zjednodušení implementace procesu generování hromadných požadavků. Na straně AIS žadatelů nebude nutné řešit mechanismy řídící zátěž vůči ISSS a ošetřovat chybové stavy plynoucí z potenciálních problémů přetížení ISSS, požadavky AIS budou zpracovány optimálně. 
 +  * Pro AIS poskytovatelů služeb prostřednictvím ISSS (PAIS a AISSÚ) bude výsledkem implementace omezení potenciálních rizik plynoucích z generování současné zátěže z více AIS žadatelů, tzn., že požadavky budou přicházet řízeně. 
 + 
 +==== Omezení hromadného zpracování ==== 
 + 
 +Zpracování hromadných požadavků bude mít následující základní omezení: 
 + 
 +  * Předávání dat prostřednictvím souborů, případně vyzvednutí souboru na ISSS si musí zajistit žadatel voláním služby ISSS. 
 +  * Nelze provést současnou specifikaci primární entit různých typů (subjekt ROB a subjekt ROS). 
 +  * Velikost požadavku je omezena maximální možnou velikostí volání webové služby (bude definováno v provozních parametrech služby), respektive maximální možnou velikostí datové zprávy. 
 + 
 +==== Princip hromadného zpracování ==== 
 + 
 +Z principu je hromadné zpracování asynchronní proces, zpracování řídí FAIS dle aktuálního provozního stavu systému. V procesu hromadného zpracování existují z pohledu žadatele dva kroky: 
 + 
 +  * Předání hromadného požadavku a obdržení potvrzení o jeho přijetí FAIS 
 +  * Získání odpovědi 
 + 
 +==== Předání hromadného požadavku ==== 
 + 
 +Předání požadavku na hromadné zpracování může být provedeno buď voláním webové služby nebo datovou zprávou prostřednictvím ISDS. Na následujícím diagramu je znázorněn proces předání požadavku ke zpracování. 
 + 
 +{{ :nap:fais3.png?600 |Obsah obrázku text, diagram, Plán, Paralelní Popis byl vytvořen automaticky}} 
 + 
 +Popis procesu pro jednotlivé vstupní rozhraní je uveden v následujících podkapitolách. 
 + 
 +==== Identifikátor hromadného požadavku ==== 
 + 
 +Každému hromadnému požadavku bude na vstupu FAIS přidělen globální identifikátor transakce. Účelem tohoto identifikátoru bude kromě jednoznačné identifikace v rámci FAIS také příprava na integraci na jednotné logovací a auditní prostředí RR PPDF. 
 + 
 +Tento globální identifikátor transakce bude v rámci procesu zpracování průběžně využíván při předávání požadavků mezi systémy, pokud to bude příslušný systém umožňovat, respektive bude připraven k předání tak, aby byla dodržena koncepce budoucí integrace na jednotné logovací a auditní prostředí RR PPDF. 
 + 
 +==== Formát hromadného požadavku ==== 
 + 
 +Hromadný požadavek bude předáván v XML souboru definovaném XSD schématem. Návrh XML je optimalizován pro účely hromadného zpracování. 
 + 
 +Základní řídící informace budou definovány typově fixovanou strukturou, vlastní data určená pro hromadné zpracování budou v XML vložena jako CDATA nebo odkazem. 
 + 
 +V principu jsou součástí požadavku informace jako identifikace žadatele, identifikace požadované operace, identifikace subjektů, a další datové položky detailně specifikující požadavek na zpracování. 
 + 
 +==== Předání požadavku webovou službou ==== 
 + 
 +Základní princip zpracování hromadných požadavků zasílaných webovou službou bude následující: 
 + 
 +  * Žadatel odešle na definované rozhraní webové služby požadavek ke zpracování. Požadavek bude předán prostřednictvím XML dokumentu v definovaném formátu, tento XML dokument bude součástí volání webové služby. 
 +  * FAIS provede validaci požadavku s ohledem na způsob doručení webovou službou. 
 +    * Validní požadavky jsou předány do procesu orchestrace, žadatel dostane v odpovědi na volání přidělený identifikátor požadavku a informaci o přijetí. 
 +    * Pro nevalidní požadavky dostane žadatel v odpovědi identifikátor požadavku, informaci o nepřijetí a informaci o důvodu nepřijetí. Zpracování je ukončeno. 
 + 
 +Poznámka: požadavky předávané webovou službou mohou obsahovat AIFO pro specifikaci subjektů ROB. Pro případné předání identity subjektů ROB je možné volitelně použít i úložku AIFO (služba ISZR E175 ulozMapaAifo). FAIS je součástí referenčního rozhraní a jako důvěryhodný systém vůči ISZR bude mít automaticky implicitní přístup pro čtení úložky AIFO). 
 + 
 +==== Technická implementace rozhraní webové služby pro příjem HP ==== 
 + 
 +V současném stavu referenčního rozhraní PPDF je rozhraní FAIS pro konzumenty dostupné prostřednictvím eGON rozhraní ISZR. Stejným způsobem bude dostupné rozhraní webových služeb FAIS pro zpracování hromadných požadavků. 
 + 
 +Poznámka: ISZR zprostředkovává ve stávající architektuře dostupnost FAIS na eGON rozhraní, tento stav bude využit i pro příjem hromadných požadavků. V budoucnu v rámci rozvoje konceptu RR PPDF, kdy bude FAIS integrální součástí referenčního rozhraní, bude možné tento mezikrok vypustit. 
 + 
 +Hromadné požadavky budou přijímány prostřednictvím eGON služby E153 iszrZpracujFormular. Tato eGON služba je připravena na příjem obecného XML, prostřednictvím kterého budou zadávány hromadné požadavky. Současně bude možné touto službou získat informace o stavu zpracování HP a výsledek zpracovaného HP. 
 + 
 +==== Předání požadavku datovou schránkou ==== 
 + 
 +Základní princip zpracování hromadných požadavků zasílaných přes datovou schránku bude následující: 
 + 
 +  * Žadatel odešle do definované technické datové schránky požadavek ke zpracování. Požadavek bude popsán prostřednictvím XML souboru v definovaném formátu, který bude přílohou odeslané datové zprávy. 
 +  * FAIS provede vyzvednutí datové zprávy z technické datové schránky a provede validaci požadavku s ohledem na způsob doručení prostřednictvím ISDS. 
 +    * Validní požadavky jsou předány do procesu orchestrace. FAIS odešle datovou zprávu o přijetí požadavku ke zpracování do datové schránky odesílatele hromadného požadavku, zohlední identifikátory zdrojové DZ, číslo jednací, respektive spisovou značku. 
 +    * Pro nevalidní požadavky je vytvořen PDF a XML protokol o zamítnutí požadavku, který je vložen do výstupní fronty pro odeslání datovou zprávou. Výstup (PDF i XML) obsahuje identifikátor požadavku, informaci o nepřijetí a informaci o důvodu nepřijetí. Zpracování je ukončeno. 
 + 
 +Poznámka: požadavky předávané datovou schránkou nesmí obsahovat AIFO pro specifikaci subjektů ROB. Případné předání identity subjektů ROB je možné výhradně úložku AIFO (služba ISZR E175 ulozMapaAifo). FAIS je součástí referenčního rozhraní a jako důvěryhodný systém vůči ISZR bude mít automaticky implicitní přístup pro čtení úložky AIFO. 
 + 
 +==== Stavy zpracování hromadného požadavku ==== 
 + 
 +Stavy zpracování hromadného požadavku ve FAIS jsou znázorněny na následujícím obrázku. 
 + 
 +{{ :nap:fais4.png?600 |Obsah obrázku text, snímek obrazovky, kruh, Písmo Popis byl vytvořen automaticky}} 
 + 
 +Stavy požadavku jsou: 
 + 
 +  * Nový – požadavek je vytvořen a čeká na zahájení validace. V principu je relevantní pouze pro požadavky doručené do datové schránky, požadavky doručené webovou službou jsou buď přijaté, nebo zamítnuté. 
 +  * Přijatý – požadavek je validní a čeká na zahájení zpracování. 
 +  * Zamítnutý – požadavek je nevalidní, existuje výsledek s informací o chybě. 
 +  * Probíhá zpracování – pro validní požadavek probíhá zpracování. 
 +  * Zpracovaný – zpracování bylo dokončeno, existuje validní výsledek s informací o výsledku zpracování. 
 + 
 +Poznámka: informace o tom, zda byla žadateli, v případě iniciace prostřednictvím ISDS, odeslána DZ o přijetí / zamítnutí / odeslání výsledku bude řešena samostatnými příznaky spojenými s informací o ID DZ, tj. například stav = Zamítnutý, DS o zamítnutí = odeslána + ID DZ. Tyto příznaky se pro iniciaci WS nevyužívají. 
 + 
 +==== Orchestrace zpracování ==== 
 + 
 +  * FAIS zajistí optimalizované zpracování požadavku. 
 +  * FAIS předá výsledek zpracování požadovaným způsobem na výstup. 
 + 
 +Jednotlivé kroky orchestrace realizované na straně FAIS jsou popsány v následujících kapitolách. 
 + 
 +====  Validace požadavku ==== 
 + 
 +==== Formální validace ==== 
 + 
 +V rámci formální validace je zkontrolován formát požadavku (XML) vůči stanovenému schématu – viz kapitoly //Formát hromadného požadavku// a splnění logických pravidel na obsah požadavku. 
 + 
 +V rámci hlavičky požadavku jsou zkontrolovány údaje nutné pro ověření oprávnění, specifikaci požadované operace a řídící informace. 
 + 
 +V rámci těla požadavku je zkontrolována provázanost požadované operace, šablony požadavku a optimalizovaných dat. Je ověřena existence a konzistence datových vět v rámci optimalizovaných dat a podobně. 
 + 
 +==== Validace oprávnění ==== 
 + 
 +Pro přístup k datům publikovaným prostřednictvím RR je třeba validovat oprávnění žadatele v rámci výkonu agendy. Atributy nutné pro ověření přístupu musí žadatel předat v rámci hlavičky požadavku. 
 + 
 +V hlavičce požadavku musí žadatel specifikovat následující údaje: 
 + 
 +  * Kód OVM (nebo SPUU) 
 +  * Kód agendy 
 +  * Kód činnosti 
 +  * Kód AIS 
 +  * Subjekt 
 +  * Uživatel 
 +  * Důvod nebo účel 
 + 
 +Při validaci oprávnění se ověří, zda údaje uvedené v těle požadavku odpovídají známým informacím: 
 + 
 +  * Kombinace OVM/SPUU, agenda, činnost, AIS je vedena v RPP (s využitím služeb online matice oprávnění) a oprávněna využívat požadované údaje v členění dle katalogu RPP. 
 + 
 +Dále se ověří, že žadatel vyplnil hodnoty subjekt, uživatel a důvod nebo účel. 
 + 
 +==== Validace požadavku doručeného webovou službou ==== 
 + 
 +U požadavků doručených webovou službou se navíc oproti společným validacím ověří, že: 
 + 
 +  * Žadatel volající webovou službu (metadata procesu) odpovídá specifikaci v hlavičce. Tj. údaje hlavičky HP odpovídají žadateli o eGON službu (ZadostInfo). 
 + 
 +==== Validace požadavku doručeného přes datovou schránku ==== 
 + 
 +U požadavků doručených prostřednictvím ISDS se navíc oproti společným validacím ověří, že: 
 + 
 +  * datová schránka odesílatele (metadata procesu) je zapsána pro OVM (SPUU) v ROS z hlavičky HP. 
 + 
 +==== Věcná validace ==== 
 + 
 +V rámci věcné validace jsou provedeny podle obsahu řídících dat následující operace: 
 + 
 +  * Přečtení seznamu AIFO (hlavička požadavku nebo úložka AIFO) 
 +  * Přečtení seznamu IČO (hlavička požadavku) 
 +  * Ověření údajů hlavičky 
 +  * Ověření existence šablony a datových vět 
 + 
 +==== Zpracování validního požadavku ==== 
 + 
 +Validní požadavek je požadavek splňující všechna validační pravidla. Po úspěšném provedení validace je požadavek uložen do interního úložiště FAIS, ze kterého je následně přejímán k dalšímu zpracování. 
 + 
 +Interní úložiště validovaných požadavků funguje na principu fronty, ze které jsou položky vybírány ke zpracování orchestrační komponentou (jedna nebo více instancí – v závislosti na dostupné infrastruktuře prostředí a konfiguraci). 
 + 
 +Komponenty FAIS a proces zajišťující zpracování hromadných požadavků jsou znázorněny na následujícím obrázku. 
 + 
 +{{ :nap:fais5.png?600 |Obsah obrázku text, diagram, Plán, Nalepovací papírek Popis byl vytvořen automaticky}} 
 + 
 +==== Princip zpracování validního hromadného požadavku ==== 
 + 
 +FAIS nově obsahuje komponentu (službu) – HPIniciator - zajišťující zpracování validních hromadných požadavků – požadavků ve stavu „Přijatý“. 
 + 
 +FAIS provede změnu stavu hromadného požadavku do stavu „Probíhá zpracování“. Následně FAIS dekomponuje vstupní hromadný požadavek na individuální požadavky, u nichž si zaznamená informace o zdrojové hromadné žádosti (čas, celkový počet nutných volání, kontext volání) a tyto dekompozice si uloží ke zpracování). 
 + 
 +Komponenta pro individuální zpracování – HPProces - má definovaný počet vláken, ve kterých provádí zpracování individuálních požadavků. Počet těchto vláken je závislý na aktuálním množství HW zdrojů (na kolika HW prostředcích je komponenta spuštěna, jaké má k dispozici systémové zdroje). 
 + 
 +Po zpracování všech dekomponovaných požadavků jednoho hromadného požadavku je sestavena hromadná odpověď a hromadný požadavek interně označen jako zpracovaný. 
 + 
 +Výsledek zpracovaného hromadného požadavku obslouží k tomu určená samostatná komponenta (služba) FAIS – HPVysledek, která buď připraví výsledek pro proces iniciovaný voláním webové služby, nebo zajistí kroky nutné pro odeslání odpovědi datovou schránkou. Tento proces je popsán v kapitole //Předání výsledku zpracování//
 + 
 +==== Bezpečnostní aspekty zpracování ve FAIS ==== 
 + 
 +Princip zpracování je založený na tom, že FAIS zprostředkovává optimalizovaná individuální volání ISSS a ISZR v zastoupení za žadatelské AIS. 
 + 
 +V okamžiku zahájení zpracování validního požadavku je z předchozího zpracování ve FAIS zajištěno, že: 
 + 
 +  * Požadavek je syntakticky správný 
 +  * Žadatel je oprávněn k volání požadavku prostřednictvím ISSS, 
 + 
 +FAIS je v tomto okamžiku součástí interních komponent referenčního rozhraní PPDF a může využít optimalizovaný přístup k ISZR a ISSS na základě prokázání svojí identity obdobně jako již prokazuje svoji identitu ISSS vůči ISZR. 
 + 
 +FAIS v aktuálním stavu implementace prokazuje svoji identitu vůči ISZR na základě vlastnictví privátního klíče certifikátu vydaného CA SZR, totožný certifikát bude používán i při komunikaci s ISSS. 
 + 
 +==== Zpracování požadavku a optimalizace výkonu a zátěže na ISZR a ISSS ==== 
 + 
 +Optimalizace výkonu a zátěže ISZR a ISSS bude spočívat ve dvou oblastech: 
 + 
 +  * Odstranění redundantních kontrol 
 +  * Optimalizace současného volání ISSS (a v důsledku následně ISZR, PAIS a AISSÚ) 
 + 
 +==== Stávající proces zpracování požadavku prostřednictvím ISSS ==== 
 + 
 +Proces zpracování jednoho typického volání služby ISSS je následující: 
 + 
 +  - Ověření oprávnění žadatele prostřednictvím eGON služby ISZR 
 +  - Operace s AIFO na vstupu (úložka AIFO) 
 +  - Operace s IČO na vstupu 
 +  - Předání do PAIS / AISSÚ 
 +  - Operace s AIFO na výstupu (úložka AIFO) 
 +  - Operace s IČO na výstupu 
 +  - Čtení AIFO 
 +  - Čtení IČO 
 + 
 +To, které z výše uvedených operací jsou pro konkrétní požadavek provedeny, závisí na datech požadavku. Vždy je provedena minimálně jedna z operací 1, 2, 3, vždy je provedena operace 4, a podle dat jsou provedeny některé z operací 5, 6, 7 a 8. 
 + 
 +Uvedený proces je znázorněn na následujícím obrázku. 
 + 
 +{{ :nap:fais6.png?600 |Obsah obrázku text, diagram, číslo, Paralelní Popis byl vytvořen automaticky}} 
 + 
 +Každé volání služby ISZR, jak je znázorněno i na obrázku výše, vyžaduje samostatné ověření oprávnění (autorizaci) procesem „Přístupová vrstva eGON rozhraní ISZR“. 
 + 
 +V případě zpracování hromadných požadavků je počet nutných operací autorizace v ISZR násoben počtem subjektů předávaných v rámci hromadného zpracování, přičemž provedení operace autorizace vyžaduje v ISZR nezanedbatelný čas a konzumuje (s ohledem na počty souběžných volání ISZR obecně) nezanedbatelné množství systémových zdrojů. 
 + 
 +==== Optimalizace redundantních kontrol ==== 
 + 
 +V rámci optimalizovaného procesu zpracování na ISSS na základě bezpečně prokázané identity volajícího AIS (vůči ISSS je touto identitou v tomto okamžiku FAIS) lze: 
 + 
 +Při volání z FAIS na straně ISSS neprovádět kontrolu oprávnění prostřednictvím služeb ISZR. 
 +Při volání ISZR v rámci zpracování požadavku iniciovaném v ISSS prostřednictvím FAIS na straně ISZR neprovádět kontrolu oprávnění interními mechanismy ISZR. 
 +ISSS a ISZR pro tyto účely budou na svém rozhraní umožňovat důvěryhodné předání informace o prokázané identitě žadatele a prokázaných oprávněních žadatele. 
 + 
 +Princip optimalizace je znázorněn na následujícím obrázku. 
 + 
 +{{ :nap:fais7.png?600 |Obsah obrázku text, diagram, řada/pruh, Paralelní Popis byl vytvořen automaticky}} 
 + 
 +Namísto opakovaného ověřování oprávnění na všech úrovních je v rámci přípravy implementace koncepce referenčního rozhraní PPDF prováděno předávání informace o prokázané identitě a prokázaných oprávněních, na základě které se lze vyhnout opakovaným komplexním procesům ověřování oprávnění v rámci individuálních voláních mezi komponentami RR PPDF (ISZR, ISSS, FAIS). 
 + 
 +Procesy „eGON-d WS *“ tedy postihují modifikaci standardního volání eGON služby zahrnující převzetí a ověření důvěry volajícího. 
 + 
 +Poznámka: v případě přímého volání z AIS na ISSS (mimo proces zpracování HP FAIS) provede iniciální kontrolu ISSS a informaci o provedení kontroly předá do ISZR. V procesu zpracování HP je kontrola předsunuta před ISSS a provede se pro každý HP právě jednou. 
 + 
 +==== Optimalizace současného volání ISSS ==== 
 + 
 +Optimalizace současného volání ISSS je prováděna na základě dvou skutečností: 
 + 
 +  * FAIS v konkrétním okamžiku zná požadavky, které musí prostřednictvím ISSS zpracovat a může tedy zajistit, že sám o sobě nebude generovat zátěž, která by sama o sobě generovala riziko přetížení ISSS (nebo PAIS/AISSÚ). 
 +  * FAIS jako interní komponenta referenčního rozhraní PPDF může optimalizovat volání na základě znalosti aktuálního zatížení ISSS. 
 +  * FAIS při výběru individuálních požadavků ke zpracování vytváří logické fronty pro jednotlivé datové kontexty. Jednotlivé fronty jsou zpracovávány cyklicky. Z každé z těchto front pak vybírá a paralelně zpracovává požadavky tak, aby v konkrétním kontextu nebyla překročena definovaná hranice současného počtu žádostí per kontext. Výběr požadavků z fronty probíhá pseudonáhodně, se zohledněním data doručení hromadného požadavku a pořadí individuálního požadavku tak, aby zpracování jednoho hromadného požadavku nezpůsobilo dlouhodobé odložení zpracování jiných hromadných požadavků. 
 +  * FAIS jako interní komponenta RR PPDF má přístup k aktuálním stavovým informacím ISSS a na základě těchto informací může dynamicky řídit zátěž generovanou vůči ISSS. FAIS získává aktuální informace o stavu zátěže v rámci zpracování jednotlivých požadavků a tyto informace pak bere v úvahu při výběru dalších požadavků čekajících na zpracování. 
 +Parametry pro optimalizaci známé při běhu: 
 +  * P - Aktuální počet dekomponovaných požadavků zpracovávaných v ISSS 
 +  * Pk - Aktuální počet dekomponovaných požadavků na kontext v ISSS 
 +  * I – Aktuální průměrná zátěž ISZR 
 +  * Omezující parametry pro optimalizaci: 
 +  * M – Maximální počet paralelních požadavků vůči ISSS 
 +  * Mk – Maximální počet paralelních požadavků na kontext v ISSS 
 +  * Imax – Maximální zátěž ISZR včetně FAIS HP 
 +  * Počet požadavků, pro které FAIS v daném okamžiku zahájí zpracování: 
 +  * S = Imax – I – P 
 +Zpracování je zahajováno periodicky v definovaných intervalech (konfigurace – řádově sekundy) 
 + 
 +==== Prioritizace požadavků ==== 
 + 
 +FAIS v této popisované verzi nepodporuje funkci prioritizace hromadných požadavků. 
 + 
 +Prioritizace spočívá v zavedení vhodných mechanismů pro výběr pořadí, v jakém jsou požadavky vybírány ke zpracování. V současné době nejsou jasné požadavky na způsob prioritizace a implementace mechanismů by byla založena na více či měně uměle smyšlených potřebách. Podporu prioritizace bude možné implementovat v budoucnu. 
 + 
 +==== Ošetření výsledku operace ==== 
 + 
 +V rámci zpracování výsledku volání ISSS ošetřuje FAIS chybové stavy, které je možné z principu ošetřit na jeho úrovni. Jde o následující stavy: 
 + 
 +  * Nedostupnost ISSS 
 +  * Nedostupnost ISZR (v rámci zpracování na ISSS) 
 +  * Nedostupnost PAIS/AISSÚ (v rámci zpracování na ISSS). 
 +  * Ošetření těchto stavů řeší FAIS dočasným pozastavením zpracování v úrovni, která příslušnému stavu odpovídá. 
 +  * V případě nedostupnosti ISSS nebo ISZR pozastavuje FAIS kompletně zpracování hromadných požadavků. Znovuspuštění po zastavení se provádí automaticky pokusem o opakované provedení nejstaršího čekajícího individuálního požadavku. 
 + 
 +Poznámka: nedostupnost rozhraní ISZR anebo ISSS je vždy dočasná provozní záležitost, tj. tato událost se ošetří automaticky a není třeba provádět další činnosti. Žadatel, pokud má pochybnosti, může získat informaci o stavu zpracování. 
 + 
 +Informace o stavu zpracování je dostupná v administraci FAIS a je možné ji monitorovat prostřednictvím standardních dohledových nástrojů v rámci provozní infrastruktury, viz kapitola //Provozní monitoring//
 + 
 +Ostatní chybové stavy jsou propagovány do výsledku zpracování hromadného požadavku pro zdrojový AIS. 
 + 
 +==== Sestavení výsledku pro předání žadateli ==== 
 + 
 +Výsledek odpověď pro předání žadateli je dán sjednocením jednotlivých odpovědí individuálních požadavků. 
 + 
 +Takto sestavená odpověď, pokud by byla řešena jedním „dokumentem“, by však mohla překročit technické limity pro předání odpovědi prostřednictvím podporovaných rozhraní. Toto FAIS ošetřuje zavedením možnosti dělení odpovědi na části při předání výsledku. 
 + 
 +Interně tedy FAIS výsledek nesestavuje průběžně při zpracování ani při dokončení všech individuálních požadavků, ale připravuje jej až v okamžiku, kdy je předáván žadateli, způsob sestavení je uveden v kapitole //Předání výsledku zpracování// v členění podle možných způsobů předání. 
 + 
 +==== Předání výsledku zpracování ==== 
 + 
 +==== Formát výsledku ==== 
 + 
 +Technický výsledek je vždy předáván jako XML dokument, který se skládá z hlavičky, popisující předávaná data a z datové části obsahující výsledky zpracování individuálních požadavků. 
 + 
 +V hlavičce je uvedeno: 
 + 
 +  * Identifikátor hromadného požadavku 
 +  * Datum, čas a výsledek zpracování 
 +  * Identifikátor výsledku, pořadí výsledku a celkový počet výsledků (počet výsledků je větší než jedna v případě, kdy je překročeno technické omezení pro velikost předávaných dat). 
 + 
 +==== Předání AIFO na výstupu ==== 
 + 
 +Seznam AIFO je předáván v případě, že je ve výstupu alespoň jednoho individuálního požadavku uvedena neprázdná MapaAifo. 
 + 
 +Předání může být provedeno dvěma způsoby, přičemž pro hromadný požadavek iniciovaný datovou zprávou připadá v úvahu pouze jeden z těchto způsobů: 
 + 
 +  * Předání v MapaAifo (pouze pro HP iniciované webovou službou) 
 +  * Předání prostřednictvím úložky AIFO 
 +  * Volbu způsobu předání volí žadatelský AIS při iniciaci HP (viz //Řídící data//). 
 +  * V případě předaní prostřednictvím MapaAifo obsahuje výstup seznam MapaAifo, kde je každá položka seznamu vázána na konkrétní individuální požadavek prostřednictvím gsbZadostId. 
 +  * V případě předání prostřednictví úložky AIFO obsahuje výstup seznam ID úložek AIFO, kde je každá položka seznamu vázána na konkrétní individuální požadavek prostřednictvím gsbZadostId. 
 + 
 +Poznámka: MapaAifo jednotlivých individuálních výsledků nejsou na výstupu slučována do jedné množiny, protože každá odpověď má individuální vazbu. 
 + 
 +==== Předání výsledku webovou službou ==== 
 + 
 +Zpracování HP je z pohledu AIS žadatele asynchronní proces. Získání výsledku zpracování HP si ošetřuje žadatelský AIS ve vlastní režii voláním FAIS (popis rozhraní FAIS viz kapitola //Rozhraní WS FAIS pro hromadné požadavky//) prostřednictvím eGON služby ISZR E153. 
 + 
 +Poznámka: WS služby FAIS jsou pro konzumenty zprostředkovány prostřednictvím eGON služby ISZR E153. 
 + 
 +==== Vyzvednutí výsledku žadatelem ==== 
 + 
 +V kompetenci AIS žadatele je dotaz na stav zpracování HP. Prostřednictvím WS může AIS žadatele jednak číst stav zpracování HP, jednak získat výsledek zpracování. 
 + 
 +AIS žadatele kontroluje periodicky stav zpracování hromadného požadavku. Podle aktuálního stavu zpracování pak přizpůsobuje četnost kontroly. 
 + 
 +==== Periodické čtení stavu a omezení četnosti volání ==== 
 + 
 +FAIS implementuje interní mechanismy na řízení zátěže při zpracování HP. Jedním z těchto mechanismů je ochrana proti nadměrnému přetěžování při získávání informací o stavu zpracování, respektive při pokusech o vyzvednutí výsledku dosud nezpracovaného požadavku. 
 + 
 +V případě zjištění opakovaného volání operací dotazu na stav požadavku, respektive čtení odpovědi dosud nedokončeného požadavku může FAIS operaci odmítnout bez zahájení jejího provádění. 
 + 
 +Důvod odmítnutí z důvodu nadměrného opakování bude uveden v odpovědi pro volající AIS v souladu s implementací požadavku na řízení zátěže na externím rozhraní ISZR. 
 + 
 +==== Podpora asynchronního PUSH režimu na ISSS ==== 
 + 
 +Speciální funkcionalitou rozšiřující zpracování HP je podpora asynchronního PUSH režimu ISSS. 
 + 
 +FAIS bude podporovat asynchronní režim ISSS s podporou aktivního doručení odpovědi do AIS. V tomto režimu zajistí FAIS iniciaci všech individuálních požadavků na ISSS v asynchronním PUSH režimu, přičemž konzumentem PUSH operace výsledku bude přímo AIS žadatele. 
 + 
 +V tomto režimu bude výsledek zpracování individuálního požadavku doručen na žadatelský AIS přímo z ISSS. AIS obdrží výsledek individuálního zpracování ihned po zpracování na ISSS a nemusí čekat na dokončení kompletního zpracování ve FAIS. 
 + 
 +Tento režim je řízen prostřednictvím specifikace v řídících datech HP, viz kapitola //Identifikace operace//
 + 
 +Příjem asynchronního výsledku z ISSS je standardně definován v dokumentaci ISSS (chování, požadavky na AIS na vystavení cílového bodu pro příjem výsledku, jeho registraci v ISSS , atd.). 
 + 
 +Poznámka: ISSS současně s dokončením asynchronního zpracování kromě odeslání výsledku na žadatelský AIS notifikuje o dokončení zpracování i FAIS, viz kapitola Notifikace z ISSS o dokončení individuálního požadavku. V případě neúspěchu notifikace ISSS notifikuje individuální požadavky do FAIS opakovaně v definovaných intervalech, přičemž v případě detekce dočasného selhání konektivity je proces notifikace na straně ISSS uspán a probuzen po definované době. 
 + 
 +==== Předání výsledku datovou zprávou ==== 
 + 
 +Výsledek je předán datovou zprávou do datové schránky, ze které byla žádost provedena. 
 + 
 +Při předání výsledku je podporována vazba prostřednictvím čísla jednacího, respektive spisové značky, pokud je žadatel specifikoval v jím zaslané iniciační datové zprávě. 
 + 
 +==== Požadavek zpracován ==== 
 + 
 +Pokud bude provedena alespoň jedna požadovaná operace, pak bez ohledu na její výsledek bude do výstupní datové zprávy předáno definované XML s výsledkem zpracování. 
 + 
 +V případě, že by velikost výsledku překročila maximální povolenou velikost, bude předání provedeno ve více datových zprávách, z XML je patrná informace o rozdělení, aktuální části a celkovém počtu datových zpráv, ze kterých se skládá výsledek. 
 + 
 +==== Požadavek nezpracován ==== 
 + 
 +Pokud nebude možné z nějakých důvodů požadavek zpracovat, tzn., že nebude provedena žádná požadovaná operace, bude výstupní datová zprava obsahovat PDF s popisem chyby a současně XML v definované struktuře, obsahující informaci o chybě. 
 + 
 +==== Provozní podpora zpracování hromadných požadavků ==== 
 + 
 +==== Stav zpracování požadavku pro žadatele ==== 
 + 
 +Informace o stavu zpracování hromadného požadavku lze získat jak pro požadavky iniciované prostřednictvím webové služby, tak pro požadavky iniciované prostřednictvím datové zprávy. Při čtení informace o stavu hromadného zpracování musí být na vstupu uveden minimálně buď: 
 + 
 +  * Identifikátor hromadného požadavku zadaný z AIS (musí být jedinečný v rámci AIS, zabezpečuje AIS). 
 +  * Identifikátor přidělený identifikátor žádosti ve FAIS 
 +  * Identifikátor vstupní datové zprávy (pro žádosti doručené přes ISDS). 
 + 
 +Pro získání informace o stavu zpracování je možné použít pouze rozhraní webových služeb. Popis je uveden v kapitole //Dotaz na stav požadavku//
 + 
 +==== Přehled hromadných požadavků ==== 
 + 
 +V uživatelském rozhraní FAIS (řídící pult FAIS) je možné zobrazovat přehled hromadných požadavků. 
 + 
 +Primárním cílem tohoto přehledu je podpora provozu, pro zobrazení výstupu bude nutné zadat filtry pro zobrazení. 
 + 
 +Požadavky bude možné vyhledat: 
 + 
 +  * Dle identifikátoru konkrétní operace na vstupu, ve FAIS, v ISZR nebo v ISSS 
 +  * Dle identifikátoru datové zprávy 
 +  * Dle identifikátoru volání webové služby 
 +  * Dle data doručení do DS nebo přijetí WS 
 +  * Zobrazit dosud nedokončené požadavky 
 + 
 +==== Provozní monitoring ==== 
 + 
 +==== API pro provozní monitoring ==== 
 + 
 +FAIS v souvislosti s implementací hromadného zpracování vystavuje pro infrastrukturní nástroje monitorovací rozhraní, prostřednictvím kterého lze průběžně monitorovat provozní stav FAIS. V rámci tohoto rozhraní jsou dostupné informace: 
 + 
 +  * Stav komunikace FAIS s ISSS/ISZR (dostupný / nedostupný) 
 +  * Stav komunikace ISSS s PAIS/AISSÚ (dostupný / nedostupný) 
 +  * Stav logických front pro jednotlivé kontexty (fronta, počet čekajících požadavků, čas nejstaršího a nejnovějšího požadavku) 
 +  * Počty hromadných požadavků seskupené dle stavu požadavku 
 + 
 +Monitorovací rozhraní je dostupné prostřednictvím http protokolu v rámci interní sítě. 
 + 
 +Rozhraní tohoto API je dostupné na adrese **IszrFaisHPMon/Full** v rámci webového rozhraní webových služeb FAIS. Výstupní formát rozhraní je JSON. 
 + 
 +==== Provozní monitoring v ŘP FAIS ==== 
 + 
 +Informace o provozním stavu vystavované prostřednictvím API pro provozní monitoring (popsané v předchozí kapitole //API pro provozní monitoring//) jsou dostupné i v uživatelském rozhraní FAIS. 
 + 
 +V ŘP FAIS jsou výše popsané informace dostupné v menu **Monitoring** / **Hromadné požadavky**. 
 + 
  
 {{tag>FAIS "Referenční rozhraní" "Funkční celek"}} {{tag>FAIS "Referenční rozhraní" "Funkční celek"}}