Přejít k obsahu Přejít k hlavnímu menu

SUPERKODERS

Composable commerce a MACH: Revoluční modulární e‑commerce

Časově náročná implementace nových modulů? Práce se starým neudržovaným kódem? Technický dluh? Pomalé načítání? Pokud vás trápí podobné otázky, zkuste si přečíst následující článek, který se vám pokusí přiblížit composable commerce.

Petr Šebela 1. srpna 2023 14 min. čtení

Composable commerce představuje inovativní přístup v e‑commerce, který využívá již existujících řešení pro vytvoření aplikace. Propojením software pomocí API vzniká flexibilní prostředí, které umožňuje snadnou modifikaci a výměnu služeb za jiné. Díky tomu odpadá zdlouhavý vývoj s technickým dluhem a zaměřuje se na rychlý time-to-market a time-to-value.

Jaké jsou
výhody composable?

Koncept composable commerce spočívá ve využití již existujících řešení. Propojením přes API synchronizujete funkce jednotlivých software, které poskládají výslednou aplikaci. Koncoví uživatelé používají headless frontend, který je pomocí API propojený s backendem.

Při kombinaci s architekturou MACH je vytvořeno flexibilní prostředí, které snadno modifikujete výměnou za jiný software, takže není potřeba tyto služby udržovat in-house. Výhody konceptu composable commerce jsou:

Flexibilita a agilita (neomezen softwarem)

Existuje mnoho služeb, placených i open-source, které plní většinu požadavků. V případě potřeby je možné tato řešení přizpůsobit. Zvolte si jakékoliv vyhovující řešení, které podporuje přístup pro composable commerce (API rozhraní). Službu lze snadno vyměnit za jinou v případě, že vám přestane vyhovovat, aplikace tedy není vázána na konkrétní služby.

Dále můžete snadno implementovat různé prodejní kanály (web, mobilní aplikace, hlasový asistent…) díky využití API. Je možné si definovat, jak má výsledný produkt vypadat a fungovat. Služby jsou udržované poskytovatelem, jsou tedy aktuální a průběžně inovované bez potřeby údržby in-house.

Time-to-value

Využitím již existujícího, fungujícího a otestovaného software ušetříte čas za vývoj vlastního.

Time-to-market

Dostat produkt do reálného provozu a k zákazníkům je zcela zásadní. S composable commerce toho dosáhnete za podstatně kratší dobu.

Developer experience

Všechny aplikace jsou aktualizované, takže nepracujete se starým a neudržovaným kódem bez logiky. Řešíte pouze propojení a případné rozšíření.

Auto-scale

Aplikace běží na cloudu, který podporuje auto-scaling. Zabráníte tedy výpadkům při nárazových akcích, kdy bude web pod náporem uživatelů.

Zajímají tě články od SUPERKODERS?

Přihlas se k našemu newsletteru nebo nás sleduj na  sociálních sítích Externí odkaz .

Když flexibilita potká realitu,
aneb nevýhody composable

Využití konceptu composable commerce přináší také určité nevýhody. Týká se to hlavně případů využití placených externích služeb, které běží na externím cloudu poskytovatele. Open-source řešení na vlastním cloudu je většinou možné přizpůsobit.

Závislost na externích poskytovatelích

Externí služba běžící na cloudu poskytovatele může mít výpadek, který nemáte pod kontrolou. Záleží tedy na poskytovateli, jak je jeho služba spolehlivá a jak jsou schopní na výpadek reagovat.

Tyto služby také mohou přestat fungovat úplně, pokud se je poskytovatel rozhodne ukončit. Většina z nich ale nabízí vyšším tarifům SLA smlouvu, ve které garantují řešení problémů a výpadků.

Vyšší měsíční náklady

V případě, že využíváte externích služeb běžících na jejich vlastním cloudu, je možné, že se dostanete na vyšší měsíční náklady než v případě monolitního řešení. Oproti monolitnímu řešení ale ušetříte vysoké počáteční náklady pro vývoj aplikace a náklady za údržbu. Neplatíte pouze za použití služby, ale i za její vlastní server a databázi.

