Promotic

Licenční server PmLicServer

Licenční server PmLicServer je součástí instalačního balíčku PROMOTIC 9. Licenční server PmLicServer umožňuje poskytovat licence PROMOTIC aplikacím lokálně nebo po síti. Odpadá tím nutnost, aby každá aplikace PROMOTIC měla licenci ve svém vlastním HW klíči. Takto lze také vyřešit problém s licencí v aplikaci PROMOTIC ve virtualizovaném prostředí, kde aplikace PROMOTIC ve virtálním stroji nemá přístup k fyzickému HW klíči na USB portu počítače. Licenční server PmLicServer se obvykle automaticky spouští po startu počítače jako služba Windows.

Podmínkou správné funkce je, aby počítače s PROMOTIC aplikací (licenční klienti) měly síťový přístup protokolem HTTP nebo HTTPS k počítači s programem Licenční server PmLicServer. Ke komunikaci mezi PROMOTIC aplikací a licenčním serverem dochází nejenom při spuštění aplikace PROMOTIC, ale opakovaně periodicky (s periodou 1 minuta nebo ještě pomaleji). Síťové spojení s licenčním serverem musí být funkční po celou dobu běhu aplikace PROMOTIC.

Licence na licenčním serveru jsou tzv. "plovoucí" Aplikace PROMOTIC mohou být spouštěny na různých počítačích (v síti), ale počet současně spuštěných aplikací nesmí překročit počet runtime licencí přítomných na licenčním serveru. Pokud jsou například na PROMOTIC licenčním serveru přítomny 2 runtime licence, pak lze spustit dvě aplikace současně. Další aplikace se již nespustí. Pokud bude některá ze spuštěných aplikací zastavena a nebude komunikovat s licenčním serverem po dobu 10 minut, pak bude na licenčním serveru tato licence uvolněna a připravena pro použití další aplikací. Nyní již bude možné tuto další aplikaci spustit - aplikace použije tuto uvolněnnou licenci.

Lokální režim pro nosiče licencí hwkey a swkey

V tomto režimu Licenční server PmLicServer není chráněn vlastním HW klíčem. Licenční server poskytuje lokálně PROMOTIC aplikacím licence z nosičů hwkey a swkey (.swk soubor).
Pro nosiče licencí swkey je získávaní licence přes licenční server povinné, tzn. aplikace PROMOTIC tuto licenci přímo nevyčítá.
Pro nosiče licencí hwkey je získávaní licence přes licenční server volitelné, tzn. aplikace PROMOTIC tuto licenci umí získat i přímo. Výhodou získání licence v HW klíči pomocí licenčního serveru je funkčnost tohoto řešení i v režimu vzdálené plochy (Remote Desktop) Windows, kdy služba má k HW klíči přístup (licenční server), zatímco normální aplikace PROMOTIC tento přístup nemá. Licenční server periodicky přečte všechny dostupné HW klíče, takže při požadavku na licenci v HW klíči vrací naposledy načtený obsah příslušného klíče.
Příklad nastavení licenčního serveru bez ochrany HW klíčem (lokální režim):
[Config]
Medium=none

Síťový režim pro nosiče licencí netkey

V tomto režimu Licenční server PmLicServer je chráněn vlastním HW klíčem, kde číslo HW klíče musí být uvedeno v konfiguračním souboru PmLicServer.ini. Přítomnost chránicího HW klíče se periodicky kontroluje. Licenční server poskytuje po síti PROMOTIC aplikacím síťovou licenci z nosiče netkey (.swk soubor). Síťová licence v podobě nosiče netkey (.swk soubor) je vygenerována pro konkrétní chránicí HW klíč licenčního serveru. Licence nebude v PROMOTIC aplikacích fungovat, pokud licenční server není nakonfigurován nebo chránicí HW klíč chybí nebo má jiné číslo.
Příklad nastavení licenčního serveru s chránícím HW klíčem 1234 (síťový režim):
[Config]
Medium=hwkey:k1234

Instalace, odinstalace licenčního serveru a konfigurace služby

Program je součástí instalace PROMOTIC a lze ho instalovat samostatně na počítači, který má být licenčním serverem. Pomocí PmManager může být nakonfigurován tak, aby se automaticky spouštěl jako služba Windows při startu počítače. Službu Licenční server PmLicServer lze konfigurovat, zastavovat a spouštět standardními prostředky OS Windows (správce služeb services.msc).

