Elektronika Laboratoryjna - Monitoring temperatury i wilgotności
www.label.pl | LAB-EL Logo | tel. +48 22 753 61 30 | fax +48 22 753 61 35
LAB-EL » Dokumenty » Pomoc LBX » Praca sieciowa » Usługa systemowa

Strona pochodzi z pomocy programu LBX 4.11 do nadzoru klimatu - temperatury, wilgotności, co2, wiatru, ...
Producent urządzeń (termometry, higrometry, barometry, mierniki, rejestratory) oraz oprogramowania do monitoringu parametrów klimatu.

Do pobrania: Program LBX

lbxd - serwer LBX jako usługa systemowa Windows XP/Server 2003 i nowsze

lbxdnt.exe to część programu LBX pełniąca rolę serwera działającego pod kontrolą systemów rodziny Windows (Windows XP/Server 2003 i nowsze). Serwer działa jako usługa systemowa - to zapewnia automatyczny start serwera razem ze startem systemu operacyjnego, działanie niezależne od aktualnie zalogowanych (lub nie) użytkowników, analogicznie do daemon'ów w systemach unixowych. Plik programu ma nazwę lbxdnt.exe, nazwa usługi widziana w systemie to lbxd. Program przewidziany jest do pracy wyłącznie w systemach rodziny od wersji windows Windows XP/Server 2003 lub nowszych.
Z racji charakteru usług systemowych program serwera wymaga specjalnej instalacji w systemie. Po zainstalowaniu działaniem programu steruje się za pomocą menedżera usług - pozwala on na uruchomienie i zatrzymanie usługi. Program pozostaje w zasadzie niewidoczny - poza menedżerem usług i listą procesów go nie widać, nie posiada on np. własnego okna.

Instalacja automatyczna

Program LBX dokonuje wszystkich wymaganych czynności do zainstalowania serwera LBX jako usługi systemowej. Jedynym wymogiem jest ustawienie opcji serwera działającego jako usługa systemowa konfiguracja serwera

Instalacja ręczna

Instalacja polega na zarejestrowaniu programu w systemie - wiąże się z tym dokonanie odpowiednich wpisów w rejestrze. Rejestracja powinna być dokonana po umieszczeniu programu w docelowym miejscu (katalogu) z którego ma on działać. Instalacji dokonać mogą tylko użytkownicy z uprawnieniami administracyjnymi. Normalnie instalacja usługi dokonywana jest automatycznie jako etap procesu kompleksowej instalacji programu LBX - z dystrybucyjnej wersji instalacyjnej. Poniższy opis prezentuje bezpośrednie mechanizmy rejestracji używane przez program instalacyjny.
Program lbxdnt.exe umożliwia samodzielną bezpośrednią rejestrację usługi w systemie za pomocą opcji w linii wywołania:

lbxd.exe install [<data_path> <config_file>]

Przy rejestracji opcjonalnie można przekazać dwa parametry określające ścieżkę do katalogu w którym serwer będzie tworzyć swoje pliki danych, oraz ścieżkę do pliku konfiguracyjnego. Ścieżki powinny być podane w pełnej bezwzględnej postaci - począwszy od litery dysku. Odpowiednie katalogi muszą już istnieć - sam plik konfiguracyjny może nie być obecny, ale katalog w którym plik ma być musi istnieć. Jeżeli parametry te nie zostaną podane, domyślnie używany jest katalog w którym znajduje się program, plik konfiguracyjny rownież przyjmowany jest że znajduje się w tym katalogu i ma nazwę lbxd.cfg.

Usunięcie

Usunięcia usługi systemowej może dokonać tylko użytkownik z uprawnieniami administracyjnymi. Normalnie usunięcie usługi dokonywane jest automatycznie jako etap procesu odinstalowania programu LBX z systemu. Poniższy opis prezentuje bezpośrednie mechanizmy.
Program lbxdnt.exe umożliwia samodzielne wyrejestrowanie usługi w systemie za pomocą opcji w linii wywołania:

lbxd.exe remove

Wyrejestrowanie usługi nie wiąże się z jakimkolwiek usuwaniem plików - tego dokonuje właściwy program odinstalowujący oprogramowanie. Wyrejestrowanie oznacza zatrzymanie usługi (jeśli aktualnie jest uruchomiona) oraz usunięcie odpowiednich wpisów z rejestru, po których menedżer usług przestaje rozpoznawać program jako usługę.

Uruchomienie i zatrzymanie usługi

Po zainstalowaniu programu z dystrybucyjnej wersji instalacyjnej usługa jest rejestrowana w systemie i automatycznie startowana. Nie ma potrzeby ręcznego wystartowania usługi - również przy następnych startach systemu operacyjnego usługa będzie startowana automatycznie. Jeżeli zachodzi potrzeba ręcznego zatrzymania/uruchomienia usługi, do tego celu dostępne są następujące mechanizmy:

  • Po zainstalowaniu programu w katalogu instalacyjnym i dalej podkatalogu bin znajdują się dwa programy:
    lbxdnt_start.bat
    lbxdnt_stop.bat
    których uruchomienie odpowiednio uruchamia i zatrzymuje serwer.
  • Panel "usługi" (panel sterowania -> narzędzia administracyjne -> usługi) - to jest mechanizm zarządzania usługami udostępniany przez windows. Na liście usług serwer LBX figuruje jako "LAB-EL LBX serwer", z wewnętrzną nazwą usługi lbxd. Z tego panelu można dokonać zatrzymania i wystartowania usługi, jak również ustawienia pewnych opcji typowych dla usług systemowych windows.
  • Polecenie "net", które jest składnikiem systemu windows służącego do zarządzania usługami z linii poleceń:
    net start lbxd
    net stop lbxd
    Powyższe polecenia startują i zatrzymują usługę lbxd.
  • Opcje programu lbxdnt.exe analogiczne do powyższych:
    lbxdnt.exe start
    lbxdnt.exe stop
    Powyższe polecenia startują i zatrzymują usługę lbxd.

