D2000 Tenký klient (TCL) - inštalácia a prevádzkovanie



Funkcionalitu D2000 TCL tvoria nasledovné časti:


Server:

  • Systémový D2000 proces .TTS - zabezpečuje runtime prostredie behu a online konverziu D2000 schém do prostredia TCL
  • Systémový D2000 proces .SES - interpretuje aplikačné ESL skripty pre schémy zobrazené v TCL
  • Systémový D2000 proces .TCD - slúži na synchronizáciu obrázkov a zdrojov medzi aplikačným serverom D2000 a webovým serverom
  • Systémový D2000 proces .WSC - slúži ako webový server/servlet kontajner
  • D2000 TCL servlet bežiaci v kontajneri webového servera.

Klient:

  • Internetový prehliadač (Chrome, MS Edge, Firefox, ...) - zobrazuje D2000 obrazovky/schémy


Postup na sprevádzkovanie TCL s použitím integrovaného systémového D2000 web servera:

  1. Vytvoríme proces SELF.TTS (cesta "tcts")

    Ak web server s TCL servletom beží na inom počítači, pomocou parametra "--WS<host>:<port>" špecifikujeme adresu a port D2000 komunikačného rozhrania sa TCL servlet. Port rozhrania je štandardne 7120.
  2. Vytvoríme proces SELF.SES (cesta "event", parametre "--SES_LOCAL")

    Ak prevázkujeme aj schémy so vzdialenými ESL skriptami, je potrebné vytvoriť proces SELF_REMOTE.SES s cestou "event" a s parametrom "--SES_REMOTE"
  3. Vytvoríme proces SELF.TCD (cesta "tcldeployer")

    Ak web server s TCL servletom beží na inom počítači, pomocou parametra "--WS<host>:<port>" špecifikujeme adresu a port komunikačného rozhrania sa TCL servlet. Port rozhrania je štandardne 7120.

  4. Vytvoríme proces SELF.WSC (cesta "wssc", parametre "--TCL-WEBAPP=myApp")

    Parameter "--TCL-WEBAPP=<meno_web_app>" zabezpečí, že pri štarte SELF.WSC sa nakopíruje TCL servlet spolu s potrebnými súbormi z inštalačného adresára D2000 do adresára webovej aplikácie <meno_web_app>. štandardne <adresár_D2000_aplikácie>/config/proc/self.wsc/base/webapps/<meno_web_app>. Zároveň <meno_web_app> tvorí cestu v URL pre prístup z internetového prehliadača (viď nižšie). Po prvotnom spustení SELF.WSC dôjde k nakopírovaniu a neskôr môžeme tento parameter odstrániť.
    Parametrom "--PORT.HTTP=<port>" môžme špecifikovať HTTP port servera. Východzie nastavenie je 8080, môžme špecifikovať port 80, ktorý je štandardne pre HTTP používaný na produkčných serveroch.

Po naštartovaní uvedených procesov je serverová časť TCL pripravená obsluhovať klientov.



Ako alternatívu pre produkčné nasadenie je možné použiť namiesto D2000 procesu WSC štandardný webový server.  Webový server môže byť akýkoľvek s podporou špecifikácie java servlet spec 3.0+. Funkčnosť TCL bola odskúšaná so servermi Apache Tomcat, JBoss Application Server a WildFly

Inštalácia, konfigurácia a prevádzkovanie TCL na webserveri Apache Tomcat

