close

Jakarta EE

Hop til navigation Hop til søgning
Image
Jakarta EE logo

Inden for datalogi er Jakarta EE (kendt, før version 8, med navnet Java EE ; og før version 5, med navnet Java 2 Enterprise Edition eller J2EE ) et sæt specifikationer, hvis implementeringer hovedsageligt er udviklet i Java - programmeringssproget og meget brugt i webprogrammering .

Funktioner

Softwaren, der implementerer denne specifikation, kaldes Referencing Runtimes Jakarta EE. Tidligere blev de kaldt applikationsservere. Navneændringen fra applikationsserver til refererende kørselstid skyldes, at der med microservices-arkitekturen lanceres en selvstændig Java-applikation uden behov for en applikationsserver. Implementeringen kan være total (i dette tilfælde kaldet fuld platform) eller begrænset til webprofilen, det vil sige den delmængde af specifikationer, der er designet specifikt til webapplikationer [1] .

Oprindeligt tilskyndede specifikationen til oprettelsen af ​​applikationer, der følger en flerlagsarkitektur . Denne arkitektur havde til formål at adskille funktionerne vedrørende visning af websider fra funktionerne til styring af forretningslogik og lagring af information i databasen . For nylig er det med teknologier som Eclipse MicroProfile, WildFly Swarm og Payara Micro også muligt at udvikle mikrotjenester. Dette har også ført til en ændring i navnet på implementeringer: før blev de kaldt applikationsservere, som nu refererer til runtimes.

Dette sæt specifikationer blev oprindeligt skabt af Sun Microsystems, bragt frem af Oracle, og i anden halvdel af 2017 overført til Eclipse Foundation, under navnet Eclipse Enterprise for Java. [2]

Jakarta EE specifikationer

Jakarta EE-specifikationssættet indeholder mange teknologier, der udvider Java -platformens kernefunktionalitet . Den følgende liste viser ikke alle komponenterne, men kun de, der har størst betydning. De eneste komponenter, der strengt taget kræver brugen af ​​en refererende runtime, er virksomhedens, det vil sige dem, der har brug for for eksempel distribuerede transaktioner og distribuerede køer. Komponenterne til nettet og databasen kan også bruges i en simpel webserver .

Webspecifikationer

De komponenter, der falder ind under denne kategori, er dem, der er relateret til visning af websider. Hvis du kun vil bruge websidekomponenterne, er det ikke nødvendigt at ty til en kompleks fuld profil-referenceruntime, men det er tilstrækkeligt at bruge en referenceruntime-webprofil eller en mere strømlinet webserver.

Virksomhedsspecifikationer

I denne kategori er de komponenter, der er specifikke for Jakarta EE. Brugen af ​​disse komponenter er kun påkrævet i mellemstore og store applikationer.

  • Kontekster og afhængighedsinjektion , som giver dig mulighed for at bruge kontrolinversion på en meget lignende måde, som du gør med Spring framework og giver det meste af den funktionalitet, der leveres af Enterprise JavaBeans;
  • Enterprise JavaBeans definerer et distribueret komponentsystem, der var hjertet i Java EE-specifikationen. Dette system gav faktisk de typiske egenskaber, der kræves af virksomhedsapplikationer , såsom skalerbarhed , sikkerhed, datapersistens og mere. Mange af disse funktioner er nu også tilgængelige med Contexts og Dependency Injection;
  • Java Message Service beskriver et system til afsendelse og håndtering af beskeder ;
  • Java EE Security API definerer bruger-, adgangskode-, gruppe- og godkendelsesstyring.

Webservicespecifikationer

I Jakarta EE er det muligt at oprette både REST type og SOAP type webtjenester . Specifikationerne er:

Specifikationer for interaktion med databasen

Denne kategori indeholder de teknologier, der tillader vedvarende data i en relationel database. Komponenter i denne kategori kan også bruges uden for en referencekørselstid.

Grundlæggende programmer

Applet

Image
Eksempel på Java Applet , en implementering af skakspillet

Java-platformen var et af de første systemer, der ydede omfattende support til at udføre kode fra fjernkilder. En Java-applet er en speciel type applikation, der kan startes i brugerens browser ved at udføre kode downloadet fra en ekstern webserver . Denne kode udføres i et meget begrænset område ( sandbox ) for at beskytte brugeren mod ondsindet kode, eller som har uønsket adfærd; hvem der udgiver koden, kan anvende et certifikat , som de bruger til digitalt at signere applets, der erklærer dem "sikre", hvilket giver dem tilladelse til at forlade det begrænsede område og få adgang til filsystemet og netværket, formentlig med godkendelse og under kontrol af brugeren. I virkeligheden har applets ikke haft meget held. Faktisk antages det, at klienten , som de køres på, har installeret den JRE, der skal køre appletkoden. Applikationer, der inkluderer den såkaldte tynde klient, det vil sige en 'let' klient, der ikke har brug for specielle værktøjer til at udføre fjernkode, nogle gange kun browseren er nødvendig, har været heldige.

