Klient-Serwer

ITpedia

(Przekierowano z ServerSide)

Większość aplikacji klient/serwer jest projektowana w bardzo prostym modelu graficznym - rezydujący na PC program klienta wysyła komendy SQL do relacyjnej bazy danych. Czasami logika działania aplikacji, zwana niekiedy regułami biznesowymi, jest realizowana w formie procedur, które są zapisane i przechowywane w bazie danych.

Ponieważ w tym modelu istnieją tylko dwa elementy - aplikacja klienta i serwer bazy danych - jest on znany jako dwuwarstwowa architektura aplikacji. Dla wielu zastosowań jest to model wystarczający.

Jednak model dwuwarstwowy nie jest odpowiedni dla WWW, a przynajmniej dla złożonych aplikacji ukierunkowanych na transakcje, z powodu dużej liczby użytkowników, działających za pośrednictwem WWW, generujących ogromną liczbę transakcji.

Do tego dochodzi obciążenie dystrybucją, instalacją, uaktualnianiem i zarządzaniem kodem klienta na setkach PC. Problemy te rozwiązuje się przechodząc na przeglądarki webowe, stanowiące szeroko rozpowszechniony - ogólnodostępny interfejs.

Aplikacje korzystające z tej technologii mają architekturę trzywarstwową:

  • dane na serwerze wspierającym (back-end),
  • logika aplikacji i kod dostępu do danych na serwerze warstwy pośredniej,
  • aplikacja klienta.

Projektanci mają do wyboru trzy opcje połączenia systemu klient/serwer z WWW. Pierwsza jest prostym zaniechaniem eksploatacji istniejącej aplikacji i przepisaniem jej w technologii internetowej, wykorzystującej interfejsy Java, HTML, HTTP i serwer webowy.

Szeroko stosowane podejście drugie to model data publishing, który zakłada pobieranie istniejących danych klient/serwer i ich konwersję w serwerze webowym na format HTML lub tworzenie interfejsu do bazy danych. Zazwyczaj są to aplikacje typu read only.

W tym podejściu istnieją dwa zasadnicze problemy. Pierwszym jest interfejs przeglądarki, który zawiera niewiele mechanizmów dostępnych w typowej aplikacji klienckiej opartej na PC. Drugi to dostęp do bazy danych, uzyskiwany za pośrednictwem połączenia HTML z serwerem WWW, a następnie za pośrednictwem zewnętrznego interfejsu, takiego jak CGI (Common Gateway Interface) lub jednego z szeroko stosowanych serwerowych API firm Microsoft czy Netscape. HTTP i [[CGI] nie są odpowiednie dla wysokowydajnych aplikacji, przesyłających duże wolumeny danych.

Ostatnią opcją kojarzenia WWW i aplikacji klient/serwer jest przemieszczanie części logiki aplikacji do przeglądarek klienta w formie apletów Javy lub ActiveX. Użytkownicy mogą także przemieścić większość logiki aplikacji do serwera aplikacji warstwy pośredniej, często w połączeniu z jakimś rodzajem usług przetwarzania transakcji.

-
-