Összetett felhasználói felület létrehozása mikroszolgáltatások alapján
Tipp.
Ez a tartalom egy részlet a .NET-alkalmazásokhoz készült .NET-alkalmazásokhoz készült eBook, .NET Microservices Architecture című eBookból, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, 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, úgynevezett mikro előtérrendszer, az alkalmazás felhasználói felületének tervezése mikroszolgáltatások alapján is. 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 a hagyományos webalkalmazások létrehozásához, amelyeket spa vagy natív mobilalkalmazások készítéséhez használ (mint a Xamarin-alkalmazások fejlesztésekor, ami nagyobb kihívást jelenthet ebben a megközelítésben).
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, amely ö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.htmlMicro Frontends (Michael Geers site)
https://micro-frontends.org/Összetett felhasználói felület ASP.NET (adott műhely) használatával
https://github.com/Particular/Workshop/tree/master/demos/asp-net-coreRuben 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-compositionViktor Farcic. Előtérbeli webösszetevők mikroszolgáltatásokba való beépítása
https://technologyconversations.com/2015/08/09/including-front-end-web-components-into-microservices/Frontend kezelése a Mikroszolgáltatás-architektúrában
https://allegro.tech/2016/03/Managing-Frontend-in-the-microservices-architecture.html