Serwer licencyjny PmLicServer jest częścią składową pliku instalacyjnego PROMOTIC 9.
Serwer licencyjny PmLicServer umożliwia
oferowanie licencji dla aplikacji PROMOTIC albo
lokalnie lub
po sieci. Przez to odpada konieczność, żeby każda aplikacja PROMOTIC posiadała licencję we własnym kluczu sprzętowym. W ten sposób można również rozwiązać problem z licencją w aplikacji PROMOTIC w środowisku wirtualnym, gdzie aplikacja PROMOTIC w komputerze wirtualnym nie ma dostępu do fizycznego klucza na łączu USB komputera.
Serwer licencyjny PmLicServer jest zazwyczaj
automatycznie uruchamiany po uruchomieniu komputera
jako usługa Windows.
Warunkiem poprawnego funkcjonowania jest, aby komputery z aplikacją PROMOTIC (klienci licencji) miały dostęp sieciowy poprzez protokół
HTTP lub
HTTPS do komputera z oprogramowaniem
Serwer licencyjny PmLicServer. Do komunikacji pomiędzy aplikacją PROMOTIC i serwerem licencyjnym dochodzi nie tylko podczas uruchamiania aplikacji PROMOTIC, lecz komunikacja jest powtórnie powtarzana (z periodem 1 minuta lub jeszcze wolniej).
Sieciowe połączenie z serwerem licencyjnym musi funkcjonować przez cały czas biegu aplikacji PROMOTIC.
Licencje na serwerze licencyjnym są tzw.
"pływające": Aplikacje PROMOTIC mogą być uruchomione na różnych komputerach (w sieci), ale ilość równocześnie uruchomionych aplikacji nie może przekroczyć ilość licencji runtime zawartych w serwerze licencyjnym. Jeżeli na przykład w serwerze licencyjnym PROMOTIC znajdują się 2 licencje runtime, wtedy można równocześnie uruchomić/użytkować dwie aplikacje. Następna aplikacja nie zostanie uruchomiona. Jeżeli dowolna z uruchomionych aplikacji zostanie zatrzymana i przez okres
10 minut nie będzie komunikować się z serwerem licencyjnym, wtedy dana licencja w serwerze licencyjnym zostanie zwolniona oraz przygotowana do wykorzystania przez inną aplikację. Teraz już można uruchomić następną aplikację - aplikacja zostanie uwierzytelniona zwolnioną licencją.
Lokalny tryb dla nośników licencji hwkey i swkey
W tym trybie
Serwer licencyjny PmLicServer nie jest zabezpieczony własnym kluczem sprzętowym. Serwer licencyjny oferuje aplikacjom PROMOTIC
lokalnie licencje z nośników
hwkey i
swkey (plik SWK).
Dla nośnika licencji
swkey jest pozyskiwanie licencji poprzez serwer licencyjny obowiązkowe, tzn. aplikacja PROMOTIC nie wczytuje takiej licencji bezpośrednio.
Dla nośnika licencji
hwkey jest pozyskiwanie licencji poprzez serwer licencyjny opcjonalne, tzn. aplikacja PROMOTIC taką licencję potrafi wczytać sobie sama bezpośrednio. Zaletą pozyskania licencji w kluczu sprzętowym przy pomocy serwera licencyjnego jest funkcjonalność tego rozwiązania również w trybie zdalnego pulpitu (
Remote Desktop)
Windows, kiedy usługa posiada dostęp do klucza sprzętowego (serwer licencyjny), a aplikacja PROMOTIC w tym trybie nie posiada takiego dostępu. Serwer licencyjny periodycznie odczyta wszystkie dostępne klucze sprzętowe, czyli przy wymogu na odczyt licencji w kluczu sprzętowym zwraca ostatnio wczytaną zawartość odpowiedniego klucza.
Przykład ustawienia serwera licencyjnego bez zabezpieczenia kluczem sprzętowym (tryb lokalny):
[Config]
Medium=none
Sieciowy tryb dla nośników licencji netkey
W tym trybie
Serwer licencyjny PmLicServer jest zabezpieczony przez własny klucz sprzętowy, gdzie numer tego klucza sprzętowego musi być zapisany w pliku konfiguracyjnym
PmLicServer.ini. Obecność zabezpieczającego klucza sprzętowego jest periodycznie sprawdzana. Serwer licencyjny oferuje aplikacjom PROMOTIC po sieci licencję sieciową z nośnika
netkey (plik SWK). Licencja sieciowa w formie nośnika
netkey (plik SWK) jest wytworzona dla konkretnego klucza zabezpieczającego serwer licencyjny. Licencja nie będzie działać w aplikacjach PROMOTIC, jeżeli serwer licencyjny nie jest ustawiony lub jeżeli zabezpieczający klucz sprzętowy brakuje lub jeżeli ma inny numer.
Przykład ustawienia serwera licencyjnego z zabezpieczającym kluczem sprzętowym 1234 (tryb sieciowy):
[Config]
Medium=hwkey:k1234
Instalacja, deinstalacja serwera licencyjnego i ustawienei usługi
Oprogramowanie jest częścią składową instalacji PROMOTIC i można go zainstalować samodzielnie na komputerze, który ma być serwerem licencyjnym. Przy pomocy
PmManager można go ustawić tak, żeby został automatycznie właczny jako usługa
Windows po uruchomieniu komputera. Usługę
Serwer licencyjny PmLicServer można ustawiać, zatrzymywać i uruchamiać rzy pomocy standardowych środków SO
Windows (administrator usług
services.msc).
Oprogramowaniem (usługą) można zarządzać również z wiersza poleceń przy pomocy parametrów. Okno wiersza poleceń musi być uruchomione z wyższymi uprawnieniami jako
Administrator. Polecenia mogą mieć sens w niektórych specjalnych przypadkach na przykład w plikach wsadowych (*.bat) SO
Windows. Zazwyczaj nie jest konieczne ich powszechne stosowanie, ponieważ podczas instalacji programu jest również ustawiona usługa SO
Windows i prze deinstalacji usługa jest usunięta. Konfiguracja, zatrzymywanie i uruchamianie można wykonywać przy pomocy standardowych środków SO
Windows. Pojedyńcze polecenia:
PmLicServer -i - Doda usługę Windows dla oprogramowania Serwer licencyjny PmLicServer.
Usługa zostanie ustawiona tak, żeby uruchamiała się automatycznie przy uruchomieniu komputera. Podczas instalacji oprogramowanie zostanie wykonane automatycznie.
PmLicServer -u - Usunie usługę Windows dla oprogramowania Serwer licencyjny PmLicServer. Podczas deinstalacji oprogramowania zostanie wykonane automatycznie.
PmLicServer -s - Uruchomi usługę Windows dla oprogramowania Serwer licencyjny PmLicServer.
PmLicServer -k - Zatrzyma usługę Windows dla oprogramowania Serwer licencyjny PmLicServer.
PmLicServer - Uruchomi oprogramowanie Serwer licencyjny PmLicServer jako zwykłą aplikacja a nie jako usługę Windows. Ikona aplikacji pojawi się pasku systemowym SO Windows pomiędzy ikonami po prawej. Może być dogodne w celu testowania.
Konfiguracja serwera licencyjnego
Oprogramowanie ustawia się przy pomocy pliku konfiguracyjnego
PmLicServer.ini. Plik ten jest wytworzony automatycznie podczas instalacji i jest ulokowany w folderze
\GCfg.
Opis kluczy w sekcji
[Config]:
WebServer - Klucz umożliwia zmienić port i protokół (
HTTP lub
HTTPS) na którym będzie nasłuchiwać wewnętrzny Web serwer oprogramowania
Serwer licencyjny PmLicServer.
Jeżeli nie jest ustawione, wtedy zostanie zastosowana wartość domyślna
http://+:5656/, to znaczy, że zostanie zastosowany protokół
HTTP na porcie
5656.
Znak
";" na początku wiersza zmieni wiersz na komentarz i wiersz nie jest wtedy brany poduwagę.
Przykład1:
Przykład pliku konfiguracyjnego PmLicServer.ini dla protokołu HTTP, localhost, i portu 5656. Dla serwera licencyjnego pracującego w trybie lokalnym, jest zalecane z powodów bezpieczeństwa ograniczyć nasłuchiwanie Web serwera tylko na interfejsie localhost (127.0.0.1 lub ::1).
[Config]
WebServer=http://127.0.0.1:5656/
Przykład2:
Przykład pliku konfiguracyjnego PmLicServer.ini dla protokołu HTTP i portu 81
[Config]
WebServer=http://+:81/
Przykład3:
Przykład pliku konfiguracyjnego PmLicServer.ini dla protokołu HTTPS i domyślnego portu 443
[Config]
WebServer=https://+:443/
LogRefresh - Klucz umożliwia ustawić, czy do pliku Log należy (wartość
1) lub nie należy (wartość
0) zapisywać również informacja o odświeżeniu licenji przez klienta (domyślnie z periodem 1 minuta dla każdego klienta).
Przydatne podczas weryfikowania problemów z licencją sieciową, ale w dłuższej perspektywie usunie ważne informacje o uzyskiwaniu i zwalnianiu licencji przez klienta z plików kołowych.
Jeżeli nie jest ustawione, wtedy zapis informacji o odświeżeniu licencji klienta do pliku Log jest wyłączony (wartość
0).
Przykład:
Przykład pliku konfiguracyjnego PmLicServer.ini w celu zezwolenia zapisu periodycznego odświeżania licencji klienta do pliku Log
[Config]
LogRefresh=1
Medium - Klucz określa, czy serwer licencyjny będzie działać w trybie lokalnym lub sieciowym.
hwkey:none (domyślnie) - Tryb lokalny. Tylko dla odczytu nośników licencji
hwkey i
swkey z komputera lokalnego (aplikacja i serwer licencyjny znajdują się na tym samym komputerze).
hwkey:k1234 - Sieciowy tryb z kluczem sprzętowym zabezpieczającym serwer licencyjny. Nośniki licencji
netkey można odczytywać również po sieci. Nośniki licencji
hwkey i
swkey można odczytywać tylko z lokalnego komputera (aplikacja i serwer licencyjny znajdują się na tym samym komputerze).
Przykład:
Przykład pliku konfiguracyjnego PmLicServer.ini do ustawienia konkretnego klucza sprzętowego z numerem licencji 1234 w celu ochrony samego serwera licencyjnego (tryb sieciowy).
[Config]
Medium=hwkey:k1234
Uruchomienie protokołu HTTPS serwera licencyjnego:
Do implementacji serwera licencyjnego (Web serwer) jest wykorzystana "usługa HTTP" SO
Windows. Konfiguracja protokołu
HTTPS jest takie samo, jak w przypadku protokołu
HTTPS obiektu
PmaWeb, tzn. przy pomocy programu użytkowego
PmHttpConfig.exe (jest konieczne ustawienie praw, import certyfikatu serwera i jego połączenie z danym Web serwerem).
Monitoring funkcjonowania serwera licencyjnego
Oprogramowanie umożliwia monitorowanie zarówno bieżącego stanu przydzielania licencji sieciowych, jak również historii logowania i wylogowywania sieciowych klientów licencyjnych. Monitoring jet możliwy również przy pomocy Web interfejsu.
Serwer licencyjny PmLicServer zawiera wbudowany Web serwer, które pod swoim adresem, protokołem i portem oferuje stronę
info.html oraz
log.html. Na przykład
http://localhost:5656/info.html oraz
http://localhost:5656/log.html.
Plik Log jest wytworzony automatycznie w folderze
\GTemp.
Zachowanie aplikacji PROMOTIC podczas utraty połączenia z serwerem licencyjnym
Jeżeli dojdzie do trwałej awarii cyklicznej komunikacji z serwerem licencyjnym, lub
jeżeli dojdzie do ogólnej utraty połączenia z nośnikiem licencji (klucz sprzętowy niedostępny dla serwera licencyjnego lub bezposŕednio do aplikacji), wtedy
uruchomiona aplikacja PROMOTIC przechodzi kolejno do następujących stanów:
1) informowanie - najpierw w błędach globalnych pojawia się informacja o utracie komunikacji z serwerem licencyjnym. Aplikacja przejdzie do tego stanu już podczas pierwszej awarii komunikacji cyklicznej. Ten stan trwa około 10 minut.
2) ostrzeżenie - potem zostaje wyświetlone okno ostrzegawcze (powtórnie, jeżeli zostanie zamknięty przez obsługę) i w globalnych błędach pojawia się ostrzeżenie o utracie komunikacji z serwerem licencyjnym. Ten stan trwa około 48 godzin.
3) błąd - w końcu sytuacja jest podsumowana jako błą, aplikacja jest natychmiastowo zatrzymana i w błędach globalnych pojawi się błąd licencji.
Stany 1) i 2) bezzwłocznie zostaną zakończone przy pierwszej pomyślnej komunikacji cyklicznej z serwerem licencyjnym lub przy odzyskaniu dostępu do nośnika licencji. Jeżeli dojdzie do trwałej utraty komunkacji z serwerem licencyjnym, wtedy aplikacja zostanie zatrzymana po 48 godzinach.
W celu stwierdzenia czasu trwania błędu komunikacji z serwerem licencyjnym można zastosować metodę
Pm.LicenceInfo(10).
Przy niedziałającym połączeniu z serwerem licencyjnym lub braku nośnika licencji aplikacji PROMOTIC w ogóle nie można uruchomić. Zabezpieczenie zwłoką w czasie przed samym zatrzymaniem aplikacji, przy niedziałającym połączeniu z serwerem licencyjnym dotyczy tylko wcześniej uruchomionej aplikacji.
Uruchomienie plików licencyjnych SWK na serwerze licencyjnym i u klienta
a) Serwer licencyjny - Plik licencyjny jest konieczne skopiować do foldera "
?:\Promotic\Licences".
[Licence]
Medium=netkey:http://192.168.1.99:5656/Pm1234.swk
lub
Medium=swkey:Pm1234.swk
, gdzie
netkey oznacza licencję sieciową,
http lub
https określa protokół, następuje adres IP lub nazwa komputera, port wewnętrznego Web serwera i nazwa licencyjnego pliku SWK.
Uwaga:
Zalogowany użytkownik
Windows musi posiadać zezwolone uprawnienia zapisu do następujących plików: