„Többrétegű architektúra” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
a Helyesírás
Négyrétegű architektúra
1. sor:
A '''többrétegű architektúra''' (vagy n rétegű architektúra) a szoftverfejlesztésben alkalmazott [[kliens-szerver architektúra]], melyben a megjelenítés, az adatkezelés és az üzleti logika különálló folyamatokra van bontva. Az alkalmazás rétegekre bontásával a fejlesztők könnyen karbantartható és fejleszthető rendszereket hozhatnak létre, mivel elegendő egy-egy réteget javítani illetve bővíteni az egész alkalmazás módosítása helyett. A leggyakrabban alkalmazott rétegelés a háromrétegű architektúra. A réteges szerkezetben minden réteg csak a szomszédaival kommunikál, az egyiktől szolgáltatásokat vesz igénybe, a másiknak szolgáltatást nyújt.
 
==Háromrétegű architektúra==
9. sor:
*''Üzleti logika:'' ezen réteg feladata az üzleti folyamatok futtatása, hosszú életű tranzakciók kezelése. Itt kerül sor az adatok szélesebb hatókört, több adattípust átölelő szabályainak kikényszerítésére is.
*''Perzisztencia:'' az adatok tartós tárolásával foglalkozik. Itt történik meg a szűkebb hatókörrel rendelkező adatszabályok kikényszerítése és gyakran az objektum és relációs adatmodellek közötti leképezés is.
 
Ha a megjelenítést és az üzleti logikát összevonjuk, akkor a hagyományos kétrétegű szerver-kliens modellhez jutunk.
===Használata webalkalmazásoknál===
A webfejlesztés területén belül a "háromrétegű" kifejezéssel gyakran weboldalakra, azon belül is általában e-commerce weboldalakra utalnak. Ezek a weboldalak leggyakrabban az alábbi struktúra alapján épülnek fel:
17 ⟶ 19 sor:
===A háromrétegű architektúra és az MVC architektúra===
A háromrétegű architektúrát gyakran keverik a megjelenítésben használatos [[MVC]] (Model-View-Controller) architektúrával. Fontos megemlíteni, hogy míg az MVC-nél a View és a Controller egyaránt kommunikál a Modellel addig a három rétegű architektúránál ez nem történik meg. A megjelenítés réteg csak az üzleti logikán át érheti el a perzisztenciát. A három réteg jelenti alapesetben azokat a választóvonalakat, amelyek mentén a horizontális skálázás megoldható. Amennyiben [[skálázhatóság]], robusztusság vagy egyéb szempontok miatt nem elegendő a három réteg, akkor a három réteget újabb rétegekre lehet bontani. Ennek egy gyakori példája, amikor a perzisztencia réteget két rétegre bontjuk: az egyik az [[ORM]] (objektum-relációs leképezés) által megvalósított DAO ([[Data access object]]) tervezési minta mentén megvalósított réteg, míg alatta a hagyományos adatbázis réteg helyezkedik el.
==Négyrétegű architektúra==
Négyrétegű esetben a megjelenítés és az üzleti logika rétegek közé egy alkalmazás réteget iktatnak be. A Domain Driven Design a négyrétegű architektúráról ír, de a tartomány rétegre összpontosít.<ref>Domain-Driven Design, the Book pp. 68-74. Retrieved from http://www.domaindrivendesign.org/books#DDD.</ref>
 
A négyrétegű architektúra rétegei:
*''Megjelenítés''
*''Alkalmazás'', nevezik szolgáltatás rétegnek<ref>[http://martinfowler.com/eaaCatalog/serviceLayer.html Martin Fowler's Service Layer]</ref><ref>[http://martinfowler.com/bliki/AnemicDomainModel.html Martin Fowler explains that Service Layer is the same as Application Layer]</ref> vagy GRASP vezérlő rétetgnek is <ref>[http://tech.groups.yahoo.com/group/domaindrivendesign/message/7582 Comparison/discussion of the GRASP Controller Layer vs. Application/Service Layer]</ref>)
*''Üzleti logika''
*''Perzisztencia''
 
==Források==