Serwer licencyjny PmLicServer jest częścią składową pakietu instalacyjnego PROMOTIC 9.
Serwer licencyjny PmLicServer umożliwia
oferowanie licencji dla aplikacji PROMOTIC
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ą zostać uruchomione na różnych komputerach (w ramach sieci), ale ilość jednocześ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 jednocześ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 za pomocą serwera licencyjnego jest funkcjonalność tego rozwiązania również w trybie pulpitu zdalnego (
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 wczytuje 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 - Wykona dodanie usługi SO 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ę SO Windows dla oprogramowania Serwer licencyjny PmLicServer. Podczas deinstalacji oprogramowania zostanie wykonane automatycznie.
PmLicServer -s - Wykona uruchomienie usługi SO Windows dla oprogramowania Serwer licencyjny PmLicServer.
PmLicServer -k - Wykona zatrzymanie usługi SO 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 dopliku
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 o numerze 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.
Funkcjonowanie 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
Windows użytkownik musi posiadać zezwolone uprawnienia zapisu do następujących plików: