Architektura systemów wykorzystuj
ą
cych bazy danych
(systemów bazodanowych)
Wykład
S. Kozielski
Architektura jednowarstwowa 1
Komputer
U
ż
ytkownik
SZBD
BD
Administrator
bazy danych
Architektura jednowarstwowa 2
Aplikacja
SZBD
BD
Serwer
Architektura dwuwarstwowa: systemy klient-serwer
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
SZBD
Aplikacja
Aplikacja
Aplikacja
Stacja 1
Stacja 2
Stacja n
Procedury
pami
ę
tane
Dane
Serwer
BD
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
SZBD
Klient
Klient
Klient
Stacja 1
Stacja 2
Stacja n
BD
Serwer bazy danych
Serwer aplikacji
Funkcje serwera aplikacji
•
Obsługa komunikacji z klientami
•
Realizacja „logiki aplikacji” (przetwarzanie reguł biznesowych –
przetwarzanie danych)
Architektura trójwarstwowa
(inne uj
ę
cie)
Klient
Klient
Klient
BD
Serwer bazy
danych
Serwer
aplikacji
Wielowarstwowe internetowe systemy bazodanowe
Przegl
ą
darka
(klient)
BD
Serwer
b. d.
Serwer
www
Serwer
aplikacji
Przegl
ą
darka
(klient)
Przegl
ą
darka
(klient)
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ł)
Prostsze rozwi
ą
zania: serwer WWW pełni równie
ż
rol
ę
serwera aplikacji