Bezpečnost a GDPR

Externí poskytovatel odpovídá, že vaše data jsou v bezpečí. Musí umět zabezpečit službu tak, aby se k jejím datům dostali pouze oprávnění uživatelé. To samé musí zajistit pro API rozhraní. Co se týká ukládání dat uživatelů webu, musí dbát na GDPR.

MACH architektura

Druhým konceptem navazujícím na composable commerce je MACH architektura. Zjednodušeně jde o využívání Microservices, API, Cloud a Headless. MACH, stejně jako composable commerce, umožňuje na tyto koncepty přejít postupnou implementací. MACH architektura a koncept composable commerce se propojují a doplňují přístupem k flexibilnímu a snadno rozšiřitelnému vývoji aplikací.

Microservices

Jednotlivé funkce jsou odděleny do služeb, které lze nezávisle upravovat a vyvíjet bez zásahu do ostatních částí. Každá služba slouží přímo k jejímu hlavnímu účelu jako např. vyhledávání, checkout, katalog zboží atd. Každá služba běží nezávisle, při její poruše tedy neznemožní funkčnost celé aplikace.

API first

Jednotlivé služby mezi sebou komunikují pomocí API. Díky tomu můžete služby libovolně měnit a kombinovat.

Cloud-native SaaS

Vše běží na škálovatelném cloudu, který lze přizpůsobit dle potřeby. Není potřeba žádná instalace, změny v aplikaci probíhají instantně, bez nutnosti aktualizace uživatelem. Změny v aplikaci neovlivňují chod a použití aplikace.

Headless (FEaaS)

Headless umožňuje mít více běžících frontendů bez omezení na určitou technologii. Umožňuje lepší přizpůsobení user experience. Procházení frontendu je rychlejší, protože backend neprovádí tolik dotazů do databáze. Řeší to za něho napojený software, který slouží přímo k tomu danému účelu. Vhodně použité headless řešení umožňuje výrazně rychlejší načítání stránek než monolitní řešení, což má pozitivní dopad např. na UX, konverze nebo SEO.

Co si vybrat?
Composable vs. monolith

Výhodou composable oproti monilitnímu řešení je hlavně agilita pro efektivní práci s jednotlivými PBC (packaged business capability). PBC je velmi podobné jako microservices s tím rozdílem, že PBC řeší komplexní funkcionalitu (Košík, CRM, Helpdesk..). Microservices však mohou také řešit komplexnější funkcionality, čímž se mohou shodovat s PBCs.

Koncept composable se při vývoji zaměřuje na konkrétní PBC a není potřeba se ohlížet na zbytek aplikace. PBC lze snadno vyměnit za jinou bez zásahu do ostatních funkčností a je snadno rozšiřitelná. S využitím open-source/placeného řešení spravovaného poskytovatelem, je PBC aktuální bez potřeby in-house údržby.

Díky headless přístupu jde docílit lepšího uživatelsky přívětivějšího prostředí. Je možné vytvářet nekonečno prodejních kanálů zaměřených na různé platformy (web, mobilní aplikace, hlasoví asistenti…). Nejlépe s využitím PWA (progressive web application), pro vytvoření přívětivého prostředí pro uživatele s mobilním zařízením.

Ukázka architektury s využitím
konceptu composable commerce

Jádrem této architektury je open-source Medusa Externí odkaz , která implementuje commerce moduly (PBCs):

  • PIM (Product information management) - správa produktů
  • OMS (Order management system) - správa objednávek
  • Košík + checkout
  • CRM (Customer relationship management) - správa zákazníků
  • ROS (Retail Operating System) - fulfillment objednávky včetně vrácení + správa rezervací
  • Správa daní
  • Správa cen + správa slev a akcí
  • WMS (Warehouse management system) - správa skladu

Pokud bychom chtěli jít hlouběji do konceptu composable commerce a chtěli bychom komplexnější PBCs, tak použijeme například:

