Co to jest architektura wielopoziomowa?

W informatyce „architektura wielowarstwowa” to termin stosowany do układu komponentów lub oprogramowania, w którym różne funkcje wymagane do ukończenia operacji są podzielone na oddzielne fizyczne lub logiczne podziały. Każdy z segmentów większej architektury jest odpowiedzialny za wykonanie tylko określonego rodzaju zadania i jest w większości nieświadomy wewnętrznego działania otaczających je segmentów, które wykonują różne zadania. Najpopularniejszymi i najbardziej podstawowymi podziałami używanymi w architekturze wielowarstwowej są warstwy prezentacji, logiki i danych. Prezentacja jest odpowiedzialna tylko za pokazywanie informacji użytkownikowi, a warstwa danych jest odpowiedzialna tylko za przechowywanie lub pobieranie danych, podczas gdy warstwa logiki łączy je, stosując logikę programu do danych wejściowych użytkownika z prezentacji i wyjaśniając informacje z warstwy danych . Duże systemy komputerowe wykorzystują architekturę wielowarstwową, ponieważ oddziela ona różne punkty wykonania przepływu sterowania, umożliwiając kierowanie różnych precyzyjnych komponentów do aktualizacji, testowania lub debugowania, pozostawiając pozostałe moduły nietknięte.

Architekturę wielowarstwową można również określić jako architekturę wielowarstwową, chociaż istnieje różnica. W większości przypadków użycie terminu „architektura wielowarstwowa” oznacza, że ​​oddzielne komponenty systemu są w rzeczywistości zlokalizowane na fizycznie innym sprzęcie lub serwerach, podczas gdy system warstwowy może implementować tylko różne aplikacje działające w tej samej przestrzeni fizycznej. Jednak nie wszystkie systemy wielopoziomowe korzystają z oddzielnego sprzętu; mogą zamiast tego oddzielać funkcje tylko poprzez logiczne podziały, takie jak różne partycje na jednym dysku.

Większość architektury wielowarstwowej ma trzy różne warstwy, chociaż może być ich więcej, w zależności od potrzeb lub konfiguracji systemu. Pierwsza warstwa jest znana jako warstwa prezentacji i odpowiada za wyświetlanie przekazywanych do niej informacji, a także umożliwia użytkownikom wprowadzanie danych wejściowych, najczęściej za pośrednictwem graficznego interfejsu użytkownika (GUI). Warstwa prezentacji łączy się z warstwą logiczną, czyli obszarem, w którym są oceniane dane wejściowe użytkownika, dane są pobierane z warstwy danych i odbywają się określone przetwarzanie lub obliczenia. Warstwa logiczna jest mniej więcej tym, co tradycyjnie uważa się za standardową aplikację komputerową, chociaż nie ma możliwości bezpośredniego wyświetlania danych wyjściowych ani możliwości bezpośredniego odbierania danych wejściowych od użytkownika.

Warstwa danych odpowiada tylko za zapisywanie i odczytywanie danych i może przybrać postać tablicy dysków lub relacyjnego systemu zarządzania bazami danych (RDBMS). Chociaż warstwa danych jest odpowiedzialna za zarządzanie przechowywaniem i pobieraniem danych w konfiguracji architektury wielowarstwowej, nie ma świadomości kontekstu danych i zajmuje się tylko rekordami lub funkcjami wejścia i wyjścia dysku. Cechą definiującą warstwy w architekturze wielowarstwowej jest to, że żaden segment nie przekracza granic zadań, które mają wykonać, więc w warstwie prezentacji nie jest dostępna logika biznesowa ani funkcjonalność danych, a warstwa logiki nie może bezpośrednio lub bezpośrednio zapisywać plików uzyskać dostęp do GUI, przez który pracuje użytkownik. Wszystkie interakcje odbywają się za pośrednictwem komunikacji w stylu klient-serwer, przy czym każda warstwa służy w pewien sposób zarówno jako klient, jak i serwer, w zależności od tego, jaka interakcja ma miejsce.

Jednym z powodów, dla których duża sieć komputerowa może korzystać z systemu wielopoziomowego, jest fakt, że każdy niezbędny etap przepływu pracy jest modułowy i może być obsługiwany niezależnie od innych części. Oznacza to, że terminale lub GUI używane przez użytkowników mogą być zmieniane bez konieczności modyfikacji logiki lub warstw danych. Podobnie RDBMS lub fizyczne dyski pamięci masowej można zmienić bez wpływu na cokolwiek innego. Ta modułowość jest bardzo trudna, jeśli nie niemożliwa, do osiągnięcia w systemie jednopoziomowym, w którym wszystkie aspekty są zespawane w jedną skompilowaną aplikację.