Table of Contents

Szoftverarchitektúrák alapjai

A szoftverarchitektúra a szoftverrendszer magas szintű szerkezetére utal, amely meghatározza, hogyan kommunikálnak az egyes komponensek és modulok egymással. Az architektúra célja a rendszerek karbantarthatóságának, újrafelhasználhatóságának és méretezhetőségének biztosítása.

Rétegekre bontás (Layered Architecture)

Példák a rétegekre

Előnyök: Könnyű karbantartás, különálló fejlesztés a rétegek között, jól definiált interfészek és nagyobb újrafelhasználhatóság.


Kliens-szerver modell

Definíció: A kliens-szerver modell egy olyan struktúra, ahol a kliens eszközök küldik el a kéréseiket egy központi szervernek, amely feldolgozza a kéréseket és visszaküldi az eredményt.

Fő jellemzők:

Példa: Webes alkalmazások, ahol a böngésző (kliens) elküldi a kéréseket a szervernek, amely HTML oldalakat vagy adatokat küld vissza.

Előnyök: A központosított szerver egyszerűsíti a karbantartást és biztonsági felügyeletet, a kliens és szerver komponensek különböző helyeken futtathatók.


Többrétegű architektúrák (n-tier Architecture)

Definíció: Az n-tier architektúra kiterjeszti a kliens-szerver modellt, több rétegre bontva a rendszert, így a kliens és szerver között további rétegek, például köztes szoftverek helyezhetők el.

Példa: 3 rétegű architektúra, ahol az alkalmazás három fő rétegre bomlik:

Előnyök: A rétegek közötti feladatok elkülönítése növeli a skálázhatóságot és a biztonságot, mivel minden réteg csak a közvetlenül szomszédos rétegekkel kommunikál. Az egyes rétegek függetlenül fejleszthetők és tesztelhetők.


Mikroszervizek (Microservices Architecture)

Definíció: A mikroszervizek architektúra a rendszert kisebb, független szolgáltatásokra bontja, amelyek külön-külön fejleszthetők és futtathatók.

Fő jellemzők:

Példa: Egy nagyobb webes alkalmazás, ahol a felhasználókezelés, a rendeléskezelés és a számlázás külön-külön mikroszervizként működik.

Előnyök: Fokozott rugalmasság, könnyebb skálázás és az egyes komponensek független fejlesztése és karbantartása.