trójwarstwowa architektura, która dzieli aplikacje na trzy logiczne i fizyczne warstwy obliczeniowe, jest dominującą architekturą oprogramowania dla tradycyjnych aplikacji klient-serwer.

co to jest architektura trójwarstwowa?,

Architektura trójwarstwowa to dobrze znana Architektura aplikacji, która organizuje aplikacje na trzy logiczne i fizyczne warstwy obliczeniowe: warstwę prezentacji lub interfejs użytkownika; warstwę aplikacji, w której przetwarzane są dane; oraz warstwę danych, w której przechowywane są i zarządzane dane związane z aplikacją.

główną zaletą architektury trójwarstwowej jest to, że ponieważ każda warstwa działa na własnej infrastrukturze, każda warstwa może być rozwijana jednocześnie przez oddzielny zespół programistów i może być aktualizowana lub skalowana w razie potrzeby bez wpływu na inne warstwy.,

przez dziesięciolecia Architektura trójwarstwowa była dominującą architekturą dla aplikacji klient-serwer. Obecnie większość aplikacji trójwarstwowych jest celem modernizacji, przy użyciu technologii natywnych w chmurze, takich jak kontenery i mikroserwisy, oraz migracji do chmury.

trzy warstwy w szczegółach

warstwa prezentacji

warstwa prezentacji jest interfejsem użytkownika i warstwą komunikacyjną aplikacji, w której użytkownik końcowy wchodzi w interakcję z aplikacją. Jego głównym celem jest wyświetlanie informacji i zbieranie informacji od użytkownika., Ta warstwa najwyższego poziomu może działać na przykład w przeglądarce internetowej, jako aplikacja komputerowa lub graficzny interfejs użytkownika (GUI). Warstwy prezentacji internetowych są zwykle tworzone przy użyciu HTML, CSS i JavaScript. Aplikacje desktopowe mogą być pisane w różnych językach w zależności od platformy.

warstwa aplikacji

warstwa aplikacji, znana również jako warstwa logiczna lub warstwa środkowa, jest sercem aplikacji., W tej warstwie informacje zebrane w warstwie prezentacji są przetwarzane-czasami w stosunku do innych informacji w warstwie danych-przy użyciu logiki biznesowej, określonego zestawu reguł biznesowych. Warstwa aplikacji może również dodawać, usuwać lub modyfikować dane w warstwie danych.

warstwa aplikacji jest zwykle rozwijana przy użyciu Pythona, Javy, Perla, PHP lub Ruby i komunikuje się z warstwą danych za pomocą wywołań API.

Warstwa danych

Warstwa danych, czasami nazywana warstwą bazy danych, warstwą dostępu do danych lub zapleczem, jest miejscem przechowywania i zarządzania informacjami przetwarzanymi przez aplikację., Może to być relacyjny system zarządzania bazami danych, taki jak PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix lub Microsoft SQL Server, lub serwer baz danych NoSQL, taki jak Cassandra, CouchDB lub MongoDB.

w aplikacji trójwarstwowej cała komunikacja przechodzi przez warstwę aplikacji. Warstwa prezentacji i Warstwa danych nie mogą komunikować się bezpośrednio ze sobą.

warstwa a warstwa

w dyskusjach na temat architektury trójwarstwowej warstwa jest często używana zamiennie-i błędnie – dla warstwy, jak w „warstwie prezentacji” lub ” warstwie logiki biznesowej.,'

nie są takie same. „Warstwa” odnosi się do funkcjonalnego podziału oprogramowania, ale „warstwa” odnosi się do funkcjonalnego podziału oprogramowania, który działa na infrastrukturze oddzielonej od pozostałych podziałów. Na przykład aplikacja Kontakty w telefonie jest aplikacją trójwarstwową, ale jednowarstwową, ponieważ wszystkie trzy warstwy są uruchamiane w telefonie.

różnica jest ważna, ponieważ warstwy nie mogą oferować takich samych korzyści jak warstwy.,

zalety architektury trójwarstwowej

ponownie główną zaletą architektury trójwarstwowej jest logiczne i fizyczne oddzielenie funkcjonalności. Każda warstwa może działać na oddzielnym systemie operacyjnym i platformie serwerowej – np. serwerze WWW, serwerze aplikacji, serwerze bazy danych-która najlepiej odpowiada jej wymaganiom funkcjonalnym. Każda warstwa działa na co najmniej jednym serwerze dedykowanym lub serwerze wirtualnym, więc usługi każdej warstwy można dostosować i zoptymalizować bez wpływu na inne warstwy.,

