Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Tento obsah je výňatek z eBooku, architektury mikroslužeb .NET pro kontejnerizované aplikace .NET, které jsou k dispozici na .NET Docs nebo jako zdarma ke stažení PDF, které lze číst offline.
Architektura mikroslužeb často začíná zpracováním dat a logiky na straně serveru, ale v mnoha případech se uživatelské rozhraní stále zpracovává jako monolit. Pokročilejším přístupem označovaným jako mikro front-endy je ale také návrh uživatelského rozhraní aplikace na základě mikroslužeb. To znamená mít složené uživatelské rozhraní produkované mikroslužbami, místo toho, aby mikroslužby běžely na serveru a pouze je využívala monolitická klientská aplikace. S tímto přístupem je možné mikroslužby, které sestavíte, dokončit logikou i vizuální reprezentací.
Obrázek 4–20 ukazuje jednodušší přístup k pouhému využívání mikroslužeb z monolitické klientské aplikace. Samozřejmě můžete mít službu ASP.NET MVC mezi vytvářením HTML a JavaScriptu. Obrázek je zjednodušení, které zdůrazňuje, že máte jedno (monolitické) klientské uživatelské rozhraní, které využívá mikroslužby, které se zaměřují pouze na logiku a data, a ne na obrazec uživatelského rozhraní (HTML a JavaScript).
Obrázek 4–20 Monolitická aplikace uživatelského rozhraní využívající back-endové mikroslužby
Naproti tomu složené uživatelské rozhraní je přesně vygenerováno a sestaveno vlastními mikroslužbami. Některé mikroslužby řídí vizuální tvar konkrétních oblastí uživatelského rozhraní. Klíčovým rozdílem je, že máte komponenty klientského uživatelského rozhraní (například třídy TypeScript) založené na šablonách a model ViewModel uživatelského rozhraní pro data pro tyto šablony pochází z každé mikroslužby.
V době spuštění klientské aplikace se každá komponenta klientského uživatelského rozhraní (například třídy TypeScript) zaregistruje v mikroslužbě infrastruktury, která umožňuje poskytovat Modely ViewModel pro daný scénář. Pokud mikroslužba změní tvar, změní se také uživatelské rozhraní.
Obrázek 4–21 ukazuje verzi tohoto složeného uživatelského rozhraní. Tento přístup je zjednodušený, protože můžete mít další mikroslužby, které agregují podrobné části založené na různých technikách. Záleží na tom, jestli vytváříte tradiční webový přístup (ASP.NET MVC) nebo SPA (jednostránkové aplikace).
Obrázek 4–21 Příklad složené aplikace uživatelského rozhraní tvarované back-endovými mikroslužbami
Každá z těchto mikroslužeb pro sestavení uživatelského rozhraní by se podobala malému API Gateway. V tomto případě je ale každý zodpovědný za malou oblast uživatelského rozhraní.
Složený přístup uživatelského rozhraní, který je řízený mikroslužbami, může být náročnější nebo méně, a to v závislosti na tom, jaké technologie uživatelského rozhraní používáte. Nebudete například používat stejné techniky pro vytváření tradiční webové aplikace, kterou používáte k vytváření spa nebo nativní mobilní aplikace (což může být pro tento přístup náročnější).
Ukázková aplikace eShopOnContainers používá monolitický přístup k uživatelskému rozhraní z několika důvodů. Nejprve je to úvod do mikroslužeb a kontejnerů. Složené uživatelské rozhraní je pokročilejší, ale také vyžaduje další složitost při návrhu a vývoji uživatelského rozhraní. Za druhé, eShopOnContainers také poskytuje nativní mobilní aplikaci založenou na Xamarinu (nepodporovanou od května 2024), což by zkomplikovalo situaci na straně klienta v C#.
Doporučujeme vám ale použít následující odkazy, abyste se dozvěděli více o složených uživatelských rozhraních založených na mikroslužbách.
Dodatečné zdroje
Micro Frontends (blog Martina Fowlera)https://martinfowler.com/articles/micro-frontends.html
Micro Frontends (Web Michael Geers)https://micro-frontends.org/
Složené uživatelské rozhraní s využitím ASP.NET (Workshop konkrétního uživatele)https://github.com/Particular/Workshop/tree/master/demos/asp-net-core
Ruben Oostinga. Monolitický front-end v architektuře mikroslužeb https://xebia.com/blog/the-monolithic-frontend-in-the-microservices-architecture/
Mauro Servienti. Tajemství lepšího složení uživatelského rozhraní https://particular.net/blog/secret-of-better-ui-composition
Viktor Farcic. Zahrnutí webových komponent Front-End do mikroslužeb https://technologyconversations.com/2015/08/09/including-front-end-web-components-into-microservices/
Správa front-endu v architektuře mikroslužebhttps://allegro.tech/2016/03/Managing-Frontend-in-the-microservices-architecture.html