Objekty typu Vzdialený objekt umožňujú nasledovné:

  • pasívne prenášať hodnoty objektov medzi dvoma bežiacimi aplikáciami systému D2000 (aj rôznych verzií)
  • aktívne nastavovať hodnotu objektu z jednej aplikácie do druhej

Prepojenie medzi aplikáciami je zabezpečené prostredníctvom dvoch klientskych procesov - D2000 GateWay Client a D2000 GateWay Server.

Ako vidieť z obrázku, medzi procesmi D2000 GateWay Client a D2000 GateWay Server existuje komunikačný kanál, ktorý sa používa pre prenos údajov medzi aplikáciami. Tento kanál je navrhnutý tak, aby bol nezávislý od verzií systému D2000 použitých pre aplikácie.
Procesy D2000 GateWay Client a D2000 GateWay Server majú parameter --ANSI. Tento parameter vynúti kódovanie Windows 1250 prenášaných textov. Ak nie je uvedený, texty sú kódované UTF8. Parameter je nutné použiť, ak partner komunikácie je staršej verzie ako 9.X a dochádza k prenosu textových hodnôt.

Proces D2000 GateWay Server


Proces sa pripája k procesu D2000 Server ako klient. V rámci DODM modelu je proces D2000 GateWay Server reprezentovaný objektom typu Proces s príponou .API. Prostredníctvom komunikačného kanála zasiela proces D2000 GateWay Client požiadavky na D2000 GateWay Server, na základe ktorých mu server cez tento kanál zasiela aktualizácie hodnôt objektov.
Pri spustení procesu D2000 GateWay Server je potrebné uviesť parameter /GTWL<portNr> alebo /GTWL<ipAddress:portNr>, kde portNr je číslo TCP/IP portu, na ktorom D2000 GateWay Server počúva. Na tento port sa pripája proces D2000 GateWay Client. Ak je zadaný aj parameter ipAddress, proces D2000 GateWay Server bude počúvať iba na zvolenom rozhraní (napr. /GTWL192.168.0.1 alebo /GTWmyName). Je podporené aj počúvanie na IPv6 (december 2023), t.j. ako ipAddress je možné použiť IPv6 adresu (alebo mená v hranatých zátvorkách), napr. 
/GTWL[localhost]:1000 alebo /GTWL[::]:1000.

Nepovinný parameter /AN umožňuje zadať meno užívateľa. Ak je zadaný, všetky akcie procesu D2000 GateWay Server budú podriadené nastaveným užívateľským právam daného užívateľa. Užívateľ musí mať aktívnu voľbu "Užívateľ vymedzuje externé referencie".

Ak parameter nie je uvedený, nie sú aplikované žiadne obmedzenia a proces pracuje v kontexte administrátora.

Proces D2000 GateWay Client


Proces sa pripája k procesu D2000 Server ako klient. V rámci DODM modelu je proces D2000 GateWay Client reprezentovaný objektom typu Proces s príponou .GTW. Konfigurácia prenosu hodnôt je daná objektmi typu Vzdialený objekt. Rodičom týchto objektov je práve proces s príponou .GTW. Z tohto je zrejmé, že celá činnosť procesu je daná práve konfiguráciou jeho potomkov (objektmi typu Vzdialený objekt).
Proces sa po štarte snaží pripojiť k procesu D2000 GateWay Server. Pripojenie je realizované pomocou štartovacieho parametra /GTWC<ipAddress:portNr>, kde ipAddress je IP adresa (alebo názov) počítača, na ktorom beží proces D2000 GateWay Server a portNr je číslo TCP/IP portu, na ktorom D2000 GateWay Server počúva. Je možné špecifikovať iba port (napr. /GTWC1000) - vtedy sa GateWay Client pripája na lokálne loopback rozhranie (IP adresa 127.0.0.1).
Je podporené aj pripájanie sa cez IPv6 (december 2023), t.j. v parametri /GTWC<ipAddress:portNr> je možné použiť IPv6 adresu (alebo mená v hranatých zátvorkách), napr. 
/GTWC[localhost]:1000 alebo /GTWC[::]:1000.

Poznámka 1: Číslo portNr musí byť zhodné s číslom portNr v parametri /GTWL<portNr> pre D2000 GateWay Server.
Poznámka 2: Ak je zapnutý prepínač SET_CURRTIME_FOR_NV (na príkazovom riadku procesu D2000 GateWay Client: gtwcli /E+SET_CURRTIME_FOR_NV), tak každej zverenej hodnote je nastavený aktuálny čas.

