pakietowy_diagram_warstw_i_poziomow

Nigdzie w Internecie nie mogłem znaleźć grama informacji na temat tego diagramu, więc spróbuję w skrócie wyjaśnić jak on “działa” ;)

Pakietowy diagram warstw i poziomów przedstawia w jakiej relacji ze sobą pozostaje oprogramowanie (software) i sprzęt komputerowy (hardware) w zadanym Systemie Informatycznym. Kolumny tego diagramu to te części systemu, które pełnią określoną funkcję w przepływie informacji. Każda kolumna ma kontakt jedynie ze swoimi sąsiadami i tylko z tymi częściami systemu może bezpośrednio wymieniać dane. Zacznę od prawej:

  • Resources – zasoby systemu informatycznego, najczęściej jest to baza danych lub pliki
  • Integration – stanowi część systemu zapewniająca jednolity interfejs pomiędzy aplikacją, a bazą danych. DAO (Data Access Object) czyli komponent ujednolicający ten interfejs zapewnia połączenie między obiektowym językiem programowania, a relacyjną bazą danych
  • Business – część systemu, w którym rezyduje aplikacja. W tym miejscu następuje przetwarzanie i zarządzanie danymi wraz z większością logiki system informatycznego.
  • Presentation – przełożenie wystawionych danych przez aplikację do języka zrozumiałego przez oprogramowanie klienckie
  • Client – chyba najbardziej bliska zwykłym użytkownikom część systemu. Składa się ze sprzętu i oprogramowania klienckiego.

Przekazywanie danych oczywiście działa także w drugą stronę, np. z formularzy HTML lub wiersza poleceń, ekranu dotykowego itp. co również odpowiednio jest interpretowane przez servlety.

Wiersze natomiast odzwierciedlają hierarchiczny rozkład danego systemu komputerowego będącego częścią złożonego system informatycznego. Na samym dole znajdują się elementy sprzętu (hardware), następnie osadzony na nim system operacyjny, biblioteki, środowiska programistyczne, aż do końcowej aplikacji.

Skupmy się na powyższym diagramie. Zaprojektowałem go dla Internetowego Systemu Biblioteki, ale równie dobrze mógłby działać dla wielu innych internetowych przedsięwzięć np. sklepów internetowych, systemów aukcyjnych, for internetowych i wielu, wielu, wielu innych. Diagram oparłem na zestawie oprogramowania opensource’wego LAMP. Warto zauważyć też, że kolumny Business, Integration i Resources zostały osadzone na jednej fizycznej maszynie – serwerze WWW. Funkcję Presentation co prawda pełni osobna jednostka centralna, jednak zazwyczaj także jest osadzona na głównym serwerze razem z aplikacją, bazą danych i aplikacjami odpowiadającymi za ich interfejs z sąsiadami. Poniżej zamieszczam kilka odnośników do wspaniałych zasobów Wikipedii.

Legenda: LAMP, UI, HTML, Przeglądarka internetowa, Serwlet, Apache Tomcat, GNU Linux, PHP5, DAO, ODBC, PHP MyAdmin, SQL/DDL, MySQL.