Wielowarstwowa architektura komunikacyjna systemu baz danych

Architektura jednowarstwowa

Baza danych, system zarządzania baza danych i interfejs użytkownika udostępniony przez aplikację znajdują się na tym samym komputerze, tzn. baza danych znajduje się na tym samym komputerze, na którym jest przetwarzana i wykorzystywana.

Architektura wielowarstwowa

Architektura dwuwarstwowa klient-serwer

Aplikacja bazy danych składa się z dwóch części. Jedna z nich znajduje się na stacji użytkownika po stronie klienta, a druga z nich znajduje się na serwerze baz danych.

<!-- trzy obrazki -->

Typowe zadania serwera:

  • przechowywanie bazy danych
  • organizacja dostępu do bazy danych przy pomocy systemu zarządzania bazą danych
  • sprawdzanie uprawnień dostępu do danych
  • zapewnienie nienaruszalności węzłów integralności
  • obsługa współbieżności
  • realizacja zapytań aktualizacji i przetwarzania danych zleconych przez klienta poprzez wykonywanie poleceń SQL
  • konserwacja katalogu systemowego
  • sprawowanie kontroli nad spójnością bazy danych i niedopuszczenie do jej zaburzenia
  • wykonywanie archiwizacji bazy danych i jej odzyskiwanie w przypadku awarii

Typowe zadania klienta:

  • zapewnia obsługę interfejsu użytkownika (w przypadku tzw. "cienkiego" klienta - z wykorzystaniem przeglądarki internetowej)
  • przyjmowanie zleceń na operacje
  • przekazywanie zleceń do serwera aplikacji bazy danych
  • prezentacja danych uzyskanych z serwera baz danych

Zalety:

  • bezpieczeństwo serwera i danych
  • odciążenie centralnego komputera od obsługi interfejsu użytkownika
  • istnieje wiele technologii wspomagających takie rozwiązania

Wady:

  • trudniejsze administrowanie (wiele komputerów i aplikacji)
  • brak kontroli nad użytkownikiem i koszty eksploatacji komputerów
  • możliwe problemy z przepustowością
  • całkowity brak dostępu do danych w przypadku awarii serwera

Przykładem wykorzystania architektury klient-serwer jest system sprzedaży biletów z miejscówkami na dworcu kolejowym.

Architektura trójwarstwowa

Architektura ta składa się z trzech komponentów:

  1. serwera lub serwerów baz danych
  2. serwera pośredniczącego http(s), zawierającego serwer aplikacji
  3. komputerów klienta

<!-- rysunek -->

Typowe zadania serwerów baz danych - takie same jak w architekturze klient-serwer oraz dodatkowo wymiana danych z serwerem pośredniczącym http(s).

Typowe zadania serwera pośredniczącego http(s) (serwera aplikacji):

  • nasłuchiwanie żądań http(s)
  • przekazywanie żądań klienta do odpowiedniego serwera baz danych
  • przekazywanie otrzymanych odpowiedzi do klienta

Typowe zadania klienta:

  • zapewnienie interfejsu użytkownika z wykorzystaniem przeglądarki internetowej ("cienki" klient)
  • przyjmowanie zleceń na operacje przetwarzania danych
  • przekazywanie tych zleceń do serwera aplikacji
  • prezentacja danych otrzymanych z serwera aplikacji.

Przykładem wykorzystania architektury trójwarstwowej jest obsługa konta bankowego z wykorzystaniem przeglądarki internetowej.

UWAGA: w architekturach wielowarstwowych może być wykorzystywany tzw. "cienki" klient lub tzw. "gruby" klient.
"Cienki" klient to taki, który przyjmuje zlecenia na przetwarzanie danych i prezentuje wyniki tych zleceń otrzymanych z serwera baz danych. Serwer aplikacji i serwer baz danych muszą wtedy przetwarzać wszystkie zlecenia wszystkich klientów.
"Gruby" klient posiada część aplikacji, która może sprawdzać poprawność wprowadzanych danych oraz częściowo przetwarzać dane, do których klient miał prawo dostępu otrzymane z serwera baz danych lokalnie na komputerze klienta. Rozwiązanie takie odciąża serwer baz danych i serwer pośredniczący, ale powoduje trudności z aktualizacją po stronie klienta.

<!-- obrazek -->

Zalety:

  • większość zalet architektury klient-serwer
  • proste projektowanie i implementacja

Wady:

  • "silniejszy" sprzęt na serwery aplikacyjne
  • trudniejsze technologie

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.