Konfiguracja

Program serwera przechowuje swoją konfigurację w pliku, którego położenie i nazwa określone są w konfiguracji usługi dokonanej przy instalacji. Przy starcie usługi plik konfiguracyjny nie musi istnieć - zostanie on automatycznie utworzony przez program przy pierwszej rekonfiguracji przy pomocy programu klienta.
Położenie pliku konfiguracyjnego określone jest za pomocą wartości w rejestrze:

HKLM\SYSTEM\CurrentControlSet\Services\lbxd\Parameters\ConfigFile

Jeżeli wartość nie jest określona w rejestrze, używany jest katalog w którym znajduje się program lbxdnt.exe.
Wpis w rejestrze w typowym przypadku dokonywany jest w czasie instalacji programu.

Plik konfiguracyjny zawiera całą konfigurację dotyczącą serwera. Do konfiguracji serwera używa się programu klienta, łącząc się z serwerem i dokonując jego konfiguracji zdalnie. Sam serwer nie udostępnia żadnych mechanizmów konfiguracyjnych, pomijając możliwość określenia położenia pliku konfiguracyjnego.

Pliki danych

Program serwera w czasie działania korzysta z różnych plików danych, których lokalizację można określić indywidualnie w czasie konfiguracji. Jeżeli lokalizacje te nie zostaną określone, program używa katalogu określonego za pomocą wartości rejestru:

HKLM\SYSTEM\CurrentControlSet\Services\lbxd\Parameters\DataPath

Jeżeli wartość nie jest określona w rejestrze, używany jest katalog w którym znajduje się program lbxdnt.exe.
Wpis w rejestrze w typowym przypadku dokonywany jest w czasie instalacji programu.

Rejestracja zdarzeń

Ponieważ program serwera działa w tle, nie ma on możliwości bezpośredniej komunikacji z użytkownikiem. W celu umożliwienia przekazania informacji np. o występujących błędach w czasie działania, różnych istotnych zdarzeniach, itp, program korzysta z mechanizmu rejestracji zdarzeń.
Standardowym mechanizmem do rejestracji zdarzeń w systemie jest dziennik zdarzeń (Panel sterowania -> Narzędzia administracyjne -> Podgląd zdarzeń). Serwer lbxd używa domyślnie tego dziennika (jeżeli nie została określona inna konfiguracja), rejestrując w nim informacje wyłącznie o błędach oraz odnotowując start serwera. Wszystkie informacje zapisywane są w dziale dziennika "Dziennik aplikacji". W tym miejscu należy szukać informacji o ewentualnych problemach.
Istnieje możliwość ustawienia konfiguracji rejestracji zdarzeń przez serwer. Można określić użycie odpowiedniego pliku zamiast dziennika zdarzeń, jak również zwiększyć ilość informacji o zdarzeniach rejestrowanych przez program. Pomimo ustalenia dla serwera konfiguracji rejestracji np. do pliku, ciągle istnieje możliwość zapisu przez serwer informacji do systemowego dziennika zdarzeń - jeśli błędy wystąpią zanim program dotrze do odczytu konfguracji określającej inne miejsce rejestracji zdarzeń.
UWAGA: dla systemowego dziennika zdarzeń nie należy określać wyższego poziomu szczegółowości rejestracji niż poziom domyślny - dziennik systemowy nie jest przewidziany do rejestracji dużych ilości informacji, a tylko do istotnych zdarzeń. W celu rejestracji bardziej szczegółowej należy raczej skorzystać z pliku.

Punkty dostępu do serwera

W celu umożliwienia komunikacji z serwerem musi on udostępniać pewne punkty dostępu, do których mogą się dołączyć klienci. Punkty dostępu do serwera określa się w konfiguracji. Standardowo jest to port TCP/IP. Przy pierwszym starcie serwera jego konfiguracja nie jest określona, tym samym nie jest zdefiniowany żaden jawny punkt dostępu. W celu umożliwienia dołączenia się klienta w celu konfiguracji serwerów serwer udostępnia cały czas specjalny mechanizm komunikacji międzyprocesowej, z którego skorzystać musi program klienta. W typowym przypadku początkowej konfiguracji serwera program klienta uruchamiany jest na tym samym komputerze co serwer, następnie program klienta instruowany jest do bezpośredniego połączenia się z lokalnym serwerem - ma on odpowiednią opcję do wykorzystania tego specjalnego punktu dostępu. Jeżeli serwer zostanie skonfigurowany i określone zostaną inne punkty dostępu, to programy klienckie mogą z nich oczywiście korzystać, włączając w to lokalnego klienta działającego na tym samym komputerze co program serwera. Pomimo istnienia innych punktów dostępu serwer cały czas utzymuje lokalny mechanizm komunikacji z klientem - można z niego korzystać.