Bussines vrstva by mala definovat strukturu a sposob spracovania dat. Idealne v jazyku ktory je na hromadne spracovanie dat urceny, napr, plSQL.
Aplikacna vrstva by mala zabezpecit interface medzi bussines vrstvou a klientom.Napr, aplikacna vrstva pre php, koli websluzbam a alikacna vrstva v cecku pre desktop klienta, dalej napr pre python pre serverove scripty... Vyhoda je ta ze netreba siahat do uz otestovanej a spravne fungujucej bussines logiky.
Vpripade ze uzivatel nezvlada plsql tak je mozne pisat bussines logiku aj v jazyku v ktorom pise aplikacnu vrstvu, dost sa ale v tomto pripade stiera motivacia aby dosledne oddelil bussines logiku a aplikacnu logiku.
Cize ak by si to chel rozdelit na jednotlive vrstvy:
Datova - fyzicke ulozene data, ci uz subor alebo tabulky v rdbms
Bussines logika - sposob spracovania a ulozenia dat - zvedsa struktura databazy a procedury ktore data spracovavaju (vysvetlujte danovakovi ze float v php vam neulozi milardovu ciastu na korunu presne
Aplikacna logika - interface pre bussines logiku, riadenie opraveni, validacia vstupnych poziadavok - zvedsa nazyvane modely
Prezentacna vrstva(web) - zabezpeci odovzdanie dat z formularov do aplikacnej vrstvy, formatovanie vystupu cez sablony tak aby bol vhodny pre zobrazenie browserom, formatovanie vynimiek do citatelnej podoby. - view + controller(presenter)
Prezentacna vrstva(api) - ziskanie vstupnych dat, poziadaviek zo soap alebo json (a kadecoho ineho), odovzdania do plikacnej vrstvy a formatovanie dat alebo vynimiek ktore vrati aplikacna vrstva do spravneho formatu (spravidla rovnakeho typu ako bola poziadavka). - view + controller(presenter)
Tolko teoreticky pohlad, prakticky zalezi od toho na akej urovni su ludia ktory vo firme ke sa dostates uz pachali tu aplikaciu pred tebou. V lepsom pripade vcelku realisticky pokrcia pleciami ze zavadzat idealy by bolo uz priis nakladne a v horsom pripade budu mylne presvedceni o svojej jedinecnosti a s idealmi nezapadnes... Firiem kde by boli jednotlive vrstvy oddelene dosledne najdes bohuzial minimum...