Pozrite si konkrétnu web aplikáciu v architektúre klient - api server
Meranie teplôt, ich ukladanie v databáze a ich dostupnosť pre zobrazenie v grafoch, pre stiahnutie súborov s nameranými teplotami.
Klientská aplikácia
Klientská aplikácia posiela HTTP požiadavky na endpointy definované na API servere a spracováva dáta vrátené odtiaľ a prezentuje ich používateľovi.
API server
API server má definované HTTP endpointy, kde po príjme HTTP požiadavky od klientského programu spúšťa časť programu, zistí dáta z databázy, spracuje ich a pošle v HTTP odozve späť.
Časti programu sú na rôznych endpointoch rôzne a zahŕňajú aj kontrolu prítomnosti informácie o zalogovanom používateľovi v klientovi v HTTP požiadavke.
Používateľ musí byť zaregistrovaný v databáze a oprávnený, aby v HTTP odozve dostal žiadané dáta.
Samostatný API server a samostatná klientská aplikácia - výhody
- ŠkálovateľnosťVýhoda:Umožňuje každému samostatnému softvérovému projektu (backend API server a frontend klient) rozširovať sa, rásť nezávisle podľa jeho konkrétnych potrieb.Príklad:API server môže obsluhovať viacero klientov, vrátane webových, mobilných a aplikácií tretích strán.
- Oddelenie zodpovedností, oddelenie cieľov, kde samostatné projekty dodávajú iba niektoré funkčnostiVýhoda:Každé samostatné softvérové projekty môžu byť vyvíjané, testované a nasadzované nezávisle, čo robí programový kód modulárnejším a ľahšie udržiavateľným.Príklad:Backend vývojári sa môžu sústrediť na hlavnú, podstatnú logiku a spracovanie dát, zatiaľ čo frontend vývojári sa môžu sústrediť na používateľský zážitok a interaktivitu.
- BezpečnosťVýhoda:API server poskytujúci a ukladajúci dáta v databáze, môže implementovať robustné bezpečnostné opatrenia, ako je autentifikácia a autorizácia, na ochranu citlivých údajov.Príklad:Klient komunikuje iba s API serverom, čím sa znižujú možnosti útoku a zabezpečujú sa bezpečné dátové transakcie.
- FlexibilitaVýhoda:Rôzne tímy môžu pracovať na samostatnom frontende a samostatnom backende súčasne, pričom používajú rôzne, iné softvérové technológie, frameworky, knižnice.Príklad:Frontend môže byť postavený s Reactom, zatiaľ čo backend môže používať Node.js a Express, čo umožňuje väčšiu flexibilitu pri výbere najlepších nástrojov pre každú časť aplikácie.
- Optimalizácia výkonuVýhoda:Samostatný API server môže byť optimalizovaný pre spracovanie dát a obchodnú logiku, zatiaľ čo samostatný klient môže byť optimalizovaný pre príjemný pocit používateľa pri prezentovaných informáciách a pohodlnú interaktivitu.Príklad:Náročné úlohy spracovania dát môžu byť riešené API serverom, čím sa uvoľní klient na poskytovanie plynulého a responzívneho používateľského rozhrania.
- Použiteľnosť v rôznych projektochVýhoda:Samostatný API server môže byť znovu použitý v rôznych projektoch alebo platformách, čím poskytuje konzistentný backend pre rôznych klientov.Príklad:Jeden API server môže obsluhovať webovú aplikáciu aj mobilnú aplikáciu, čím sa znižuje duplicita úsilia a zabezpečuje konzistentnosť.
- Zlepšený vývojový pracovný postupVýhoda:Umožňuje paralelný vývoj, kde tímy na samostatnom frontende a samostatnom backende môžu pracovať nezávisle a integrovať svoju prácu bez problémov.Príklad:Frontend vývojári môžu počas vývoja používať mock API, zatiaľ čo backend vývojári budujú skutočné API, čo vedie k rýchlejším vývojovým cyklom a lepšej spolupráci.
Pozrite si konkrétnu web aplikáciu v architektúre klient - api server