Java-technologieën

Voltooid

In deze les maken we onderscheid tussen de verschillende typen Java-frameworks, -servers en -platforms.

Spring Framework

Het Spring Framework is een toepassingsframework en een ioC-container (Inversion of Control). Spring is historisch gebruikt om het Enterprise JavaBeans-model (EJB) aan te vullen. De kernfunctionaliteiten zijn:

  • Afhankelijkheidsinjectie
  • Aspectgeoriënteerd programmeren
  • Bedrijfsabstractie

Spring Boot

Spring Boot wordt uitgevoerd boven op het Spring Framework en heeft een aanbevolen automatische configuratie. Spring Boot-toepassingen worden zelfstandig uitgevoerd en zijn perfect geschikt voor microservices.

Spring Data

Spring Data vereenvoudigt de toegang tot gegevens voor relationele en niet-relationele databases, MapReduce-frameworks en cloudgegevensservices.

Spring Security

Spring Security is de de facto standaard voor het beveiligen van Spring-toepassingen. Het biedt een hoog niveau van verificatie en toegangsbeheer. Spring Security kan bijvoorbeeld goed worden geïntegreerd met Active Directory.

Spring Cloud

Spring Cloud wordt gebruikt voor gedistribueerde systemen. Spring Cloud wordt geleverd met servicedetectie, configuratiebeheer, bewaking en een goede ontwikkelaarservaring.

Spring Batch

Spring Batch is een lichtgewicht framework voor robuuste batchtoepassingen die essentieel zijn voor dagelijkse bewerkingen.

MicroProfile en Jakarta EE

U kunt MicroProfile en Jakarta Enterprise Edition (EE) bekijken als opensource-opvolging van de Java EE-specificaties.

MicroProfile is een set specificaties voor microservicearchitecturen. Het noemt zichzelf een open forum om Enterprise Java te optimaliseren voor een microservicesarchitectuur. MicroProfile streeft ernaar om te innoveren in meerdere implementaties en samen te werken aan gemeenschappelijke interessegebieden.

Jakarta EE is een set specificaties voor het bouwen van bedrijfstoepassingen. Dankzij de modulaire structuur kunnen ontwikkelaars efficiënte softwareoplossingen maken. U kunt Jakarta EE-toepassingen verpakken als EAR-bestanden of als WAR-bestanden.

Webprofiel is een subset van Jakarta EE voor back-endservices met een webfocus, maar maak je geen zorgen! U kunt er specifieke API's van het enterprise-platform bovenop toevoegen.

Toepassingsservers

Java EE-toepassingen moeten worden geïmplementeerd op Java EE-compatibele toepassingsservers (Weblogic, WebSphere, WildFly, GlassFish, Payara en andere).

  • Apache Tomcat- is een HTTP-server en een Java Servlet-container. Hiermee worden de specificaties van Servlet, Java Server Pages (JSP), Java Expression Language en Java WebSocket geïmplementeerd.

  • Oracle Weblogic Server is een geïntegreerd en uitbreidbaar platform voor het ontwikkelen, implementeren en uitvoeren van bedrijfstoepassingen. Weblogic Server biedt een robuuste, volwassen implementatie van Java EE en Jakarta EE.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) biedt beveiliging en prestaties op bedrijfsniveau voor zowel on-premises als virtuele implementaties, of in privé-, openbare of hybride clouds.

  • WildFly- is de opensource-upstream voor JBoss EAP. Deze communitygestuurde variëteit is ideaal voor ontwikkeling en testen.

  • IBM WebSphere Application Server (WAS) is een flexibele, beveiligingsrijke Java Server Runtime-omgeving voor bedrijfstoepassingen. Het richt zich op hoge betrouwbaarheid. Het ondersteunt microservices en op standaarden gebaseerde programmeermodellen. U kunt in uw eigen tempo moderniseren, meer inzicht krijgen in workloads, bedrijfstoepassingen analyseren en uw reis naar Kubernetes verdergaan.

  • Open Liberty is de door de community gestuurde opensource-versie van WAS.

  • Oracle GlassFish is de referentie-implementatie van veel Java EE-webstandaarden (inclusief Servlet en JSP).

Andere frameworks voor microservicegeoriënteerde architecturen

  • Netty- is een niet-blokkerende I/O-client/serverframework . Hiermee kunt u snel en eenvoudig netwerktoepassingen, zoals protocolservers en clients, ontwikkelen. Het vereenvoudigt en stroomlijnt netwerkprogrammering, zoals TCP- en UDP-socketservers. Netty is een asynchroon, gebeurtenisgestuurd netwerktoepassingsframework voor snelle ontwikkeling van onderhoudbare, hoogwaardige protocolservers en clients.

  • Quarkus is een Kubernetes-systeemeigen Java-stack die is afgestemd op OpenJDK HotSpot en GraalVM. Quarkus krijgt steeds meer momentum. Trouwens, er zijn meer prestatiegerichte frameworks, zoals Vert.x, Helidon, Payara Micro en KumuluzEE.

  • Micronaut is een modern, op JVM gebaseerd, full-stack framework voor het bouwen van modulaire, eenvoudig te testen microservice en serverloze toepassingen. Micronaut bevat een afhankelijkheidsinjectie en aspectgeoriënteerde programmeerruntime die geen weerspiegeling gebruikt, waardoor Micronaut-toepassingen gemakkelijker kunnen worden uitgevoerd op GraalVM.