Platforma Edee.one je nyní kompletně headless. Online projektům to nabízí řadu výhod
Edee.one se proměnil z coupled CMS na headless CMS. V našem článku zjistíte, jaké výhody to přinese všem online projektům, které na platformě poběží.
Přechod z coupled CMS na headless CMS: Motivace a výhody
Webové stránky jsou dnes nezbytnou součástí téměř každého podnikání, a proto je důležité zvolit vhodný systém pro jejich správu a publikaci. Správná volba hned na v začátku projektu vám v budoucnu ušetří řadu starostí a dodatečných nákladů.
V posledních letech je headless CMS stále populárnější alternativou k tradičním coupled CMS. Headless CMS je systém, který odděluje obsah od prezentace. To znamená, že poskytuje obsahové služby prostřednictvím rozhraní (API), bez omezení na konkrétní výstupní formát nebo technologii.
Headless CMS tak nabízí řadu výhod.
Vyšší výkon a rychlost webu
Headless CMS umožňuje vývojářům pracovat s moderními technologiemi, které výrazně zvyšují výkon a rychlost webových stránek. Například díky statickému generování stránek a klientskému JavaScriptu. To jsou pouze dva příklady, ale i díky nim se návštěvníkům zobrazí stránky prakticky okamžitě.
Flexibilita a kontrola nad frontendem
Vývojáři mohou pracovat odděleně na frontendu a backendu, což jim poskytuje větší kontrolu nad vzhledem a funkcemi webových stránek. Tuto flexibilitu lze využít k personalizaci a optimalizaci uživatelského zážitku na webu.
Multikanálová publikace
Headless CMS umožňuje publikovat obsah na různých kanálech, jako jsou webové stránky, aplikace a další, bez nutnosti přizpůsobovat backend. To lze využít k maximalizaci přístupnosti obsahu a k rozšíření dosahu na cílovou skupinu.
Atraktivita frontend vývoje
Vývojáři frontendu mohou preferovat volbu technologií, které se v budoucnu budou používat širším způsobem, namísto proprietárních nástrojů, které mohou být omezené využitím pouze u jednoho zaměstnavatele.
Modulárnost našeho rozhraní
Implementace našeho rozhraní, stejně jako naše moduly, reaguje na feature flagy tzn. systém je navržen tak, aby podporoval aktivaci a deaktivaci určitých funkcí. Tyto feature flagy umožňují rychle a jednoduše vypnout nebo zapnout specifické funkce systému.
Můžete tak například velmi rychle vypnout nebo zapnout třeba funkci Hlídacího psa u produktů, ale platí to pro jakýkoliv modul Edee.one.
Pokud je vybraná funkce vypnuta, systém automaticky omezí své rozhraní (API) tak, aby jej bylo jednodušší pro návštěvníky používat. To zahrnuje generování pouze nezbytné dokumentace a implementaci API, která odpovídá aktuálně povoleným funkcím.
Modulárnost s reakcí na feature flagy tedy umožňuje vývojářům rychle a jednoduše ovlivňovat chování systému bez nutnosti komplexních úprav kódu. To vám může přinést významnou úsporu peněz i času.
Napojení modelu na naši meta modelovou vrstvu
Funkcionalitu systému ale neovlivňují jen feature flagy. Naše modelové třídy jsou také obohaceny o takzvané traity. Trait je koncept v programování, který umožňuje vývojářům rozšiřovat funkce existujících tříd (modelů) bez nutnosti jejich přepisování.
Traity jsou jako malé „moduly“ funkcí, které mohou být použity v různých třídách. To znamená, že vývojář může „přidat“ funkce do svých modelů pouze tím, že použije příslušný trait. Tím lze snadno rozšiřovat funkce projektu bez nutnosti komplexní úpravy kódu.
Traity také umožňují vývojářům sdílet stejnou funkci mezi více třídami, což pomáhá udržovat kód čistý a srozumitelný.
Modely s podporou traitů jsou přímo napojeny na naši proprietární technologii ADaM (meta modelovou vrstvu), tzn. na klientských projektech lze jednoduše rozšířit entity o požadované data či funkce. Technologie ADaM hojně využívá naši knihovnu open-source Proxycian.
Nejprve přichází volba technologie a návrh rozhraní
Architekturu pro vývoj webových aplikací REST jsme zvolili kvůli řadě výhod. Jednoduchost a flexibilita umožňují snadnou integraci s různými typy aplikací, což zrychluje práci vývojářům a provozovatelům webů i e-shopů šetří peníze. V budoucnu se zaměříme také na podporu GraphQL.
Pro tvorbu kvalitního a úspěšného RESTful API existuje mnoho zdrojů a best practices. Mezi ty nejlepší patří dodržování zásad architektury REST, například používání správných HTTP metod pro operace s daty nebo používání konzistentního formátu pro výstupy a vstupy API. Dále je důležité dbát na bezpečnost a zabezpečení API.
Pro dokumentaci rozhraní jsme zvolili pokročilý nástroj OpenAPI specification. S jeho použitím můžete snadno a jednoduše definovat všechny aspekty svého API, včetně endpointů, vstupů a výstupů. Pro automatické generování dokumentace používáme vlastní nadstavbu nad knihovnou Swagger core.
Zabezpečení rozhraní
Implementované rozhraní pro frontendovou část aplikace je zabezpečeno pomocí Spring Security pro přihlášené uživatele. Zároveň jsou všechny endpointy zabezpečené pomocí basic autentizace. Tento způsob autentizace má výhodu ve snadné implementaci a použití.
Edee.one budeme dále zdokonalovat
V následujících verzích rozšíříme platformu Edee.one o rozhraní pro tzv. správu primárních dat aplikace. Primární data aplikace obsahují naše základní stavební entity, jako jsou katalog, produkt, kategorie, objednávka a další.
V rámci implementace se budeme zabývat například:
- Systémem částečné a hromadné editace
- Dynamickým rozšířením metamodelu
- Zabezpečením endpointů podle role přihlášeného uživatele
- Rate-limitingem
- Webhooky
Zjistěte víc o naší headless & e-commerce platformě Edee.one a zjistíte, proč jej používají i prestižní společnosti jako ČEZ, Moser nebo Warehouse #1.
Preferujete to spíš probrat osobně či po telefonu? Ozvěte se nám a rádi vám odpovíme na veškeré otázky.