Slovník pojmů
Backend
Backend chrání data a business pravidla mimo prohlížeč uživatele. Neznamená jen databázi nebo několik API endpointů; patří sem i integrace, plánované úlohy a provozní dohledatelnost.
Stručná definice
Serverová a aplikační část, která rozhoduje o výsledku operace.
Backend přijímá požadavek od webového frontendu, mobilní aplikace nebo jiné služby, ověří jeho kontext a provede potřebnou aplikační logiku. Může vytvořit objednávku, spočítat cenu, načíst data, zapsat změnu do databáze nebo předat práci externí integraci.
Hranice backendu není daná jedním procesem ani jedním repozitářem. Modulární monolit, samostatné API, importní worker i plánovaná konzolová úloha mohou být částmi stejného backendového systému. Architektura má odpovídat rozsahu produktu, ne módnímu názvu.
Jaký problém řeší
Společná pravidla a data pro více klientů
Backend je místo, kde se pravidla uplatní stejně pro administraci, e-shop, mobilní aplikaci i integrační službu.
- zpracování objednávek, plateb, cen, skladových rezervací a zákaznických dat
- ověření identity a konkrétního oprávnění před změnou dat
- API pro frontend, mobilní aplikaci, interní systém nebo partnera
- importy, exporty, webhooky, retry a komunikace s externími službami
- plánované úlohy, fronty zpráv, logování, monitoring a práci se soubory
Praktický příklad
Změna stavu objednávky není jen kliknutí v administraci
Administrace odešle požadavek na změnu stavu objednávky. Backend načte objednávku, ověří identitu uživatele, jeho oprávnění v dané organizaci a povolený přechod stavu. V databázové transakci uloží změnu a připraví navazující událost pro sklad nebo dopravce.
Frontend může zobrazit vhodné ovládání a srozumitelnou chybu, ale nesmí být jediným místem rozhodnutí. Uživatel může upravit klientský kód i samotný HTTP požadavek; server proto vždy kontroluje cenu, tenant i oprávnění z vlastních důvěryhodných dat.
Jak funguje
Od požadavku k bezpečnému výsledku
Diagram popisuje běžný tok, ne nutně samostatné servery.
- Klient odešle požadavek Prohlížeč, mobilní aplikace nebo jiná služba volá URL či API endpoint.
- Vstupní hranice Webový server nebo reverse proxy předá HTTP požadavek aplikaci a může řešit TLS či technické limity.
- Ověření kontextu Backend validuje vstup, autentizuje volajícího a autorizuje konkrétní akci nad konkrétním zdrojem.
- Aplikační logika Služby pracují s databází, cache nebo integrací a vynucují pravidla domény.
- Odpověď nebo úloha Klient dostane odpověď; delší nebo odolné zpracování může pokračovat ve frontě zpráv.
Důležité části
Pravidla, data a asynchronní práce mají rozdílné odpovědnosti.
Dobře navržený backend nerozmělňuje bezpečnostní a businessová rozhodnutí mezi klienta, databázi a náhodné endpointy.
Business logika
Popisuje, které změny jsou možné: například objednávka se nepotvrdí bez platných položek a oprávněného kontextu.
Datová konzistence
Transakce a constrainty chrání lokální stav i při souběžných zápisech. Nevrátí ale zpět již odeslaný e-mail nebo cizí API request.
Rozhraní a integrace
API, webhook nebo fronta mají mít jasný kontrakt, bezpečnostní pravidla a chování při chybě.
Asynchronní úlohy
Import, e-mail či synchronizace skladu nemusejí blokovat odpověď uživateli. Vyžadují retry, idempotenci a monitoring.
Pozorovatelnost
Logy, metriky a korelační identifikátory pomáhají dohledat, co se stalo mezi requestem, databází a vzdálenou službou.
Vztah k podobným pojmům
Backend není ani databáze, ani webový server.
Jednotlivé vrstvy spolupracují, ale mají odlišnou roli.
- Frontend
- Řeší rozhraní a pohodlí uživatele. Backend drží důvěryhodná pravidla a data.
- Webový server
- Přijímá HTTP provoz a směruje jej; obvykle neví, kdo smí změnit konkrétní objednávku.
- API
- Je kontrakt a vstup do služby. Backend za ním provádí vlastní rozhodnutí a práci s daty.
- Databáze
- Ukládá data a integritní pravidla. Backend určuje, v jakém procesu a s jakým oprávněním se změna provede.
Výhody a omezení
Více služeb není automaticky lepší backend.
Přínosy
- jednotná a serverově vynucená business pravidla
- sdílené API pro více druhů klientů
- kontrolovaná práce s daty, integracemi a asynchronními úlohami
- možnost auditu, monitoringu a oprav bez důvěry v klienta
Časté chyby
- považovat databázi nebo API za celý backend
- důvěřovat ceně, tenantovi nebo roli poslané klientem
- nechat dlouhé externí volání blokovat každý HTTP request
- rozdělit jednoduchý systém do mnoha služeb bez jasného provozního důvodu
Kdy dává smysl
Každá aplikace potřebuje důvěryhodnou část, rozsah se ale liší.
I jednoduchý formulář potřebuje místo, kde se vstup ověří a bezpečně uloží. U e-shopu, interního systému nebo marketplace integrace backend navíc koordinuje více kroků, oprávnění, souběh a chyby externích služeb.
Pro malý produkt může být vhodný přímočarý modulární monolit. Samostatný frontend, API gateway, workers a více služeb mají přínos až tehdy, když řeší reálné potřeby týmu, provozu nebo nezávislého vývoje.
Na co myslet
Důvěryhodnost nevzniká pouze použitím frameworku.
Bezpečnost, správnost a provozní odolnost jsou vlastnostmi návrhu a průběžných kontrol.
- ověřovat vstup, identitu i oprávnění na serveru
- držet krátké databázové transakce bez čekání na vzdálené služby
- navrhnout idempotenci a retry pro integrační zápisy
- logovat chyby bez úniků citlivých dat a měřit důležité toky
- testovat pravidla domény, API kontrakt a chyby souběhu
Časté otázky
Co backend je a co už ne
Je backend vždy PHP aplikace?
Ne. Backend je role; může běžet v PHP, Go, Pythonu nebo jiné technologii a část práce mohou provádět samostatní workeři.
Patří databáze do backendu?
Je běžnou závislostí backendu, ale není s ním totožná. Backend rozhoduje, kdy a jak se data čtou či mění.
Může frontend rozhodovat o oprávnění?
Může upravit rozhraní, ale rozhodnutí musí vynutit backend. Klientský kód i požadavek lze změnit.
Je API vždy celý backend?
Ne. API je rozhraní. Backend za ním zahrnuje pravidla, data, integrace, asynchronní úlohy i provozní chování.
Jak backend používám v praxi
Backend navrhuji kolem reálných datových a integračních toků.
V PHP aplikacích řeším e-shopy, interní systémy, API a integrace od validace a databáze až po retry a dohledatelnost chyb.