KS, verze 8.4 - příručka aplikace
-------------------------------------------------------------------------------

Instalace:

KS je dodáván jako zip soubor. Do systému se neinstaluje, pouze se provede
rozbalení do vhodného adresáře např. C:\PSE.
Struktura souboru v archivu je nasledujicí:
 KS-8.4        - hlavní adresář
   doc         - dokumentace, sql scripty pro založení tabulek atd.
   jdbc        - jdbc drivery pro db
   lib         - obsahuje všechny jar soubory, mimo jdbc ovladačů
   bin         - obsahuje spouštecí skripty a spustitelné soubory
   work        - pracovní adresář, obsahuje jednotlivá pracovní prostředí
     _template - vzorový pracovní adresář
       conf    - adresář s konfiguracema
       log     - adresář obsahující logy
     prod      - produkční prostředí
       conf    - adresář s konfiguracema
       log     - adresář obsahující logy
     test      - testovací prostředí
       conf    - adresář s konfiguracema
       log     - adresář obsahující logy


Uživatele, kteří budou KS používat, musí mít nastaveno oprávnění na čtení na
celou adresářovou strukturu KS, a pro adresáře work\*\conf a work\*\log i
práva na zápis.

-------------------------------------------------------------------------------
Požadavky:

KS vyžaduje pro běh prostředí Java verze 11 nebo novější.
Adresář s instalací Javy musí být nastaven v sytémové proměnné
KS_JAVA_HOME. Pokud proměnná není vyplněna, bere se do úvahy
proměnná JAVA_HOME.
 Pokud není možno mít z nějakého důvodu nastavenu systémovou
proměnnou, pak je možno upravit spouštěcí script ks.bat.
Provede se nastavení proměnné přímo zde a odkomentováním (smazáním slova REM)
řádku:

    REM set KS_JAVA_HOME=c:\java\jdk-11.0.6

Systém, na kterém je KS nainstalován, musí mít v DNS nastaveny záznamy dle
souboru doc/PXInternalServices.pdf pro následující servery:

 alfa-prg-sc.pse.cz
 alfa-tst-sc.pse.cz
 
Dále je potřeba mít nastaven prostup na FW pro výše uvedené adresy pro 
následující TCP/IP porty: 10001, 10002

V prostředí Windows je soubor s nastavením DNS záznamů umístěn zde:
C:\Windows\System32\Drivers\etc\hosts

-------------------------------------------------------------------------------
JDBC drivery:

KS obsahuje JDBC ovladače pro následující DB:
    Postgresql    - verze 42.7.13
    Microsoft SQL - verze 13.4.0.jre11

Při použítí jiného DB systému je potřeba nahrát příslušné .jar soubory do
adresáře jdbc v instalačním adresáři KS. V případě, že driver vyžaduje dll
knihovny, umístěte je do adresáře jdbc\dll.

-------------------------------------------------------------------------------
Konfigurace:

Konfigurace KS se provádí úpravou souboru conf\config.ini v pracovním adresáři
KS. Např. C:\PSE\KS-8.4\work\test\conf\config.ini


Výběr serveru PSE a CDCP, parametr 'cdcp_url' a 'pse_url':

        Pro test použijte:

            cdcp_url=https://alfa-tst-sc.pse.cz:10002/api
            pse_url=https://alfa-tst-sc.pse.cz:10001/api

        Pro ostré prostředí:

            cdcp_url=https://alfa-prg-sc.pse.cz:10002/api
            pse_url=https://alfa-prg-sc.pse.cz:10001/api

        Pokud chcete komunikovat jen s jedním serverem, např. CDCP,
        tak ten druhý (PSE) nastavte na disabled.
        
        např.: pse_url=disabled
                 	

Nastavení timeout pro HTTPS požadavky:

  Pro login je nastaveno 30 sekund.
  Pro čtení distribuce je nastaveno 120 sekund.
  Pro ostatní požadavky je nastaveno 300 sekund.

  Defaultní hodnoty je možno změnit pomocí parametrů: http_timeout_feed a http_timeout_request

Nastavení připojení do lokální databáze, parametr 'localdb_url':

    Zde se nastavuje JDBC Connection URL řetězec, určující připojení do
    vaší místní databáze.

    Příklady:

    (Postgres)
    jdbc:postgresql://<server>:<port>/<dbName>?currentSchema=<schema>

    (MS SQL Server)
    jdbc:sqlserver://<server>:<port>;database=<dbName>
    jdbc:sqlserver://<server>:<port>;database=<dbName>;integratedSecurity=true

Incializační skripty:

localdb_init_connection, pokud je nastaven, provede se na každém nově
  vytvořeném spojení do lokální databáze.
localdb_init_db, pokud je nastaven, provede se jednou, po startu KS a
  připojení do lokální DB.