inne korzyści (w porównaniu z architekturą jedno – lub dwuwarstwową) obejmują:

  • szybszy rozwój: ponieważ każda warstwa może być rozwijana jednocześnie przez różne zespoły, organizacja może szybciej wprowadzać aplikację na rynek, a programiści mogą korzystać z najnowszych i najlepszych języków i narzędzi dla każdej warstwy.
  • ulepszona skalowalność: każda warstwa może być skalowana niezależnie od innych w razie potrzeby.
  • poprawiona niezawodność: awaria w jednej warstwie ma mniejszy wpływ na dostępność lub wydajność innych warstw.,
  • ulepszone zabezpieczenia: ponieważ warstwa prezentacji i Warstwa danych nie mogą komunikować się bezpośrednio, dobrze zaprojektowana warstwa aplikacji może działać jako rodzaj wewnętrznej zapory, zapobiegając iniekcjom SQL i innym złośliwym exploitom.

trzypoziomowa aplikacja w tworzeniu stron internetowych

w tworzeniu stron internetowych warstwy mają różne nazwy, ale spełniają podobne funkcje:

  • serwer WWW jest warstwą prezentacji i zapewnia interfejs użytkownika., Zazwyczaj jest to strona internetowa lub witryna internetowa, na przykład witryna ecommerce, w której użytkownik dodaje produkty do koszyka, dodaje szczegóły płatności lub tworzy konto. Zawartość może być statyczna lub dynamiczna i jest zwykle rozwijana przy użyciu HTML, CSS i Javascript .
  • serwer aplikacji odpowiada warstwy środkowej, mieszczącej logikę biznesową używaną do przetwarzania danych wejściowych użytkownika. Aby kontynuować przykład ecommerce, jest to warstwa, która zapytuje bazę danych zapasów, aby przywrócić dostępność produktu lub dodaje szczegóły do profilu klienta., Ta warstwa często rozwijana przy użyciu Pythona, Ruby lub PHP i uruchamia framework taki jak e Django, Rails, Symphony czy ASP.NET na przykład.
  • serwer bazy danych jest warstwą danych lub zaplecza aplikacji internetowej. Działa na oprogramowaniu do zarządzania bazami danych, np. MySQL, Oracle, DB2 lub PostgreSQL.

inne architektury wielowarstwowe

chociaż Architektura trójwarstwowa jest z łatwością najbardziej rozpowszechnioną architekturą aplikacji wielowarstwowych, istnieją inne, które możesz napotkać w swojej pracy lub badaniach.,

Architektura dwuwarstwowa

Architektura dwuwarstwowa to oryginalna architektura klient-serwer, składająca się z warstwy prezentacji i warstwy danych. W architekturze dwuwarstwowej warstwa prezentacji – a co za tym idzie użytkownik końcowy – ma bezpośredni dostęp do warstwy danych, a logika biznesowa jest często ograniczona. Prosta aplikacja do zarządzania kontaktami, w której użytkownicy mogą wprowadzać i pobierać dane kontaktowe, jest przykładem aplikacji dwuwarstwowej.,

Architektura N-warstwowa

Architektura N-warstwowa – zwana również architekturą wielopoziomową-odnosi się do dowolnej architektury aplikacji z więcej niż jedną warstwą. Ale aplikacje z więcej niż trzema warstwami są rzadkie, ponieważ dodatkowe warstwy oferują niewiele korzyści i mogą sprawić, że aplikacja będzie wolniejsza, trudniejsza w zarządzaniu i droższa w obsłudze. W rezultacie Architektura n-warstwowa i architektura wielopoziomowa są zwykle synonimami architektury trójwarstwowej.,

Three-tier architecture i IBM Cloud

IBM Cloud oferuje produkty i usługi ułatwiające modernizację starszych trójwarstwowych aplikacji w drodze do chmury.

Zrób pierwszy krok:

  • niezależnie od tego, czy potrzebujesz pomocy w zakresie strategii, procesów lub możliwości—czy też chcesz zwrócić uwagę na kompleksową obsługę-dowiedz się, w jaki sposób IBM może pomóc w modernizacji aplikacji.
  • zacznij korzystać z kontenerowego oprogramowania pośredniczącego, które może działać w dowolnej chmurze-wszystkie dołączone do pakietu IBM Cloud Paks.
  • łatwo migruj istniejące obciążenia VMWare do chmury publicznej za pomocą rozwiązań IBM Cloud for VMware.,
  • Planuj i realizuj strategie modernizacji aplikacji w ramach trwającej transformacji cyfrowej, korzystając z usług IBM application modernization services.

zacznij korzystać z konta IBM Cloud już dziś.