Pojďme se podívat, jak může vypadat taková moderní webová aplikace. "Webová" proto, že běží v internetovém prohlížeči. Může se jednat jak o aplikaci, která je dostupná jen pro danou firmu a není dostupná pro zákazníky a stejně tak se může jednat o aplikaci, která je určená pro zákazníky a je dostupné z internetu. Výhodou webových aplikací je, že aplikace běží v internetovém prohlížeči (což je dnes ve většině případů Google Chrome nebo Microsoft Edge), není potřeba instalace na lokálním počítači a aplikace je plně multiplatformní (to znamená, že bude fungovat v prohlížeči na operačním systému Microsoft Windows a stejně dobře bude fungovat i v prohlížeči na MacOS nebo ne Linuxu).
Takováto webová aplikace má dnes obvykle část zvanou front-end a část zvanou back-end. Front-end se zabývá prezentační vrstvou a logikou spojenou s prezentací dat. Back-end data zpracovává a ukládá. Front-end a back-end spolu komunikují pomocí API (Application Programming Interface). Existují různé způsoby jak takové propojení mezi front-endem a back-endem vytvořit, ale dnes bude zřejmě nejčastější REST API. To je rozhraní, které využívá HTTP protokol (stejný protokol jaký používá web) a většinou formát JSON (JavaScript Object Notation). Výhodou formátu JSON je, že je snadno čitelný i pro člověka, což se hodí při testování.
Front-end se většinou programuje v JavaScriptu, často používanými frameworky jsou React, Angular a Vue.js. Front-end se dá vyvíjet i v jazyce Python nebo v C# (framework Blazer).
Pro vývoj back-end části lze použít také JavaScript (framework Node.js), velmi často se používá C#, Java. PHP, nebo Python. Back-end obvykle ukládá data do databáze, přičemž rozlišujeme dva základní typy databází - SQL a NoSQL. Příkladem SQL databáze je Microsoft SQL server nebo Oracle database. SQL databáze (označované také jako relační databáze) pracují s databázovými tabulkami. Uložení dat v tabulkách předpokládá dobře strukturovaná data. NoSQL databáze používají jinou strukturu dat než tabulky a jsou mimořádně vhodné pro zpracování nestrukturovaných, rychle se měnících dat.
Zatím tedy máme popsány tyto části - front-end, back-end a databázi pro uložení dat. V praxi to může být ještě složitější, protože naše aplikace může podporovat nějaký složitější proces a potřebuje nějakou logiku, jak realizovat jednotlivé kroky procesu, jak procházet mezi jednotlivými obrazovkami. To by mohlo být řízeno back-endem nebo by to mohl určovat front-end, ale vhodnější je použít nějaký procesní engine. Příkladem takového procesního engine je třeba produkt Camunda. Procesní engine umožní relativně snadno vytvářet a upravovat implementované procesy, umí je zobrazit ve formě BPMN diagramu.
V některých případech může aplikace obsahovat složitou business logiku, která může být hard-coded, ale je vhodnější použít decision engine (tyto systémy se označují také jako business rule management system). Decision engine umí na základě vstupu vrátit výstup, například pokud mu aplikace pošle moje osobní údaje, systém vrátí kolik mě bude stát moje životní pojištění. Tento systém má nakonfigurováno jak se jednotlivé vstupné parametry (věk, váha, místo pobytu, zaměstnání, ...) promítnou do výstupu. Také tento systém umožní provést úpravu a změnit způsob výpočtu aniž by bylo třeba složitě upravovat programový kód.
Žádné komentáře:
Okomentovat