Kontrola validního databázevého spojení:

KS používá mechanismus v JDBC driveru, volá metodu Connection.isValid().
Pokud by tuto metodu JDBC driver nepodporoval, nebo by nepracovala spolehlivě,
je možno parametrem localdb_connection_check nastavit příkaz, který se použije
pro test spojení. Například select 1 nebo select * from stav_ks where 1=2.



Mapování tabulek (schránek) pro služby stahující data je v souboru v pracovním
adresáři v conf/tablemap.ini
Pro každou službu je zde uvedeno jméno tabulky. Pokud tabulka v DB existuje
a obsahuje všechny povinné sloupce, pak je použita. V opačném případě se data
zapisují do tabulky DR_IT.


Autostart v režimu GUI je možno zapnout parametrem gui_autostart=true.
Po zapnutí této volby provede KS po spuštení volbu start, ale pouze v případě
že už byly nastaveny hesla.



-------------------------------------------------------------------------------
Spuštění:

Program se spustní pomocí ks.bat souboru, umístěného v příslušném pracovním
adresáři. Např: C:\PSE\KS-8.4\work\test\ks.bat
Po spuštění není komunikace aktivní. Nastartování se provede volbou 'Start' z
menu 'Systém'. Nejprve je však potřeba provést nastavení přihlašovacích údajů,
viz. následující kapitola. Po nastartování provede KS zalogování do obou
vzdálených systémů - PSE a CDCP, a poté stáhne aktuální popisy rozhraní z
těchto systémů. Tato verze KS již nepoužívá popisné tabluky DR_PSL, DR_PPO,
DR_PDL.

-------------------------------------------------------------------------------
Přihlašovací údaje:

Pro spojení do CDCP/PSE je možno využít profil pro trh START. Pokud ho nemáte,
je možno ho získat zaslání mailu na adresu krejci(at)pse.cz a picka(at)pse.cz.
V mailu uveďte přihlašovací jméno, skutečné jméno, příjmení, telefon a email.
Na email a telefon budou zaslány vytvořené přihlašovací údaje.

Přihlašovací údaje pro servery PSE a CDCP a pro místní databázi se nastavují v
dialogovém okně, vyvolaném z menu 'Nastavení', volbou 'Nastavení hesel'.
Po zadání přihlašovacích údajů je možno provést test spojení na jednotlivé
systému z menu 'Nastavení'.

-------------------------------------------------------------------------------
Logování:

Program zapisuje logovací soubory do adresdáře log v pracovním adresáři.
Pro logy je nastaveno rotování a automatické mazání starých záznamů.
V případě hlášení problémů prosím přiložte zazipovaný obsah tohoto adresáře.

Trasování:

Pro detailní výpis dat procházejících přes KS je možno zapnout trasování.
Zapíná se odkomentováním řádku trace.all=true, čímž se zapne trasování
všecho, nebo lze zapnou pouze částečné trasování odkomentováním příslušných
trace.xxxx řádků.

trace.database_read  -  vypisuje data načtená z dr_in
trace.database_write -  vypisuje naformátovaná data pro distribuci/dr_it
trace.internal_request  - vypisuje data požadavkú v interním formátu
trace.internal_response - vypisuje data odpovědí v interním formátu
trace.internal_feed-pse-general -
trace.internal_feed-pse-private   - distribuční data, v interním formátu
trace.internal_feed-cdcp-general  -
trace.internal_feed-cdcp-private-
trace.start          -  vypisuje data která se stáhnou při startu KS
trace.metadata       -  vypisuje načtená metadata o lokálních tabulkách


Upozornění, trasování produkuje velké množství data, zapínat pouze v případě
řešení problémů


-------------------------------------------------------------------------------
Generování aktuálních create_ks_db-dl.sql skriptů:

Je možno vygenerovat skript dle aktuálních popisů rozhraní.

1) Nakopírovat gen_script.bat z work\_template do work\xxxx, kde xxxx je 
prostředí, pro které chcete skript vygenerovat.

2) Zastavit KS v daném prostředí, pokud běží. KS musí být pro dané prostředí
zkonfigurováno a funkční.

3) Spustit gen_script.bat

Standartně se generují jména tabulek a sloupců malými písmeny. Lze to změnit
zadáním parametrů uc_table a uc_column, např.: gen_sript.bat uc_table
To způsobí, že jména tabulek budou velkými písmeny.


-------------------------------------------------------------------------------
Kontatky:

Pro dotazy, připomínky a hlášení chyb ohledně KS použijte mail popjuk(at)pse.cz
nebo telefon 221832827 - pan Popjuk.
Pro dotazy ohledně rozhraní, fungování služeb použijte mail pickla(at)pse.cz
nebo telefon 221832213 - pan Pícka.