Program (služba) lze ovládat i z příkazového řádku pomocí parametrů. Okno příkazového řádku musí být spuštěno s povýšenými právy jako Správce. Příkazy mohou mít smysl v některých speciálních případech například v povelových (*.bat) souborech OS Windows. Obvykle není nutno příkazy používat, protože během instalace programu se nakonfiguruje i služba OS Windows a při odinstalaci se služba odebere. Konfigurace, zastavování a spouštění se dělá standardními prostředky OS Windows. Jednotlivé příkazy:
 
PmLicServer -i - Provede přidání služby OS Windows pro program Licenční server PmLicServer. Služba bude nakonfigurována, aby se automaticky spouštěla se spuštěním počítače. Během instalace programu se provede automaticky.
PmLicServer -u - Odstraní službu OS Windows pro program Licenční server PmLicServer. Při odinstalaci programu se provede automaticky.
PmLicServer -s - Provede spuštění služby OS Windows pro program Licenční server PmLicServer.
PmLicServer -k - Provede zastavení služby OS Windows pro program Licenční server PmLicServer.
PmLicServer - Spustí program Licenční server PmLicServer jako běžnou aplikaci, ne jako službu Windows. Ikona aplikace se objeví v systémové liště OS Windows mezi ikonama vpravo. Může být výhodné pro testování.

Konfigurace licenčního serveru

Program se konfiguruje pomocí konfiguračního souboru PmLicServer.ini. Tento soubor se vytvoří automaticky během instalace a je umístěn ve složce \GCfg.
Popis klíčů v sekci [Config]:
 
WebServer - Klíč umožňuje změnit port a protokol (HTTP nebo HTTPS) na kterém bude naslouchat interní Web server programu Licenční server PmLicServer.
Pokud není nastaveno, pak se použije výchozí hodnota http://+:5656/, to znamená, že se použije protokol HTTP na portu 5656.
Znak ";" na začátku řádku udělá z řádku komentář a řádek nebude brán v úvahu.
Příklad1:
Příklad konfiguračního souboru PmLicServer.ini pro protokol HTTP, localhost, a port 5656. Pro licenční server pracující pouze v lokálním režimu, je dobré z bezpečnostních důvodů omezit poslouchání Web serveru pouze na localhost rozhraní (127.0.0.1 nebo ::1).
[Config]
WebServer=http://127.0.0.1:5656/
Příklad2:
Příklad konfiguračního souboru PmLicServer.ini pro protokol HTTP a port 81
[Config]
WebServer=http://+:81/
Příklad3:
Příklad konfiguračního souboru PmLicServer.ini pro protokol HTTPS a implicitní port 443
[Config]
WebServer=https://+:443/
 
LogRefresh - Klíč umožňuje nastavit, zda se do Log souboru má (hodnota 1) nebo nemá (hodnota 0) zapisovat i informace o obnovení licence klientem (přednastaveno s periodou 1 minuta pro každého klienta).
Je vhodný při ladění problémů se síťovou licencí, ale z dlouhodobého hlediska vymaže z kruhových souborů důležité informace o získání a uvolnění licencí klientem.
Pokud není nastaveno, pak zápis informace o obnovení licence klientem do Log souboru vypnutý (hodnota 0).
Příklad:
Příklad konfiguračního souboru PmLicServer.ini pro povolení zápisu periodického obnovování licence klienty do Log souboru
[Config]
LogRefresh=1
 
Medium - Klíč určuje, zda licenční server bude v lokálním nebo síťovém režimu.
hwkey:none (přednastaveno) - Lokální režim. Pouze pro čtení nosičů licencí hwkey a swkey z lokálního počítače (aplikace a licenční server musí být na stejném počítači).
hwkey:k1234 - Síťový režim s HW klíčem chránicím licenční server. Nosiče licencí netkey lze číst i ze sítě. Nosiče licencí hwkey a swkey lze číst pouze z lokálního počítače (aplikace a licenční server musí být na stejném počítači).
Příklad:
Příklad konfiguračního souboru PmLicServer.ini pro nastavení konkrétního HW klíče s číslem licence 1234 pro ochranu vlastního licenčního serveru (síťový režim).
[Config]
Medium=hwkey:k1234


Zprovoznění HTTPS protokolu licenčního serveru:
K implementaci licenčního serveru (Web server) se využívá "HTTP služba" OS Windows. Konfigurace HTTPS protokolu se provádí úplně stejně, jako v případě HTTPS protokolu objektu PmaWeb, tzn. pomocí nástroje PmHttpConfig.exe (je nutno nastavit práva, importovat certifikát počítače serveru a spojit ho s daným Web serverem).

