Sprzedaż i Magazyn
Zamówienia · Faktury · Magazyn · Płatności
Zobacz nasz profil na Facebooku
Aktualna wersja 1.7

DuoKomp Sprzedaż i Magazyn - Dokumentacja

Rozdział 3.1.1.
Stanowiska robocze » Aplikacja kliencka »
LOGOWANIE I POŁĄCZENIE Z SERWEREM

Spis treści    

Logowanie

Z punktu widzenia użytkownika aplikacji klienckiej oraz jej interfejsu użytkownika, opisana w odrębnych rozdziałach struktura klient-serwer programu przejawia się przede wszystkim w konieczności zalogowania się do programu przy każdym uruchomieniu aplikacji klienckiej. Należy w tym celu skorzystać z ustalonego przez administratora loginu i hasła, które wprowadza się w specjalnym oknie logowania:

Łączność z serwerem

Okno logowania pojawia się przy każdym uruchomieniu programu, jednak jego rola nie ogranicza się do tej operacji. Jak było to już wspomniane w rozdziale o łączności sieciowej z serwerem, ustanowienie połączenia wymaga podania jego adresu sieciowego i numeru portu. Okno logowania pozwala wprowadzić również te parametry. O ile jednak port serwera żadko ulega zmianie i w znakomitej większości wypadków należy pozostawić domyślną wartość 4501, o tyle zwykle należy ustalić adres IP (ew. nazwę wg DNS) serwera. W praktyce będzie on z reguły wspólny dla wszystkich stanowisk klienckich, gdyż serwer jest tylko jeden. Domyślna wartość tego pola to localhost (odpowiednik 127.0.0.1), jednak jest ona poprawna tylko wówczas, gdy uruchamiana kopia aplikacji klienckiej znajduje się na tym samym komputerze co usługa serwera. W innych przypadkach należy ustalić adres komputera, na którym ta usługa działa, np. korzystając z narzędzi na karcie Sieć w Menedżerze Serwera.

Jeżeli logowanie do serwera o zadanym adresie i porcie powiedzie się, wówczas parametry te zapisywane są w pliku ds.ini w katalogu aplikacji klienckiej i wstawiane jako domyślne przy kolejnym wyświetleniu okna logowania. Dzięki temu wystarczy je zazwyczaj wprowadzić tylko raz.

Wylogowanie i wygaśnięcie sesji

Przeciwieństwem operacji logowania się jest wylogowanie, którego użytkownik może dokonać zasadniczo w każdej chwili klikając odpowiednią opcję w menu głównym aplikacji klienckiej.

Wszystkie okna poza samym oknem głównym zostaną wówczas zamknięte, a sesja użytkownika na serwerze usunięta. W aplikacji klienckiej objawi się to ponownym wyświetleniem okna logowania. Może się wówczas zalogować ponownie ten sam lub (najczęściej) inny użytkownik. Podobne skutki ma wygaśnięcie sesji, którego mechanizm opisany został w rozdziałach nt. działania bazy danych i serwera. W interfejsie aplikacji klienckiej wygaśnięcie sesji objawia się w ten sposób, że przy próbie wykonania operacji wymagającej połączenia z serwerem jest ona wstrzymywana i pojawia się okno logowania. Kontynuacja operacji jest możliwa pod warunkiem ponownego wprowadzenia poprawnej pary loginu i hasła.

W przypadku wygaśnięcia sesji niekoniecznie musi zalogować się ten sam użytkownik co poprzednio. Nie mniej jednak:

  • użytkownik logujący się po wygaśnięciu sesji nie może mieć niższego poziomu uprawnień niż poprzednik; innymi słowy jeśli wygasła sesja administratora, nie może w jego miejsce zalogować się zwykły użytkownik;
  • jeśli użytkownik logujący się w miejsce poprzednika nie ma uprawnień do wykonania operacji w związku z którą stwierdzono wygaśnięcie sesji, to wystąpi błąd braku uprawnień i operacja i tak nie zostanie wykonana; np. nie ma w żadnych okolicznościach możliwości zapisania faktury przez użytkownika, który ma uprawnienia tylko do magazynu, albo tylko do przeglądania danych.

Kliknięcie przycisku Anuluj w oknie logowania, bez względu na okoliczności w jakich zostało wyświetlone, spowoduje w każdym wypadku natychmiastowe zakończenie działania aplikacji klienckiej.

Błędy połączenia z serwerem

Podczas wykonywania operacji wymagających połączenia z serwerem mogą wystąpić różne błędy. W pewnym uproszczeniu dzielą się ona na 2 grupy:

  • błędy sieci,
  • błędy protokołu komunikacyjnego.

W przypadku błędu pojawia się odpowiedni komunikat i operacja nie może zostać wykonana. Błędy sieci wiążą się zwykle z problemami na poziomie stosu TCP/IP i są to przede wszystkim różnego rodzaju "socket errors" opisane szczegółowo w MSDN. Natomiast błędy protokołu występują, gdy z połączeniem jest wszystko w porządku, ale serwer odmawia wykoanania operacji. Typowymi przykładami są wygaśnięcie sesji (choć wówczas zamiast komunikatu błędu pojawia się po prostu okno logowania) lub brak uprawnień użytkownika do wykonania danej akcji.

Spis treści