Inštalácia

  1. Nainštalujte prostredie Java JRE (https://java.com), potrebné pre beh Tomcatu
  2. Nainštalujte Apache Tomcat (http://tomcat.apache.org)
  3. Vytvorte adresár web aplikácie TCL s ľubovoľným názvom (napr. myApp) v aplikačnom adresári web servera (Tomcat je defaultne nainštalovaný v C:\Program Files\Apache Software Foundation\Tomcat X), takže adresár bude C:\Program Files\Apache Software Foundation\Tomcat X\webapps\myApp.
  4. Skopírujte súbory z D2000_EXE\tcl\war\ do adresára web aplikácie na web serveri (do ...\webapps\myApp\).
  5. Spustite Tomcat

Konfigurácia užívateľov D2000

  1. Vo východzom nastavení nemajú užívatelia D2000 právo prihlásiť sa cez TCL. V nástroji CNF povoľte jednotlivým užívateľom D2000 prihlásenie do TCL. Tiež nastavte zostavu resp. schému, ktorá sa užívateľovi po prihlásení zobrazí.

Prevádzkovanie TCL


Schémy D2000 sú dostupné v internetovom prehliadači po zadaní adresy v tvare

http://hostname[:port]/web_app_name/[?alias|?urlparams]


hostnameIP adresa alebo názov počítača, na ktorom beží proces SELF.WSC resp. Apache Tomcat. (napríklad "127.0.0.1")
portČíslo portu pre pripojenie cez HTTP(S) k SELF.WSC resp. Apache Tomcat. Ak je port = 80, nemusí sa zadávať, vo východzom nastavení po inštalácii SELF.WSC používa port 8080.
web_app_nameNázov adresára v hlavnom adresári Apache Tomcatu (adresár web aplikácie tenkého klienta). (napríklad "myApp")
urlparams

URL parametre. Pomocou parametrov v URL je možné špecifikovať správanie TCL. Je možné nastaviť tieto parametre:


__d2tcl__OverrideOpen=meno_schémy:číslo_inštancie
parameter určuje, že po úspešnom prihlásení používateľa sa otvorí schéma meno_schémy v inštancii číslo_inštancie. Číslo inštancie je nepovinné, v takom prípade sa schéma otvorí v základnej (nulovej) inštancii. Zadaná schéma sa otvorí vždy bez ohľadu na nastavenie východzej schémy/zostavy v parametroch používateľa D2000. Parameter je možné zapísať aj v skrátenom tvare !meno_schémy, napr. http://localhost:8080/myApp/?!S.Main


__d2tcl__FallbackOpen=meno_schémy:číslo_inštancie
daná schéma sa otvorí iba ak používateľ nemá žiadnu schému/zostavu nastavenú ako východziu v parametroch používateľa. Ak má nastavenú východziu, tento parameter je ignorovaný.


__d2tcl__UseCredentials=meno:heslo
parameter umožňuje automaticky prihlásiť užívateľa daným menom a heslom bez toho, aby sa mu zobrazil prihlasovací dialóg. V prípade, že v hodnote parametra je zadané len meno (bez dvojbodky), prihlasovací dialóg sa zobrazí s predvyplneným menom.


__d2tcl__NickName=nickname
parameter umožňuje pomenovať D2000 proces .SEE, ktorý vznikne pripojením klienta a slúži na interpretáciu ESL skriptov zobrazovaných schém. To je možné využiť pri ladení skriptu ESL, keď treba špecifikovať, na ktorom procese .SEE má ladenie prebiehať.


__d2tcl__AuthMethod=metódy
parameter umožňuje špecifikovať metódu autentifikácie. Prípustné metódy sú:

  • d2000 - overovanie užívateľa menom a heslom
  • spnego - overenie podľa aktualne prihláseného užívateľa v operačnom systéme, bez zadávania mena/hesla

Je možné zadať obe metódy, oddelené čiarkou. V takomto prípade sa vykoná 'spnego' autentifikácia ako prvá. Ak zlyhá, použije sa metóda 'd2000'.

Ak parameter nie je uvedený, východzia hodnota je 'd2000'

Vlastnosť je dostupná od D2000 release R067


Parametre v URL sa zapisujú za znak '?' a oddeľujú sa znakom '&'.


Príklad URL s parametrami:

http://localhost:8080/myApp/?__d2tcl__OverrideOpen=S.Main&__d2tcl__UseCredentials=SystemD2000:SystemD2000&__d2tcl__NickName=debugsession1
aliasPre zjednodušenie zápisu URL parametrov je možné nakonfigurovať tzv. aliasy. Alias je pomenovaná množina URL parametrov, ktorej meno je špecifikované v URL ako text za znakom '?', napr.
http://hostname[:port]/myApp/?alias

Konfigurácia aliasov



Meno aliasu môže byť ľubovoľné, ale musí začínať písmenom abecedy a obsahovať len znaky a..z, A..Z, 0..9 a "_". Meno nie je citlivé na veľké/malé písmená.

Ak v URL nie je alias špecifikovaný, bude použitý alias s prázdnym menom (ak je taký definovaný).


Naviac je možné definovať tzv. vzorový alias - s menom "*". Parametre tohto vzorového aliasu sa použijú ako východzie.


Konfigurácia jednotlivých aliasov je čítaná z adresára web aplikácie na web serveri zo súboru WEB-INF/d2tcl_config.xml (pre SELF.WSC štandardne <adresár_D2000_aplikácie>/config/proc/self.wsc/base/webapps/myApp/WEB-INF/d2tcl_config.xml, pre Apache Tomcat C:\Program Files\Apache Software Foundation\Tomcat X\webapps\myApp\WEB-INF\d2tcl_config.xml).

V konfiguračnom súbore je ďalej možné nastaviť TCP port na ktorom má počúvať TCL servlet (parameter "tctsconnector port=").


Príklad konfiguračného súboru d2tcl_config.xml:


d2tcl_config.xml
<?xml version="1.0" encoding="UTF-8"?>
 <config>
   <tctsconnector port="7120"/>

   <alias name="*">
     <param>__d2tcl__UseCredentials=SystemD2000:SystemD2000</param>
   </alias>
   
   <alias name="">
     <param>__d2tcl__FallbackOpen=S.Main</param>
   </alias>
   
   <alias name="s1">
     <param>__d2tcl__OverrideOpen=S.Section1</param>
   </alias>
	
   <alias name="admin">
     <param>__d2tcl__UseCredentials=administrator</param>
     <param>!S.Admin</param>
   </alias>
 </config>
  

Upgrade TCL na novšiu verziu


Pred upgrade TCL na novšiu verziu je nutné vykonať tieto kroky:

  1. Zastaviť webový server.
  2. Vytvoriť zálohu všetkých manuálnych zmien v adresári web aplikácie (napr. vlastné úpravy CSS, úpravy login stránky, úpravy konfiguračných súborov WEB-INF/*.xml a pod).
  3. Urobiť upgrade systému D2000
  4. Zmazať obsah adresára web aplikácie
  5. a) Ak je TCL prevádzkovaný na externom web serveri (Tomcat, ...) - nakopírovať súbory z D2000_EXE\tcl\war\ do adresára web aplikácie
    b) Ak je TCL prevádzkovaný na integrovanom D2000 web serveri (proces .WSC) - spustiť proces WSC s parametrom "--TCL-WEBAPP=<meno_web_app>", čím dôjde k nakopírovaniu súborov
  6. Skontrolovať rozdiely medzi zálohovanými súbormi (z bodu 2) a novou inštaláciou a zlúčiť rozdiely
  7. Spustiť webový server

Prevádzkovanie viacerých inštancií TCL na jednej inštancii web servera


Je možné použiť jednu inštanciu web servera na prevádzkovanie viacerých inštancií web časti TCL naraz. V tomto prípade treba zabezpečiť, aby nedošlo ku konfliktu TCP/IP portov na ktorých prebieha komunikácia D2000 s TCL servletmi a nastaviť jedinečný port v súbore d2tcl_config.xml a príslušný port nastaviť aj pre procesy .TTS a .TCD parametrom "--WS<host>:<port>". V adresári web aplikácii webového servera nemôže byť viac TCL aplikácii s rovnakým portom, lebo to vedie k nefunkčnosti TCL.


Napíšte komentár