Sr-1-wyk-1.0-Slajd32
Warstwy aplikacji
Opisywanie aplikacji poprzez rozróżnianie funkcji serwera i klienta jest niekiedy niewygodne i nieodpowiednie. Bardziej adekwatny jest podział warstwowy aplikacji, wskazujący na funkcje poszczególnych modułów. Najczęściej spotykanym podejściem jest wyróżnienie w aplikacji wielu warstw odpowiedzialnych za różne poziomy przetwarzania: poziom interfejsu użytkownika, poziom przetwarzania i poziom danych.
Poziom interfejsu użytkownika najczęściej jest częścią aplikacji-klienta, zawierając wszystko co jest niezbędne do przeprowadzenia bezpośredniej interakcji z użytkownikiem. Stopień skomplikowania interfejsu użytkownika może być bardzo różny: od prostego ekranu znakowego, poprzez interfejs webowy, aż do złożonego interfejsu graficznego.
Poziom przetwarzania to właściwa część aplikacji, zawierająca implementację określonego przetwarzania. Zakres działań wykonywanych przez tą warstwę może być bardzo różny i zależny od konkretnej aplikacji.
Poziom danych ma zapewnić przede wszystkim trwałość przechowywanych danych, oznaczająca możliwość dostępu do tych samych danych po wyłączeniu i włączeniu aplikacji. W najprostszej realizacji poziom danych może być zrealizowany w postaci plików, ale częściej stosowana jest do tego celu baza danych. Baza danych dodatkowo gwarantuje spójność danych pomiędzy wieloma aplikacjami. Dotyczy to zarówno schematu danych, jak i współbieżnego ich przetwarzania. Bazy danych mogą być zarówno typu relacyjnego (zastosowania biznesowe), jak i obiektowego (projektowanie wspomagane komputerowo, multimedia).
Przykład: wyszukiwarka internetowa. Interfejsem użytkownika w tym przypadku jest dokument HTML wyświetlany w przeglądarce. Po wysłaniu żądania do serwera następuje jego przetwarzanie, polegające na interpretacji zapytania, wyszukaniu surowych odpowiedzi, ich poklasyfikowaniu i przygotowaniu odpowiedzi w postaci odpowiedniego dokumentu HTML. Realizacja zapytania wymaga w tym przypadku sięgnięcia do bazy danych przechowującej indeks zawartości stron WWW w Internecie.