Autor: Radek Šustr, vedoucí týmu Integrace a Cloud
Pro zákazníka jsme navrhli a implementovali e‑shopové řešení, které pokrývá potřeby na prodej zboží pro více jednotlivých oddělení. Řešením je systém několika e‑shopů, které zastřešují prodejní agendy různých oddělení. Pro implementaci bylo vybráno několik open-source e‑shopů, které pokrývají kompletní business funkcionalitu zákazníka v oblasti eCommerce a zároveň dané řešení zapadá do architektonického a technologického rámce zadavatele.
Základní podporovaná funkcionalita e-shopu:
- Výběr zboží z katalogu a jeho uložení do nákupního košíku (zákazník).
- Vytvoření a dokončení objednávky (zákazník).
- Úhrada objednávky (zákazník).
- Příjem a zpracování objednávky (pracovník e-shopu).
- Příprava a vypravení zásilky (pracovník e-shopu, popř. dodavatel zboží).
- Dodání zboží (dodavatel, přepravce).
Mezi důležité nefunkční požadavky patří také uchovávání auditní stopy.
Řešení je netriviální s ohledem na integrace s dalšími systémy (interními i externími). Systém je napojen např. na:
- Autentizační služby – na aplikační vrstvě jsou tyto služby realizovány s ohledem na typ zákazníka.
- Interní zákazník – využívá typicky autentizační služby společnosti (Azure Entra ID).
- Externí zákazník – využívá autentizaci e-shopu nebo autentizační mechanismy třetích stran (Facebook, Google, MSFT apod.).
- Smluvní zákazník – využívá databázi klientů, autentizace typicky probíhá přes systém datových schránek.
- Produktové portfolio – závisí na typu e-shopového řešení a na přihlášeném zákazníkovi. Informace o produktech jsou získávány z hlavního účetního a ekonomického systému (SAP) a dále upravovány v administrační produktové části e-shopu.
- Platební služby – poskytují mimo jiné:
- informace o možnostech platby v e-shopu,
- komunikaci s platební bránou,
- potvrzení o proběhlé platbě, které je nutné k uzavření zakázky.
- Systém pro správu dokladů – zajišťuje všechny nutné doklady v průběhu zpracování zakázky. Služba je zajištěna hlavním ekonomickým a účetním systémem (SAP).
- Služby dopravce – externí služby třetích stran, které poskytují, mimo jiné:
- možnost zvolit dopravce, místo a čas doručení zboží,
- zajištění samotné dopravy,
- vypořádání případné platby,
- podklady pro uzavření zakázky.
Technologická část řešení
Řešení je navrženo primárně pro běh v Azure službách – PaaS. Důraz je kladen na bezpečnost řešení, proto jsou využity pokročilé služby Azure chránící před útoky z vnějšího prostředí.
Figure 1: Architektura řešení
Řešení využívá základní komponenty pro nasazení aplikace dle guidance & best-practices pro provoz webových aplikací v cloudovém prostředí Azure. Následující seznam zahrnuje i služby, které jsou vhodné z pohledu vyšší bezpečnosti řešení.
- Azure App Service – poskytuje rámec pro vytváření, nasazování a škálování webových aplikací. V navrhovaném systému bude využita pro back-end služby a API.
- Azure Virtual Network – zajišťuje komunikaci, izolaci a segmentaci. Umožňuje filtrovat a směrovat provoz a navazovat spojení mezi různými lokalitami.
- Azure DDoS Protection – poskytuje funkce pro obranu a zmírňování dopadů DDoS útoků.
- Azure Key Vault – ukládá a řídí přístup k heslům, certifikátům a klíčům.
- Blob Storage – poskytuje škálovatelné a optimalizované úložiště objektů.
- Azure Front Door – umožňuje definovat, spravovat a monitorovat globální směrování webového provozu. Zajišťuje optimalizaci provozu pro nejlepší výkon a umožňuje vysokou dostupnost při selhání provozu využívaných služeb.
- Azure Monitor – základní služba pro logování a monitoring (nejen) výkonu systému.
Vysokou spolehlivost a dostupnost zajistí nativní prostředky využitých služeb: App Service, Blob Storage (replikace do více regionu), databázové služby (nativní implementace high-availability – Azure SQL database, Azure Database for MySQL flexible server apod.).