Java EE Microservices
Beschrijving
De cursus omvat de volgende technische inhoud:
-
Inleiding tot Microservices en Java EE-concepten
-
Gedistribueerde transacties en schaalbaarheid
-
Beveiliging, testen en implementatie
Wat zijn de doelstellingen van de opleiding?
-
De fundamentele principes van microservices en hun rol in de ontwikkeling van modulaire en schaalbare toepassingen begrijpen.
-
Leren hoe je microservices ontwerpt, ontwikkelt en implementeert met behulp van Java EE.
-
Communicatietechnieken tussen microservices en gedistribueerd transactiebeheer onder de knie krijgen.
-
De best practices begrijpen voor het beheren van de schaalbaarheid, beschikbaarheid en beveiliging van microservices.
-
Weten hoe je microservices moet testen, monitoren en debuggen.
Wat moet je weten om de cursus te volgen?
-
Beheersing van programmeren in Java, inclusief geavanceerde concepten zoals klassen, interfaces, verzamelingen en annotaties.
-
Begrip van de basisprincipes van microservices-architecturen en inter-microservices communicatietechnologieën (bijv. REST, Messaging).
-
Kennis van relationele databases en het gebruik van JPA (Java Persistence API) voor interactie met de database.
Opleidingsprogramma
Inleiding tot microservices en Java EE-concepten
-
Inleiding tot microservices
○ Presentatie van microservices en vergelijking met monolithische architecturen.
Voordelen en uitdagingen van het gebruik van microservices.
○ Configureren van de ontwikkelomgeving voor microservices.
-
Inleiding tot Java EE
○ Presentatie van Java EE en zijn specificaties voor microservices.
○ Java EE containers gebruiken om afhankelijkheden en configuraties te beheren.
○ Een basisproject maken om microservices te ontwikkelen met Java EE.
-
Ontwerpen van microservices
○ Ontwerpprincipes voor microservices (bijv. Cohesie, Ontkoppeling, Enkelvoudige verantwoordelijkheid).
Microservices modelleren met Java EE (bijv. EJB, JPA, CDI).
○ Communicatie tussen microservices beheren (bijv. RESTful API, Messaging).
Gedistribueerde transacties en schaalbaarheid
-
Gedistribueerde transacties
○ Gedistribueerde transacties in een microservices omgeving begrijpen.
JTA (Java Transaction API) gebruiken om gedistribueerde transacties te beheren.
○ Compensatie implementeren bij mislukte transacties.
-
Schaalbaarheid en hoge beschikbaarheid
○ De schaalbaarheid van microservices beheren om variabele werklasten aan te kunnen.
○ Gebruik van data caching en partitionering om de prestaties te verbeteren.
Strategieën om hoge beschikbaarheid en veerkracht van microservices te garanderen.
Beveiliging, testen en implementatie
-
Beveiliging in microservices
○ Beveiligingsstrategieën voor microservices (bv. OAuth, JWT).
○ Authenticatie- en autorisatiebeheer in een gedistribueerde omgeving.
○ Implementatie van beschermingsmechanismen tegen aanvallen (bijv. DDoS, CSRF).
-
Microservices testen en debuggen
○ Teststrategieën voor microservices (bijv. eenheidstesten, integratietesten).
○ Debugging tools voor het oplossen van problemen met microservices.
○ Logs en monitoring gebruiken om de prestaties van microservices bij te houden.
-
Microservices inzetten
○ Implementatiepijplijnen voor microservices configureren.
Uitrollen in een productie- en pre-productieomgeving.
Uitrolstrategieën om downtime te minimaliseren.
Praktische oefeningen
-
De Java EE omgeving configureren om microservices te ontwikkelen.
-
Een eenvoudige microservice maken met Java EE en deze uitrollen op een applicatieserver.
-
RESTful communicatie opzetten tussen twee microservices.
-
Een gedistribueerde transactie tussen verschillende microservices implementeren.
-
Horizontale schaalbaarheid implementeren voor een specifieke microservice.
-
Caching beheren om de prestaties van microservices te verbeteren.
-
JWT-gebaseerde beveiliging implementeren voor microservices.
-
Eenheids- en integratietests schrijven om de juiste werking van de microservices te valideren.
-
Een groep microservices inzetten in een productieomgeving.