Struktura bazodanowych aplikacji internetowych.

ARCHITEKTURA Bazodanowych aplikacji WWW

Powszechnie stosowanÄ… architekturÄ… w aplikacjach internetowych jest architektura trójwarstwowa (rys1, załącznik), która wprowadza logiczny; funkcjonalny podziaÅ‚ aplikacji na trzy warstwy: warstwÄ™ podstawowÄ… - System zarzÄ…dzania bazÄ… danych SZBD, warstwÄ™ poÅ›redniÄ… - serwer WWW oraz warstwÄ™ koÅ„cowÄ… - klienta (komputer lub inne urzÄ…dzenie obsÅ‚ugujÄ…ce przeglÄ…darkÄ™ internetowÄ…). Taki podziaÅ‚ podyktowany jest wymogami poszczególnych aplikacji, które łączÄ… ze sobÄ… różne protokoÅ‚y sieciowe i programy. W aplikacjach sieciowych dąży siÄ™ zwykle do przeniesienia możliwie najwiÄ™kszego ciężaru aplikacji na stronÄ™ serwera, pozostawiajÄ…c klientowi zazwyczaj jedynie funkcje interfejsu z użytkownikiem. W takiej sytuacji aplikacja jest Å‚atwiejsza w utrzymaniu – wiÄ™kszość lub caÅ‚ość kodu ulegajÄ…cego modyfikacji zwiÄ…zanej ze zmianami w bazie, rozbudowÄ… lub poprawkami skupiona jest tylko w części serwerowej aplikacji.

Zadania wykonywane przez poszczególne człony architektury są następujące:

System zarządzania bazą danych - SZBD przechowuje dane używane przez system, obsługuje bazę z danymi tworzonymi, usuwanymi, modyfikowanymi i wyszukiwanymi przez użytkowników.
serwer aplikacji - serwer WWW odpowiedzialny za odbieranie żądań od klienta, łączenie się z serwerem baz danych, generowanie stron WWW na podstawie danych pobranych z bazy oraz zwracanie wyniku do klienta.
klient - komputer (lub inne urządzenie obsługujące protokół TCP/IP) wyposażone w przeglądarkę WWW. TCP/IP to efektywny protokół sieciowy, który przekazuje dane między aplikacjami przez In­ternet i ma mały wpływ na projektowanie bazodanowych aplikacji WWW.

Najczęściej wszystkie człony architektury działają na tej samej maszynie. Jednakże nie ma żadnych przeszkód ku temu, by uruchomić system zarządzania bazą danych na innym komputerze. Tego typu rozwiązanie stosuje się ze względów bezpieczeństwa, z uwagi na możliwość dysponowania pojemnościami dodatkowych dysków oraz z powodu większej wydajności. Jednakże z punktu widzenia programisty pierwsze rozwiązanie nie różni się niczym od drugiego.