Delen via


Samengestelde gebruikersinterface maken op basis van microservices

Tip

Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Microservicesarchitectuur begint vaak met de verwerking van gegevens en logica aan de serverzijde, maar in veel gevallen wordt de gebruikersinterface nog steeds verwerkt als monolith. Een geavanceerdere benadering, ook wel micro-frontends genoemd, is het ontwerpen van de gebruikersinterface van uw toepassing op basis van microservices. Dat betekent dat u een samengestelde gebruikersinterface hebt gemaakt door de microservices, in plaats van microservices op de server te hebben en alleen een monolithische client-app die gebruikmaakt van de microservices. Met deze aanpak kunnen de microservices die u bouwt, worden voltooid met zowel logica als visuele weergave.

Afbeelding 4-20 toont de eenvoudigere benadering van het gebruik van microservices van een monolithische clienttoepassing. U kunt natuurlijk een ASP.NET MVC-service hebben tussen het produceren van de HTML en JavaScript. De afbeelding is een vereenvoudiging die aangeeft dat u één (monolithische) clientinterface gebruikt die gebruikmaakt van de microservices, die zich alleen richten op logica en gegevens en niet op de ui-shape (HTML en JavaScript).

Diagram of a monolithic UI app connecting to microservices.

Afbeelding 4-20. Een monolithische UI-toepassing die gebruikmaakt van back-end microservices

Een samengestelde gebruikersinterface wordt daarentegen nauwkeurig gegenereerd en samengesteld door de microservices zelf. Sommige microservices stimuleren de visuele vorm van specifieke gebieden van de gebruikersinterface. Het belangrijkste verschil is dat u client-UI-onderdelen (TypeScript-klassen, bijvoorbeeld) hebt op basis van sjablonen en dat het viewmodel voor de gegevensvormende gebruikersinterface voor deze sjablonen afkomstig is van elke microservice.

Bij het opstarten van clienttoepassingen registreert elk van de onderdelen van de gebruikersinterface van de client (bijvoorbeeld TypeScript-klassen) zichzelf met een infrastructuurmicroservice die ViewModels kan leveren voor een bepaald scenario. Als de microservice de vorm wijzigt, wordt de gebruikersinterface ook gewijzigd.

Afbeelding 4-21 toont een versie van deze samengestelde ui-benadering. Deze benadering is vereenvoudigd omdat u mogelijk andere microservices hebt die gedetailleerde onderdelen aggregeren die zijn gebaseerd op verschillende technieken. Het hangt af van of u een traditionele webbenadering bouwt (ASP.NET MVC) of een BEVEILIGD-WACHTWOORDVERIFICATIE (toepassing met één pagina).

Diagram of a composite UI made up of many view models.

Afbeelding 4-21. Voorbeeld van een samengestelde UI-toepassing die wordt gevormd door back-end microservices

Elk van deze microservices voor ui-samenstelling zou vergelijkbaar zijn met een kleine API-gateway. Maar in dit geval is elke instantie verantwoordelijk voor een klein ui-gebied.

Een samengestelde UI-benadering die wordt aangestuurd door microservices kan lastiger of minder zijn, afhankelijk van welke UI-technologieën u gebruikt. U gebruikt bijvoorbeeld niet dezelfde technieken voor het bouwen van een traditionele webtoepassing die u gebruikt voor het bouwen van een BEVEILIGD-WACHTWOORDVERIFICATIE of voor systeemeigen mobiele apps (zoals bij het ontwikkelen van Xamarin-apps, wat lastiger kan zijn voor deze aanpak).

De voorbeeldtoepassing eShopOnContainers maakt gebruik van de monolithische UI-benadering om meerdere redenen. Ten eerste is het een inleiding tot microservices en containers. Een samengestelde gebruikersinterface is geavanceerder, maar vereist ook verdere complexiteit bij het ontwerpen en ontwikkelen van de gebruikersinterface. Ten tweede biedt eShopOnContainers ook een systeemeigen mobiele app op basis van Xamarin, waardoor het complexer wordt aan de client-C#-zijde.

We raden u echter aan de volgende verwijzingen te gebruiken voor meer informatie over samengestelde gebruikersinterface op basis van microservices.

Aanvullende bronnen