Aplikacje Klient/Serwer

Widoki Ekranów

 

Dla kontrastu warto wspomnieć aplikacje klient/serwer jako formę zdalnego obliczania, chociaż ściśle mówiąc nie są one "zdalnymi interfejsami graficznymi" tak jak zostało to tutaj zdefiniowane.

Aplikacja klient/serwer jest oprogramowaniem uruchamianym na komputerze klienta, która odwołuje się do zdalnego serwera. Wiele takich aplikacji tworzone jest w wizualnych językach programowania wysokiego poziomu, gdzie interfejs użytkownika, formularze oraz większość logiki zawarte jest w aplikacji klienta. Często aplikacje takie są aplikacjami baz danych, które tworzą zapytania bazodanowe do zdalnego serwera zawierającego centralną bazę danych (oczywiście może to być bardziej skomplikowane i wymagać innych metod przesyłania danych).

W aplikacji bazy danych właściwe obliczenia mogą być przeprowadzane przez zdalny serwer bazy danych, gdzie proces obliczeniowy wykonywany jest w pobliżu fizycznych danych. Przykładem zapytania bazy danych może być zwrot sumy pól o nazwie "koszt" we wszystkich rekordach, w których pole "rok" zawiera wartość 2001. Takich rekordów może być setki lub tysiące, lecz komputer klienta nie musi się martwić o samodzielne ich pobranie, posortowanie i wyliczenie tej sumy. Serwer bazy danych przegryzie się przez ten materiał i po prostu zwróci jeden malutki rekord z wynikiem dla klienta.

obrazek
Ten zrzut ekranu pokazuje przykład aplikacji klient/serwer działającej lokalnie na pewnym komputerze. Jest to ta sama aplikacja, którą w poprzednich rozdziałach pokazaliśmy w pracy zdalnej na kilku zrzutach ekranów Terminal Server oraz Citrix.

Aplikacja klient/serwer może pracować na kilku platformach, jeśli napisano ją w języku wieloplatformowym, lub też może być przeznaczona dla jednej platformy sprzętowej. W przypadku języka wieloplatformowego istnieje taka korzyść, iż aplikacja może potencjalnie udostępniać interfejs użytkownika o typowym wyglądzie dla danego systemu operacyjnego.

Problemem z aplikacjami klient/serwer jest to, iż muszą być zainstalowane na każdym komputerze użytkownika. W zależności od złożoności programu, środowiska tworzenia programu, ilości pracy włożonej przez twórcę do publikacji programu może to być tak proste jak utworzenie skrótu do programu wykonywalnego na dysku sieciowym lub tak trudne jak wiele godzin spędzonych na instalowaniu i konfigurowaniu oprogramowania i jego komponentów na każdym komputerze klienta.

obrazek
Aplikacje klient/serwer albo pracują lokalnie na komputerze klienta, albo poprzez coś w rodzaju Terminal Serwer, Citrix lub VNC. Mogą współpracować ściśle z lokalnym systemem operacyjnym w celu udostępnienia bogatego, szybkiego i łatwego w użyciu interfejsu dla użytkownika.

Pracując lokalnie na komputerze klienta aplikacje mogą również pracować z lokalnym sprzętem takim jak skanery, czytniki kodów kreskowych, modemy, przenośne nośniki danych, multimedialne karty graficzne z akceleratorami.

obrazek
W zależności od wykorzystywanego środowiska programowego aplikacje mogą być bardzo łatwe w projektowaniu i utrzymaniu często poprzez wizualny interfejs, gdzie powszechnie wymagana funkcjonalność jest uzyskiwana za pomocą wbudowanych obiektów lub własności.

Powyższy zrzut ekranu należy do bazy danych Microsoft Access pokazującej wbudowane edytory projektowania tabel, formularzy oraz raportów. Nawet średnio skomplikowane raporty i formularze można utworzyć właściwie bez pisania programu i jest to tak proste, iż praktycznie każdy może to używać. Dlatego właśnie MS-Access jest tak popularna w środowiskach zakładowych. Jeśli połączy się ją ze zdalnym serwerem baz danych, takim jak Oracle czy MS-SQL, to może zachowywać się jak aplikacja klient/serwer (jednakże należy tego unikać z uwagi na problemy z wydajnością i integralnością danych).

obrazek obrazek obrazek

obrazek

Tłumaczenie na język polski dla I LO w Tarnowie zostało wykonane za pisemną zgodą Nathana Linebacka z oryginalnej witryny internetowej Graphical User Interfaces
Tłumaczenie z języka angielskiego wykonał: mgr Jerzy Wałaszek

obrazek