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.

  1. Klient odešle požadavek Prohlížeč, mobilní aplikace nebo jiná služba volá URL či API endpoint.
  2. Vstupní hranice Webový server nebo reverse proxy předá HTTP požadavek aplikaci a může řešit TLS či technické limity.
  3. Ověření kontextu Backend validuje vstup, autentizuje volajícího a autorizuje konkrétní akci nad konkrétním zdrojem.
  4. Aplikační logika Služby pracují s databází, cache nebo integrací a vynucují pravidla domény.
  5. 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.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.