Java-teknologier

Fullført

I denne enheten skiller vi mellom de ulike typene Java-rammeverk, servere og plattformer.

Vårens rammeverk

Spring Framework er et programrammeverk og en inversjon av kontrollbeholderen (IoC). Våren har historisk blitt brukt til å utfylle Enterprise JavaBeans (EJB)-modellen. Kjernefunksjonalitetene er:

  • Avhengighetsinjeksjon
  • Størrelsesorientert programmering
  • Forretningsabstraksjon

Fjæroppstart

Spring Boot kjører på toppen av Spring Framework og har en meningsfull autokonfigurering. Spring Boot-programmer kjører frittstående og passer perfekt for mikrotjenester.

Fjærdata

Spring Data forenkler datatilgang for relasjonelle og ikke-relaterte databaser, MapReduce-rammeverk og skybaserte datatjenester.

Vårsikkerhet

Spring Security er de facto standard for sikring av vårbaserte programmer. Det gir et høyt nivå av godkjenning og tilgangskontroll. Spring Security integrerer for eksempel godt med Active Directory.

Vårsky

Spring Cloud brukes til distribuerte systemer. Spring Cloud leveres med tjenesteoppdagelse, konfigurasjonsadministrasjon, overvåking og en god utvikleropplevelse.

Vårgruppe

Spring Batch er et lett rammeverk for robuste satsvise programmer som er avgjørende for daglig drift.

MicroProfile og Jakarta EE

Du kan se på MicroProfile og Jakarta Enterprise Edition (EE) som åpen kildekode-oppfølging av Java EE-spesifikasjonene.

MicroProfile er et sett med spesifikasjoner for mikrotjenestearkitekturer. Det kaller seg et åpent forum for å optimalisere Enterprise Java for en mikrotjenestearkitektur. MicroProfile har som mål å innovere på tvers av flere implementeringer og samarbeide på felles interesseområder.

Jakarta EE er et sett med spesifikasjoner for bygging av virksomhetsprogrammer. Den modulære strukturen gjør det mulig for utviklere å opprette effektive programvareløsninger. Du kan pakke Jakarta EE-programmer som enten EAR-filer eller WAR-filer.

WebProfil er et delsett av Jakarta EE for back-end-tjenester med nettfokus, men ikke bekymre deg! Du kan legge til bestemte API-er for virksomhetsplattformen på toppen av den.

Programservere

Java EE-programmer må distribueres til Java EE-kompatible programservere (Weblogic, WebSphere, WildFly, GlassFish, Payara og andre).

  • Apache Tomcat er en HTTP-server og en Java Servlet-beholder. Den implementerer spesifikasjonene Servlet, Java Server Pages (JSP), Java Expression Language og Java WebSocket.

  • Oracle Weblogic Server er en enhetlig og utvidbar plattform for utvikling, distribusjon og kjøring av virksomhetsprogrammer. Weblogic Server tilbyr en robust, moden implementering av Java EE og Jakarta EE.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) leverer sikkerhet og ytelse i bedriftsklasse for både lokale og virtuelle implementeringer, eller i private, offentlige eller hybride skyer.

  • WildFly er oppstrøms med åpen kildekode for JBoss EAP. Denne fellesskapsdrevne variasjonen er flott for utvikling og testing.

  • IBM WebSphere Application Server (WAS) er et fleksibelt, sikkerhetsrikt Java Server Runtime-miljø for bedriftsprogrammer. Den fokuserer på høy pålitelighet. Den støtter mikrotjenester og standardbaserte programmeringsmodeller. Du kan modernisere i ditt eget tempo, få større synlighet på tvers av arbeidsbelastninger, analysere bedriftsprogrammer og gå videre til Kubernetes.

  • Open Liberty er den samfunnsdrevne, åpen kildekode-versjonen av WAS.

  • Oracle GlassFish er referanseimplementeringen av mange Java EE-nettstandarder (inkludert Servlet og JSP).

Andre rammer for mikrotjenesteorienterte arkitekturer

  • Netty er et ikke-blokkerende I/O-klient-/serverrammeverk. Det muliggjør rask og enkel utvikling av nettverksprogrammer, for eksempel protokollservere og klienter. Det forenkler og effektiviserer nettverksprogrammering, for eksempel TCP- og UDP-socketservere. Netty er et asynkront, hendelsesdrevet nettverksprogramrammeverk for rask utvikling av vedlikeholdbare protokollservere med høy ytelse og klienter.

  • Quarkus er en Kubernetes-opprinnelig Java-stabel skreddersydd for OpenJDK HotSpot og GraalVM. Quarkus får mer og mer fart. Forresten, det er flere ytelsesfokuserte rammeverk som dette, for eksempel Vert.x, Helidon, Payara Micro og KumuluzEE.

  • Micronaut er et moderne, JVM-basert fullstakkrammeverk for bygging av modulære, lett testbare mikrotjeneste- og serverløse programmer. Micronaut har en avhengighetsinjeksjon og størrelsesorientert programmeringskjøring som ikke bruker refleksjon, noe som gjør det enklere for Micronaut-programmer å kjøre på GraalVM.