Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski
Architektura jednowarstwowa
Architektura dwuwarstwowa: systemy klient-serwer SZBD Aplikacja 1 BD Aplikacja 2 Aplikacja 3 stacja 1 stacja 2 stacja 3
Funkcje klienta (aplikacji klienckiej) Obsługa komunikacji z użytkownikiem (interfejs użytkownika) Wysłanie zapytań do serwera i odbiór wyników Ewentualne dalsze przetwarzanie danych Wizualizacja wyników „Cienki” klient – minimalny / zerowy zakres przetwarzania danych „Gruby” klient – znaczny zakres przetwarzania danych
Funkcje serwera (serwera bazy danych) Obsługa komunikacji z klientami Kontrola dostępu Analiza i optymalizacja zapytań Wykonanie zapytań przy uwzględnieniu: kontroli spójności bazy danych mechanizmów zarządzania transakcjami (blokady, dziennik) Odesłanie wyniku do klienta
Architektura 2.5-warstwowa
Architektura 2.5-warstwowa Zalety: poprawa wydajności (mniejszy przesył danych) poprawa bezpieczeństwa (kontrola dostępu do procedur) Wymagania: niezbędna znaczna moc obliczeniowa serwera
Architektura trójwarstwowa
Funkcje serwera aplikacji Obsługa komunikacji z klientami Realizacja „logiki aplikacji” (przetwarzanie reguł biznesowych – przetwarzanie danych)
Architektura trójwarstwowa (inne ujęcie)
Wielowarstwowe internetowe systemy bazodanowe
Funkcje elementów systemów internetowych Klient (przeglądarka) – prezentacja stron internetowych, umożliwienie wprowadzania informacji Serwer WWW – odbieranie zgłoszeń od przeglądarki, odsyłanie żądanych stron lub kierowanie żądań do serwera aplikacji, formatowanie stron otrzymanych od serwera aplikacji i odsyłanie ich do przeglądarki Serwer aplikacji – analiza żądań od serwera WWW, wysyłanie zapytań SQL do serwera bazy danych, przetwarzanie danych (logika aplikacji – reguły biznesowe), generowanie stron (danych do stron) dla serwera WWW Serwer bazy danych – realizacja zapytań SQL (według poprzednich reguł)