Na Medusu je napojený náš “EventBridge”, který přijímá webhooky z Medusy. Medusa posílá webhooky v návaznosti na události (dokončení objednávky, založení účtu…). EventBridge provádí potřebné akce, například po dokončení objednávky vytvoří fakturu ve  Fakturoidu Externí odkaz , zašle informační e‑mail skrz Sendgrid Externí odkaz , přičte bonusové body do  Talon.one Externí odkaz nebo přepošle potřebné data do ERP ABRA Flexi Externí odkaz .

Medusa je propojena s dalšími PBCs:

To důležité pro uživatele:
frontendová část

Zákazníkovi prezentujeme frontendovou část, která běží na REACT frameworku Next.js Externí odkaz . Lze případně také využít již existující Storefront jako např. StoreFront X Externí odkaz , VueStorefront Externí odkaz nebo ReactStorefront Externí odkaz . Frontend zobrazuje data, která získává z jednotlivých PBCs. Obsah aplikace obstarává open-source CMS  Strapi Externí odkaz , ze kterého si Frontend získá data k výpisu.

Pro vyhledání produktu/kategorie/článku slouží search-engine Meilisearch Externí odkaz . Ten využijeme také pro výpis produktů v katalogu a jejich filtrování. Meilisearch může posloužit jako ideální řešení pro e‑shop díky funkci “Search as you type” Externí odkaz , díky kterému uživatel vidí výsledky ihned.

Live chat Smartsupp Externí odkaz poslouží jako online podpora pro zákazníky.

Detail produktu, přidání do košíku a checkout zajišťuje Medusa, která kromě klasické API poskytuje také Storefront API Externí odkaz pro interakci s frontendem. Práci nám usnadní také JavaScript client Externí odkaz nebo Medusa React Externí odkaz .

Jako poskytovatele platební brány využijeme společnost Comgate Externí odkaz .

Přihlášení, registrace a profil uživatele vč. přehledu objednávek je také řešeno přes Medusa, která umí s těmito funkcionalitami pracovat.

Věrnostní program a odměny využívají externí služby Talon.one, která nabízí produkty Loyalty management Externí odkaz Rewards management Externí odkaz .

Jak začít?

Na koncept composable commerce lze postupně přecházet v rámci již existujícího řešení. Rozdělte si projekt na jednotlivé PBCs, ze kterých se vaše aplikace skládá. Pro PBC využijte vhodné open-source/placené řešení nebo vytvořte své vlastní PBC.

Postup pro vytvoření vlastního PBC může být například oddělení části aplikace do vlastní služby, která má své API rozhraní. Takto komunikuje s jádrem aplikace, ostatními PBC a frontendem.

Jakmile bude aplikace rozdělená na jednotlivé PBCs s API rozhraním, můžete začít implementovat prodejní kanály - frontend (pro webové prohlížeče a mobilní aplikace).

Cílem je rozdělení funkcí do PBCs, které mají vlastní databázi a API rozhraní. Tím komunikují mezi sebou a frontendy (prodejními kanály). Aplikace je také flexibilní a běží ve škálovatném cloudu.

Závěr

Composable commerce a MACH architektura představují budoucnost komerčních platforem. Tento koncept nabízí flexibilitu, agilitu, snadnou integraci prodejních kanálů a udržitelný vývoj aplikací. Díky využití existujících řešení a propojení přes API mohou podniky vytvořit ideální softwarový stack a zaměřit se na výsledný produkt.

Composable commerce umožňuje snadnou úpravu a rozšíření bez časově náročného vývoje a údržby zastaralého kódu. MACH architektura s mikroslužbami, API-first přístupem, cloud-native prostředím a headless strukturou přináší výhody rychlého načítání stránek, snadnou výměnu služeb a automatické škálování.

Chceš se bavit s námi?

Hledáme do týmu další zapálené vývojáře.
Mrkněte na kariéru a napište Michalovi.

Michal Matuška | CTO

Michal Matuška