Sledování činnosti licenčního serveru

Program umožňuje sledovat jednak aktuální stav přidělených síťových licencí a také historii přihlašování a odhlašování síťových licenčních klientů. Sledování lze pomocí Web rozhraní. Licenční server PmLicServer obsahuje interní Web server, který na své IP adrese, protokolu a portu nabízí stránku info.html a log.html. Například http://localhost:5656/info.html a http://localhost:5656/log.html.
 
Log soubor se vytvoří automaticky ve složce \GTemp.

Chování aplikace PROMOTIC při ztrátě spojení s licenčním serverem

Pokud dojde k trvalému selhání periodické komunikace s licenčním serverem nebo pokud se ztratí spojení s nosičem licence obecně (HW klíč je nedostupný pro licenční server nebo přímo pro aplikaci), pak spuštěná aplikace PROMOTIC prochází postupně následujícími stavy:
1) informování - nejprve se v globálních chybách objeví informace o ztrátě komunikace s licenčním serverem. Do tohoto stavu se aplikace dostane už při prvním selhání periodické komunikace. Tento stav trvá asi 10 minut.
2) upozornění - potom je zobrazeno upozorňovací okno (opakovaně, pokud ho obsluha zavře) a v globálních chybách se objeví upozornění o ztrátě komunikace s licenčním serverem. Tento stav trvá asi 48 hodin.
3) chyba - nakonec je situace vyhodnocena jako chybová, aplikace je okamžitě zastavena a v globálních chybách objeví chyba licence.
 
Stav 1) a 2) okamžitě končí při první úspěšné periodické komunikaci s licenčním serverem nebo při dostupnosti nosiče licence. Pokud dojde k trvalé ztrátě komunikace s licenčním serverem, pak po asi 48 hodinách je aplikace zastavena. Ke zjištění času trvání chyby komunikace s licenčním serverem lze použít metodu Pm.LicenceInfo(10).
 
Při nefunkčním spojení s licenčním serverem nebo při nedostupnosti nosiče licence nelze aplikaci PROMOTIC vůbec spustit. Ochrana časovou prodlevou, před vlastním zastavením aplikace, při nefukčním spojení s licenčním serverem nebo nosičem licence se týká pouze už spuštěné aplikace.

Zprovoznění licenčních SWK souborů na licenčním serveru a licenčním klientu

a) Licenční server - Licenční soubor je nutno zkopírovat do složky "?:\Promotic\Licences".
b) Licenční klient - V INI souboru aplikace (pro runtime - PmRt) nebo v INI souboru PROMOTIC (pro vývojové prostředí - PmDev a PmDevSchool) (od verze Pm8.3.0) je nutno vytvořit sekci [Licence] a v ní klíč Medium následovně (odkaz na Licenční server PmLicServer a na konkrétní Síťový licenční klíč):
[Licence]
Medium=netkey:http://192.168.1.99:5656/Pm1234.swk
nebo
Medium=swkey:Pm1234.swk
 
, kde netkey znamená síťovou licenci, http nebo https určuje protokol, následuje IP adresa nebo název počítače, port interního Web serveru a název licenčního SWK souboru.

Upozornění:
 
Přihlášený Windows uživatel musí mít povolená oprávnění zapisovat do následujících souborů:
- do app.ini souborů aplikace PROMOTIC vázaných na Licenční server PmLicServer

Zpřístupnění licence obsažené v HW klíči prostřednictvím lokálního licenčního serveru:

Vhodné pro použití v režimu vzdálené plochy (RDP). Systém PROMOTIC a vzdálená plocha Windows (RDP).
 
PmLicServer.ini:
Konfigurační soubor PmLicServer.ini - Licenční server PmLicServer
[Config]
Medium=none
ini soubor aplikace:
[Licence]
UseLicServerHwk=1
Medium=hwkey:k1234

Historie:
Pm9.00.09: Zprovoznění lokálního režimu licenčního serveru pro nosiče licencí hwkey a swkey.
Pm9.00.03: Přejmenování a úprava licenčního serveru.
V předchozích verzích se jmenoval PmNetKey.exe a byl dostupný v samostatné instalaci.
Nyní se jmenuje PmLicServer.exe a pro instalaci je součástí instalačního programu dané verze PROMOTIC (v instalačním programu lze zvolit že instalovat pouze PmLicServer).
Pm8.03.23: Zvětšení doby běhu runtime při ztrátě spojení s licenčním serverem z 12 hodin na 48 hodin
Pm8.02.00: Vytvořeno
© MICROSYS, spol. s r.o.