Servlet

Image
Eksempel på webapplikation i en e-handelsside mellem bruger og modtager, der interfacer gennem applikationen ved at udveksle ordre-, person- og bankdata, som kan implementeres med servlet og JSP eller web framework

Inden for datalogi , i forbindelse med webprogrammering , er servlets objekter skrevet i Java -sprog , der opererer inden for en webserver (f.eks. Tomcat , Jetty ) eller en applikationsserver (f.eks. WildFly , GlassFish ), der tillader oprettelse af webapplikationer [3 ] ( behandling på serversiden ).

Navnet stammer fra Java-applets , små programmer skrevet på Java -sproget , der kører inde i klientbrugerens browser ( behandling på klientsiden ).

Den hyppigste brug af servlets er generering af dynamiske websider i henhold til anmodningsparametrene sendt af brugerens browserklient til serveren. I de senere år er der ikke foretaget nogen direkte programmering af servlets, men vi foretrækker at bruge web-frameworks , der implementerer servlet-specifikationen, eller JavaServer Pages som så oversættes (kompileres) til servlets ved runtime .

Certificerede implementeringer

Der er adskillige open source-referencekørselstider, som også ofte bruges i produktionsmiljøet.

Blandt open source er:

  • Apache TomEE , hvoraf der er en kommercielt understøttet version kaldet Tomitribe
  • WildFly , tidligere kendt som JBoss
  • GlassFish , er referenceimplementeringen, vedligeholdt af Oracle. Der er en version, der har kommerciel support, og den hedder Payara

Blandt de kommercielle, ud over dem, der er anført ovenfor:

  • Oracles WebLogic;
  • IBM's WebSphere;
  • Cosminexus fra Hitachi;
  • Fujitsus Interstage Application Server;
  • InforSuite af InforBus;
  • Jeus af TmaxSoft;
  • NEC's WebOTX;

Microservices og Eclipse MicroProfile

Eclipse MicroProfile er et projekt, der skal innovere Jakarta EE-specifikationerne og gøre dem mere velegnede til en mikroservicearkitektur, også kaldet mikroservicearkitektur [4] . Ideen er kun at køre de komponenter i Jakarta EE, der er strengt nødvendige for den applikation, der udvikles.

Blandt de tilgængelige implementeringer finder vi:

  • WildFly Swarm [5]
  • Open Liberty [6]
  • TomEE [7]
  • Payara Micro [8]
  • kumuluzEE [9]

Kritik

I december 2016 sagde Gartner i en rapport, at it-forretningsprojekter har brug for nye funktioner og funktionalitet, og at Java EE ikke har kunne følge med. Rapporten anbefalede at udvikle en strategi til at håndtere Java EE-forældelse. De forventer, at mindre end 35 % af forretningsapplikationerne i 2019 vil blive kørt på Java EE-applikationsservere. Denne kritik blev besvaret, at Java EE fortsætter med at udvikle sig og udvikle funktioner, der gør det slankere, ved hjælp af teknologier som MicroProfile, WildFly Swarm og Payara Micro. [10]

Alternativer

Flere andre software giver lignende funktionalitet, herunder:

  • Spring framework , som har ekstremt lignende funktionalitet som Java EE;
  • ASP.NET , som kan bruges med sprog som C # og Visual Basic.net;
  • Akka og Play framework , skrevet i Scala, kan også bruges i Java;
  • Node.js , en begivenhedsdrevet platform til browserens JavaScript-motor;
  • Vert.X, et sæt værktøjer til udvikling af responsive applikationer på JVM

Noter

  1. ^ Introduktion til Java EE-webprofilen
  2. ^ Ofte stillede spørgsmål om Eclipse Enterprise til Java
  3. ^ Java Servlet Technology Overview , på oracle.com . Hentet 12. januar 2014 .
  4. ^ Eclipse MicroProfile , på microprofile.io . Hentet 29. august 2017 .
  5. ^ WildFly Swarm , på wildfly-swarm.io . Hentet 29. august 2017 .
  6. ^ Open Liberty , på openliberty.io . Hentet 20. september 2017 .
  7. ^ Microservices Series: MicroProfile og Apache TomEE , på javacodegeeks.com . Hentet 20. september 2017 .
  8. ^ Payara Micro , på payara.fish . Hentet 20. september 2017 .
  9. ^ kumuluzEE , på ee.kumuluz.com . Hentet 20. september 2017 .
  10. ^ Er Gartners rapport om Java EEs død stærkt overdrevet? , på infoq.com . Hentet 29. august 2017 .

Bibliografi

Relaterede emner

Eksterne links