Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jótanács
Ez a tartalom egy részlet a '.NET Microservices Architecture for Containerized .NET Applications' című eBook-ból, amely elérhető a .NET Docs oldalon, vagy ingyenesen letölthető PDF formátumban, amely offline módban is olvasható.
A mikroszolgáltatás-architektúra gyakran a kiszolgálóoldali adatkezelési adatokkal és logikával kezdődik, de sok esetben a felhasználói felületet továbbra is monolitikusként kezelik. Azonban egy fejlettebb megközelítés, az úgynevezett mikro-frontend, az alkalmazás felhasználói felületét is mikroszolgáltatások alapján tervezi meg. Ez azt jelenti, hogy a mikroszolgáltatások létrehoznak egy összetett felhasználói felületet ahelyett, hogy mikroszolgáltatásokkal rendelkezne a kiszolgálón, és csak egy monolitikus ügyfélalkalmazás használja a mikroszolgáltatásokat. Ezzel a megközelítéssel a buildelt mikroszolgáltatások logikai és vizuális ábrázolással is kiegészíthetők.
A 4–20. ábra a mikroszolgáltatások monolitikus ügyfélalkalmazásból való felhasználásának egyszerűbb megközelítését mutatja be. Természetesen lehet egy ASP.NET MVC szolgáltatás a HTML és a JavaScript előállítása között. Az ábra egy egyszerűsítés, amely kiemeli, hogy egyetlen (monolitikus) ügyféloldali felhasználói felület használja a mikroszolgáltatásokat, amelyek csak a logikára és az adatokra összpontosítanak, nem pedig a felhasználói felületi alakzatra (HTML és JavaScript).
4–20. ábra. Háttérbeli mikroszolgáltatásokat használó monolitikus felhasználói felületi alkalmazás
Ezzel szemben az összetett felhasználói felületet pontosan maguk a mikroszolgáltatások generálják és alkotják. Néhány mikroszolgáltatás a felhasználói felület adott területeinek vizuális alakját alakítja. A fő különbség az, hogy az ügyfél felhasználói felületének összetevői (például TypeScript-osztályok) sablonokon alapulnak, és a sablonokhoz tartozó adatformázási-felhasználói felületi nézetmodell minden mikroszolgáltatásból származik.
Az ügyfélalkalmazás indításakor az ügyfél felhasználói felületének egyes összetevői (például TypeScript-osztályok) regisztrálják magukat egy olyan infrastruktúra-mikroszolgáltatással, amely képes ViewModels szolgáltatást nyújtani egy adott forgatókönyvhöz. Ha a mikroszolgáltatás megváltoztatja az alakzatot, a felhasználói felület is megváltozik.
A 4–21. ábra ennek az összetett felhasználói felületi megközelítésnek egy verzióját mutatja be. Ez a megközelítés egyszerűbb, mert más mikroszolgáltatásokkal is rendelkezhet, amelyek különböző technikákon alapuló részletes részeket aggregáltak. Attól függ, hogy hagyományos webes megközelítést (ASP.NET MVC-t) vagy SPA-t (egyoldalas alkalmazást) hoz létre.
4–21. ábra. Példa egy háttérbeli mikroszolgáltatások által formázott összetett felhasználói felületi alkalmazásra
Ezek a felhasználói felületi összetételű mikroszolgáltatások mindegyike hasonló lenne egy kis API-átjáróhoz. Ebben az esetben azonban mindegyik egy kis felhasználói felületi területért felelős.
A mikroszolgáltatások által vezérelt összetett felhasználói felületi megközelítések kihívást jelenthetnek, vagy kevésbé, attól függően, hogy milyen felhasználói felületi technológiákat használ. Például nem fogja ugyanazokat a technikákat használni egy hagyományos webalkalmazás létrehozásához, amelyet spa vagy natív mobilalkalmazás létrehozásához használ (ami ennél a megközelítésnél nagyobb kihívást jelenthet).
Az eShopOnContainers mintaalkalmazás több okból is a monolitikus felhasználói felületi megközelítést használja. Először is a mikroszolgáltatások és a tárolók bemutatása. Az összetett felhasználói felület fejlettebb, de a felhasználói felület tervezése és fejlesztése során további összetettséget is igényel. Másodszor, az eShopOnContainers egy Xamarin alapú natív mobilalkalmazást is biztosít (2024 májusától nem támogatott), ami összetettebbé tenné az ügyfél C# oldalán.
Javasoljuk azonban, hogy az alábbi hivatkozásokkal többet tudjon meg a mikroszolgáltatásokon alapuló összetett felhasználói felületről.
További erőforrások
Micro Frontends (Martin Fowler blogja)https://martinfowler.com/articles/micro-frontends.html
Micro Frontends (Michael Geers site)https://micro-frontends.org/
Kompozit felhasználói felület az ASP.NET használatával (Particular műhelye)https://github.com/Particular/Workshop/tree/master/demos/asp-net-core
Ruben Oostinga. A Monolitikus frontend a Mikroszolgáltatások architektúrájában https://xebia.com/blog/the-monolithic-frontend-in-the-microservices-architecture/
Mauro Servienti. A jobb felhasználói felületi összetétel titka https://particular.net/blog/secret-of-better-ui-composition
Viktor Farcic. A Front-End webösszetevők mikroszolgáltatásokba való felvétele https://technologyconversations.com/2015/08/09/including-front-end-web-components-into-microservices/
Frontend kezelése a Mikroszolgáltatás-architektúrábanhttps://allegro.tech/2016/03/Managing-Frontend-in-the-microservices-architecture.html