V prípade, že spojenie s procesom D2000 GateWay Server sa nepodarilo alebo zlyhalo, proces sa ho snaží každé 2 sekundy obnoviť.

Poznámka: Parameter /GTWC<ipAddress:portNr> môže byť zadaný viackrát. V takom prípade sa bude proces D2000 GateWay Client snažiť dokola pripojiť na všetky zadané adresy. Po pripojení sa na poslednú adresu 2 sekundy počká a ide opäť na prvú adresu. Vlastnosť je využiteľná v redundantných systémoch (viac informácii nájdete v nasledujúcej sekcii), ako aj v neredundantných systémoch s viacerými sieťovými rozhraniami.


Priamy prenos hodnôt objektov medzi rôznymi systémami D2000 na základe zhody mien objektov

Proces D2000 GateWay Client je možné nakonfigurovať aj pre priamy prenos hodnôt vybraných typov objektov zo zdrojového systému D2000 do cieľového systému D2000 bez nutnosti konfigurovať objekty typu "Vzdialený objekt". Viac informácii je uvedených v dokumente Priamy prenos hodnôt objektov (transparentný gateway).

Konfigurácia prenosu pre redundantné systémy


V redundantnej aplikácii Appl1 je potrebné spustiť proces D2000 GateWay Client ako klienta pre každý server (t.j. proces D2000 Server) v aplikácií. Proces D2000 GateWay Client má tú vlastnosť, že ak je pripojený na aplikačný server (proces D2000 Server), ktorý nie je v stave HOT, tak potom sa nesnaží pripojiť k procesu D2000 GateWay Server.

Existujú dva možné módy fungovania procesu D2000 GateWay Server:

  • D2000 GateWay Server je spustený iba jeden krát a to so štartovacím parametrom /RD. Toto zaistí, že proces sa bude snažiť byť stále pripojený na aktuálny HOT server a po zmene HOT servera sa pripojí na nový HOT server.
    Toto riešenie je vhodné, pokiaľ existuje počítač slúžiaci ako "brána" pre prístup ku aplikácii Appl2. Na tomto počítači beží proces D2000 GateWay Server.
    Zároveň tento počítač je neredundantným miestom komunikácie (single point of failure).



  • D2000 GateWay Server je spustený na každom aplikačnom serveri v redundantnej skupine Grp2 (so štartovacím parametrom /S alebo bez neho, keď beží na tom istom počítači ako D2000 Server). Takto spustený proces odpojí D2000 GateWay Client-a, pokiaľ D2000 Server, ku ktorému je pripojený, nie je v stave HS.
    V tomto móde musí byť proces D2000 GateWay Client spustený s viacnásobným zadaním parametra /GTWC<ipAddress:portNr> , pričom musia byť vymenované IP adresy alebo názvy všetkých počítačov, na ktorých bežia procesy D2000 GateWay Server v redundantnej skupine Grp2.
    Príklad:
    • Server X: IP adresa 10.0.1.1
    • Server Y: IP adresa 10.0.1.2
    Procesy D2000 GateWay Server sú nakonfigurované ako gtwsrv.exe /GTWL5555 
    Procesy D2000 GateWay Client na počítačoch Server A a Server B budú nakonfigurované ako gtwcli.exe /GTWC10.0.1.1:5555 /GTWC 10.0.1.2:5555

    Pokiaľ má počítač, na ktorom beží proces D2000 GateWay Server, viac ako jedno sieťové rozhranie (redundantná sieť), je možné špecifikovať IP adresy viacerých rozhraní a využiť tak redundanciu siete.

    Príklad:
    • Server X: IP adresy 10.0.1.1 a 10.0.2.1
    • Server Y: IP adresy 10.0.1.2 a 10.0.2.2
    Procesy D2000 GateWay Server sú nakonfigurované ako gtwsrv.exe /GTWL5555.
    Procesy D2000 GateWay Client na počítačoch Server A a Server B budú nakonfigurované ako
    gtwcli.exe /GTWC10.0.1.1:5555 /GTWC10.0.1.2:5555 /GTWC10.0.2.1:5555 /GTWC 10.0.2.2:5555.

    Tento mód činnosti nevytvára single point of failure a umožňuje využiť aj redundanciu sietí, preto je odporúčaný. Implementovaný je od verzie 7.01.022.

Write a comment...