Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Serwer licencyjny PmLicServer

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 typowo automatycznie uruchamiany po uruchomieniu komputera jako usługa SO Windows.
 
Warunkiem poprawnego funkcjonowania jest, aby komputery z aplikacją PROMOTIC (klienci licencji) miały dostęp sieciowy protokołem HTTP lub HTTPS do komputera z oprogramowaniem Serwer licencyjny PmLicServer. Do komunikacji pomiędzy aplikacją PROMOTIC i serwerem licencyjnym dochodzi nie tylko podczas uruchamiania aplikajci PROMOTIC, lecz komunikacja jest cyklicznie powtarzana (z periodem 1 minuta lub jeszcze wolniej). Sieciowe połączenie z serwerem licencyjnym musi funkcjonować przez cały czas biegu aplikacji PROMOTIC.
 
Licencje w serwerze lincencyjnym 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śnika 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 cyklicznie 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 skrzętowy, gdzie numer tego klucza sprzętowego musi być zapisany w pliku konfiguracyjnym PmLicServer.ini. Obecność zabezpieczającego klucza sprzętowego jest cyklicznie 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. Ustawienie zostanie wykonane przy pomocy PmManager jako usługa SO Windows wraz z automatycznym uruchomieniem po uruchomienia 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. W innych przypadkach 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. Konfigurację, zatrzymywanie i uruchamianie można wykonywać przy pomocy standardowych środków SO Windows. Jednotlivé 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ę. 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 powstanie 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 protokoł HTTP i port 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ł HTTP, localhost, i portu 5656. Dla Serwera Licencyjnego pracującego w trybie lokalnym, jest zalecane z powodów bezpieczeństwa ograniczyć nasłuchiwanie WebSerwera 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ł HTTP i portu 81
[Config]
WebServer=http://+:81/
Przykład3:
Przykład pliku konfiguracyjnego PmLicServer.ini dla protokoł 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 PC).
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 PC).
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. Ustawienie 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 powstanie 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świetlony dialog ostrzegawczy (jeżeli zostanie zamknięty przez obsługę to powtórnie) 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 sewerem 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 folderu ?:\Promotic\Licences.
b) Klient licencyjny - W INI pliku aplikacji (dla runtime - PmRt) lub w INI pliku PROMOTIC (dla środowiska deweloperskiego - PmDev oraz PmDevSchool (od wersji Pm8.3.0) jest konieczne wytworzyć sekcję [Licence] a w niej klucz Medium w następujący sposób (odniesienie do Serwer licencyjny PmLicServer oraz do konkretnego Sieciowy klucz licencyjny):
[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:
- do plików app.ini aplikacji PROMOTIC związanych z usługą Serwer licencyjny PmLicServer

Historia:
Pm9.00.09: Uruchomienie lokalnego tybu serwera licencyjnego dla nośników licencji hwkey i swkey.
Pm9.00.03: Zmiana nazwy i modyfikacja serwera licencyjnego.

W poprzednich wersjach nosił nazwę PmNetKey.exe i był dostępny jako niezależny plik instalacyjny.

Obecnie nosi nazwę PmLicServer.exe a jego instalacje jest częścią programu instalacyjnego danej wersji PROMOTIC (w programie instalacyjnym można wybrać również instalację samego PmLicServer).

Pm8.03.23: Wydłużenie czasu działania runtime podczas utraty łączności z serverem licencyjnym z 12 godzin do 48 godzin
Pm8.02.00: Wytworzono
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice