Backend, frontend i middleware - kilka pytań odnośnie terminologii tworzenia aplikacji internetowych

0

Witam,
Mam kilka pytań odnośnie terminologii tworzenia aplikacji internetowych.

Pytania:

  1. Czy frontend poza kodem widoku, w przypadku klienta grubego, oznacza rowniez logike biznesowa wykonywana u klienta? Tzn. serwer wysyla JSON/XML, a nastepnie u klienta reszta zajmuje sie JavaScript. Czy mozna to rowniez nazywac frontendem?
  2. Co zalicza sie do backndu: domysnie przyjmuje, ze sa to technologie jak Spring Data, EJB itp. Czasem jednak spotykam sie z nimi jako okresleniem middleware. Czym rozni sie middleware od typowego backenu?
  3. Skoro technologia klasy Spring/EJB to middleware, czym wlasciwie jest wlasciwy backend? Na mysl przychodza mi procedury skladowe dzialajace po stronie bazy. Czy mam racje?

Pozdrawiam,

2
  1. Nie wykonuje się logiki biznesowej u klienta ;). frontend to jest po prostu HMI z którym komunikuje się użytkownik i który nie wykonuje żadnych biznesowych funkcjonalności. Zwykle mówi sie tak na samą warstwę widoku/prezentacji, ale może to też być cała webowa aplikacja, razem z bazą danych (bo baza trzyma tylko informacje o tym jak aplikacja wygląda ;) ) -> jeśli na przykład cała logika siedzi po stronie jakichś webserwisów z którymi ta aplikacja webowa się komunikuje. Frontend to jest to "co użytkownik widzi".
  2. Middleware to technologie komunikacyjne, tzn one pozwalają różnym aplikacjom / komponentom komunikować się ze sobą. Middleware to jest "jak poszczególne części systemu komunikują się ze sobą".
  3. Backend to logika biznesowa, czyli to "co aplikacja robi". Zwykle tutaj wchodzą komponenty pisane z użyciem jakiegoś middleware. Bo o ile np. EJB to technologia middleware to twoje własne komponenty EJB to jest część backendu. Tak samo webservices jako takie, czy JAX-WS to są middleware, ale twoje webserwisy to jest backend.

Musisz rozgraniczyć sobie technologię od jej zastosowania. Spring MVC to jest framework do pisania aplikacji webowych, ale aplikacja oparta o Spring MVC nie koniecznie jest "frameworkiem do pisania aplikacji webowych" tylko raczej "aplikacją webową". Tak samo EJB to middleware, ale twoje własne komponenty oparte o EJB niekoniecznie ;)

0

Dziękuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1