Jakarta EE - Jakarta EE - Wikipedia

Jakarta EE
Výchozí barva škuneru s logem Jakarta EE je skládaná
VývojářiEclipse Foundation
Software přehrávačeJáva
Programovací jazyky)Jáva
AplikaceAplikační server
PostaveníAktivní
LicenceVeřejná licence Eclipse nebo GNU General Public License w /Výjimka třídy Classpath

Jakarta EE, dříve Platforma Java, Enterprise Edition (Java EE) a Platforma Java 2, Enterprise Edition (J2EE) je sada specifikací, která se rozšiřuje Java SE 8[1] se specifikacemi pro podnikové funkce, jako je distribuované výpočty a webové služby.[2] Aplikace Jakarta EE běží referenční doby běhu, to může být mikroslužby nebo aplikační servery, které zpracovávají transakce, zabezpečení, škálovatelnost, konkurence a správu komponent, které nasazuje.

Jakarta EE je definována jeho Specifikace. Specifikace definuje API (aplikační programovací rozhraní) a jejich interakce. Stejně jako u ostatních Proces komunity Java specifikace, poskytovatelé musí splňovat určité požadavky na shodu, aby mohli deklarovat své výrobky jako Vyhovuje standardu Jakarta EE.

Příklady kontextů, ve kterých se používají runtime Jakarta EE odkazující na runtime, jsou: elektronický obchod, účetnictví, bankovní informační systémy.

Dějiny

Platforma byla známá jako Platforma Java 2, Enterprise Edition nebo J2EE od verze 1.2, dokud nebyl název změněn na Platforma Java, Enterprise Edition nebo Java EE ve verzi 1.5.

Java EE byla udržována Věštec pod Proces komunity Java. 12. září 2017 Oracle Corporation oznámila, že předá Java EE Eclipse Foundation.[3]Projekt nejvyšší úrovně Eclipse dostal název Eclipse Enterprise for Java (EE4J).[4] Nadace Eclipse byla nucena změnit název, protože Oracle vlastní ochrannou známku pro název „Java“ a platformu Java EE přejmenovala na Jakarta EE.[5][6] Název by neměl být zaměňován s prvním Jakartský projekt která podpořila řadu současných i dřívějších projektů Java na EU Softwarová nadace Apache.

  • J2EE 1.2 (12. prosince 1999)
  • J2EE 1.3 (24. září 2001)
  • J2EE 1.4 (11. listopadu 2003)
  • Java EE 5 (11. května 2006)
  • Java EE 6 (10. prosince 2009)
  • Java EE 7 (28. května 2013)[7] ale 5. dubna 2013 podle specifikačního dokumentu. 12. června 2013 bylo plánované datum zahájení[8]
  • Java EE 8 (31. srpna 2017)[9]
  • Jakarta EE 8 (10. září 2019)[10] - plně kompatibilní s Java EE 8
  • Jakarta EE 9 (22. listopadu 2020)[11] - javax. * do jakarty. * změna jmenného prostoru.

Specifikace

Jakarta EE obsahuje několik specifikací, které slouží různým účelům, jako je generování webových stránek, transakční čtení a zápis z databáze, správa distribuovaných front.

Jakarta EE API obsahují několik technologií, které rozšiřují funkčnost základny Java SE API, jako Jakarta Enterprise Beans, konektory, servlety, Stránky serveru Jakarta a několik webová služba technologie.

Specifikace webu

  • Jakarta Servlet: definuje, jak spravovat požadavky HTTP synchronním nebo asynchronním způsobem. Je nízká a spoléhají se na ni další specifikace Jakarta EE;
  • Jakarta WebSocket: Specifikace API, která definuje sadu API do provozu WebSocket připojení;
  • Tváře serveru Jakarta: technologie pro konstrukci uživatelských rozhraní z komponent;
  • Jakarta výrazový jazyk (EL) je jednoduchý jazyk původně navržený tak, aby uspokojil specifické potřeby vývojářů webových aplikací. Používá se konkrétně v Jakartských serverových tvářích k vázání komponentů na (doprovodné) fazole a v kontextech a Dependency Injection k pojmenování fazolí, ale lze ji použít na celé platformě.

Specifikace webových služeb

Podnikové specifikace

  • Jakartské kontexty a závislostní injekce (CDI) je specifikace k poskytnutí a injekce závislostí kontejner;
  • Jakarta Enterprise Beans (EJB) specifikace definuje sadu odlehčených API, které bude kontejner kontejneru (kontejner EJB) podporovat, aby jej mohl poskytnout.) transakce (použitím JTA ), vzdálená volání procedur (použitím RMI nebo RMI-IIOP ), řízení souběžnosti, injekce závislostí a Řízení přístupu pro obchodní objekty. Tento balíček obsahuje třídy a rozhraní Jakarta Enterprise Beans, která definují smlouvy mezi podnikovým objektem bean a jeho klienty a mezi podnikovým objektem bean a kontejnerem ejb.
  • Jakarta Persistence (JPA) jsou specifikace týkající se objektově relačního mapování mezi tabulkami relační databáze a třídami Java.
  • Jakartské transakce (JTA) obsahuje rozhraní a poznámky pro interakci s podporou transakcí nabízenou společností Jakarta EE. I když toto API abstrahuje od skutečně nízkoúrovňových detailů, rozhraní jsou také považována za poněkud nízkoúrovňová a u průměrného vývojáře aplikací v Jakartě EE se buď předpokládá, že se spoléhá na transparentní zpracování transakcí vyšší úrovní EJB abstrakcí, nebo pomocí anotace poskytované tímto API v kombinaci s fazolemi spravovanými CDI.
  • Jakarta Messaging (JMS) poskytuje běžný způsob, jak mohou programy Java vytvářet, odesílat, přijímat a číst zprávy podnikového systému zasílání zpráv.

Další specifikace

  • Ověření: Tento balíček obsahuje anotace a rozhraní pro podporu deklarativní validace nabízené Ověření fazole API. Bean Validation poskytuje jednotný způsob, jak zajistit omezení na fazole (např. Třídy modelu JPA), které lze vynutit napříč vrstvami. V Jakartě EE dodržuje JPA omezení platnosti fazole ve vrstvě perzistence JSF dělá to ve vrstvě zobrazení.
  • Jakarta Batch poskytuje prostředky pro dávkové zpracování v aplikacích spouštět dlouho běžící úlohy na pozadí, které pravděpodobně zahrnují velké množství dat a které bude možná nutné pravidelně spouštět.
  • Jakarta konektory je Java nástroj pro propojení aplikačních serverů a podnikových informačních systémů (EIS) jako součást integrace podnikových aplikací (EAI). Toto je nízkoúrovňové API zaměřené na dodavatele, s nimiž průměrný vývojář aplikací obvykle nepřijde do styku.

Webový profil

Ve snaze omezit stopu webových kontejnerů, fyzicky i koncepčně, byl vytvořen webový profil, podmnožina specifikací Jakarta EE. Webový profil Jakarta EE zahrnuje následující:

SpecifikaceJava EE 6[12]Java EE 7[7]Java EE 8[9]
Jakarta EE 8[13]
Jakarta EE 9[14]
Jakarta Servlet3.03.14.05.0
Stránky serveru Jakarta (JSP)2.22.32.33.0
Jakarta výrazový jazyk (EL)2.23.03.04.0
Jakartská ladicí podpora pro další jazyky (JSR-45)1.01.01.02.0
Jakarta Standard Tag Library (JSTL)1.21.21.22.0
Tváře serveru Jakarta (JSF)2.02.22.33.0
Jakarta RESTful webové služby (JAX-RS)1.12.02.13.0
Jakarta WebSocket (WebSocket)N / A1.01.12.0
Jakarta JSON zpracování (JSON-P)N / A1.01.12.0
Jakarta JSON BindingN / AN / A1.12.0
Jakartské poznámky (JSR 250 )1.11.21.32.0
Jakarta Enterprise Beans (EJB)3.1 Lite3.2 Lite3.2 Lite4.0 Lite
Jakartské transakce (JTA)1.11.21.22.0
Jakarta Persistence (JPA)2.02.12.23.0
Jakarta Ověření fazole1.01.12.03.0
Jakarta řízené fazole1.01.01.02.0
Interceptory v Jakartě1.11.21.22.0
Jakarta Kontexty a vkládání závislostí (CDI)1.01.12.03.0
Injekce závislosti na Jakartě1.01.01.02.0
Jakartská bezpečnostN / AN / A1.02.0
Jakarta OvěřeníN / A1.01.12.0

Certifikované referenční runtime

Ačkoli ze své definice poskytují všechny implementace Jakarta EE stejnou základní úroveň technologií (jmenovitě specifikace Jakarta EE a související API), mohou se značně lišit, pokud jde o další funkce (jako konektory, shlukování, odolnost proti chybám, vysoká dostupnost, bezpečnostní atd.), instalovaná velikost, paměťová stopa, doba spuštění atd.


Jakarta EE

Odkazování na runtimeVývojářCertifikace Java EE 9 - plnáJava EE 9 certifikováno - WebLicencování
GlassFishZatměníAno 6.0.0-RC2Ano 6.0.0-RC2Svobodný software

Java EE

Odkazování na runtimeVývojářCertifikace Java EE 8 - plnáJava EE 8 certifikováno - WebCertifikace Java EE 7 - plnáJava EE 7 certifikováno - WebCertifikace Java EE 6 - plná
Oficiální stránka Oracle pro kompatibilitu Java EE.
Java EE 6 certifikováno - WebCertifikace Java EE 5Certifikace J2EE 1.4Licencování
GlassFish server Open Source EditionVěštecAno v5.0[15]Ano v5.0[15]Ano v4.x.[16]Ano v4.x.[16]Ano v3.xa nahoru[17]Ano v3.x Webový profilAno v2.1.x.[17]Svobodný software
Server Oracle GlassFishVěštecAno v3[18] založený na aplikačním serveru GlassFish s otevřeným zdrojovým kódemAno Sun Java System Application Server v9.0Ano Sun Java System Application Server v8.2Proprietární software
Server Oracle WebLogicVěštecAno 14.1.1[19]Ano 12.2.1[20]Ano v12c[21]Ano v10.3.5.0Ano v9Proprietární software
WildFlyčervená čepiceAno v14.x.[15]Ano v14.x.[15]Ano v8.1 [22]Ano v8.0.0. KonečnéAno v7.1[23]Ano v6.0[24] a v7.0[25]Ano v5.1[26][27]Ano v4.x.Svobodný software
JBoss Enterprise Application Platformčervená čepiceAno v7.2 [28]Ano v7.0[16]Ano v7.0[16]Ano v6.0[29]Ano v5Proprietární software
IBM WebSphere Application ServerIBMAno v9x[15]Ano v9x[16]Ano v8[30]Ano v7AnoProprietární software
IBM WebSphere Application Server LibertyIBMAno v18.0.0.2[31]Ano v18.0.0.2[31]Ano v8.5.5.6[32][33]Ano v8.5.5.6[16]Ano v8.5.5[34]Proprietární software
Otevřená svobodaIBMAno v18.0.0.2Ano v18.0.0.2Svobodný software
Komunitní vydání produktu IBM WebSphere Application ServerIBMAno v3.0Ano v2.1Proprietární software
Apache GeronimoApacheAno v3.0-beta-1[35][36]Ano v2.0Ano v1.0Svobodný software
JEUSTmaxSoftAno v8Ano v7[37][38]Ano v6Ano v5Proprietární software
Aplikační server CosminexusHitachiAno v10.0[15]Ano v9[39]Proprietární software
Mezistupňový aplikační server Fujitsu[40]FujitsuAno v12.0[15]Ano v1 Azure / v10.1[41][42]AnoProprietární software
WebOTXNECAno[43]AnoProprietární software
Aplikační server BESBaolandeAno v9.5[16]
Apache TomEE[44][45]ApacheNe 7 (Java EE 7 jako, ale není certifikováno[46])AnoSvobodný software
Pryskyřičný serverCauchoAno v4.0[47]AnoProprietární software
SiwpasOW2Ano v6.0[48]Svobodný software
JONASOW2Ano v5.3 rc1[49]AnoAnoSvobodný software
SAP NetWeaverMÍZAAno v2.x.[50]AnoAnoProprietární software
Kontejnery Oracle pro Java EEVěštecAnoProprietární software
Webový server Oracle iPlanetVěštecAno Sun Java System Web ServerProprietární software
Oracle Application Server 10gVěštecAnoProprietární software
Server PramatiPramati TechnologiesAno v5.0Proprietární software
Trifork T4TriforkAnoProprietární software
Sybase Enterprise Application Server[51]SybaseAnoProprietární software

Ukázka kódu

Ukázka kódu uvedená níže ukazuje, jak se různé technologie v prostředí Java EE 7 používají společně k vytvoření webového formuláře pro úpravy uživatele.

V Jakartě EE lze (webové) uživatelské rozhraní vytvořit pomocí Jakarta Servlet, Stránky serveru Jakarta (JSP), nebo Tváře serveru Jakarta (JSF) s Čelenky. Níže uvedený příklad používá JSF a Čelenky. Není explicitně zobrazeno, že vstupní komponenty používají rozhraní Jakarta EE Bean Validation API pod kryty k ověření omezení.

 xmlns =„http://www.w3.org/1999/xhtml“      xmlns: h =„http://xmlns.jcp.org/jsf/html“ xmlns: f =„http://xmlns.jcp.org/jsf/core“>    <f:metadata>         jméno ="uživatelské ID" hodnota =„# {userEdit.user}“ převodník =„# {userConvertor}“ />    </f:metadata>    <h:body>         />        <h:form>             sloupce ="2">                 pro ="jméno" hodnota ="Jméno" />                 id ="jméno" hodnota =„# {userEdit.user.firstName}“ štítek ="Jméno" />                 pro ="příjmení" hodnota ="Příjmení" />                 id ="příjmení" hodnota =„# {userEdit.user.lastName}“ štítek ="Příjmení" />                 akce =„# {userEdit.saveUser}“ hodnota ="Uložit" />            </h:panelGrid>        </h:form>    </h:body></html>

Příklad třídy Backing Bean

K usnadnění výhledu používá Jakarta EE koncept zvaný „Backing Bean“. Následující příklad používá Contexts and Dependency Injection (CDI) a Jakarta Enterprise Beans (EJB).

@ Jmenováno@ZobrazitSkopedveřejnost třída UserEdit {    soukromé Uživatel uživatel;    @Inject    soukromé UserDAO userDAO;    veřejnost Tětiva saveUser() {        userDAO.Uložit(tento.uživatel);        addFlashMessage(„Uživatel“ + tento.uživatel.getId() + " uložené");        vrátit se "users.xhtml? face-redirect = true";    }    veřejnost prázdnota setUser(Uživatel uživatel) {        tento.uživatel = uživatel;    }    veřejnost Uživatel getUser() {        vrátit se uživatel;    }}

Příklad třídy Data Access Object

Chcete-li implementovat obchodní logiku, Jakarta Enterprise Beans (EJB) je specializovaná technologie v Jakartě EE. Pro skutečnou vytrvalost JDBC nebo Jakarta Persistence Lze použít (JPA). Následující příklad používá EJB a JPA. Není to výslovně uvedeno JTA se používá pod kryty EJB k řízení transakčního chování.

@ Bez státní příslušnostiveřejnost třída UserDAO {    @PersistenceContext    soukromé EntityManager entityManager;    veřejnost prázdnota Uložit(Uživatel uživatel) {        entityManager.přetrvávat(uživatel);    }    veřejnost prázdnota Aktualizace(Uživatel uživatel) {        entityManager.spojit(uživatel);    }    veřejnost Seznam<Uživatel> dostat všechny() {        vrátit se entityManager.createNamedQuery(„User.getAll“, Uživatel.třída)                            .getResultList();    }}

Příklad třídy entity

Pro definování tříd entit / modelů poskytuje Jakarta EE Jakarta Persistence (JPA) a pro vyjádření omezení u těchto entit poskytuje rozhraní Bean Validation API. Následující příklad používá obě tyto technologie.

@Entityveřejnost třída Uživatel {    @Id    @GeneratedValue(strategie = IDENTITA)    soukromé Celé číslo id;    @Velikost(min = 2, zpráva=„Jméno je příliš krátké“)    soukromé Tětiva jméno;    @Velikost(min = 2, zpráva=„Příjmení je příliš krátké“)    soukromé Tětiva příjmení;    veřejnost Celé číslo getId() {        vrátit se id;    }    veřejnost prázdnota setId(Celé číslo id) {        tento.id = id;    }    veřejnost Tětiva getFirstName() {        vrátit se jméno;    }    veřejnost prázdnota setFirstName(Tětiva jméno) {        tento.jméno = jméno;    }    veřejnost Tětiva getLastName() {        vrátit se příjmení;    }    veřejnost prázdnota setLastName(Tětiva příjmení) {        tento.příjmení = příjmení;    }}

Viz také

Reference

  1. ^ „Rozdíly mezi Java EE a Java SE - váš první pohár: Úvod do platformy Java EE“. Docs.oracle.com. 01.04.2012. Citováno 2012-07-18.
  2. ^ "Přehled Java EE". Oracle Corporation. Citováno 26. února 2017.
  3. ^ John K.Waters (09.09.2017). „Java EE se stěhuje do Eclipse Foundation“. ADTmag. Citováno 2017-09-13.
  4. ^ Beaton, Wayne. „EE4J FAQ | Nadace Eclipse“. www.eclipse.org.
  5. ^ Chirgwin, Richard (4. března 2018). „Java EE přejmenována na„ Jakarta EE “po vyplivnutí značky Big Red“. Software. Registrace. Citováno 19. března 2018.
  6. ^ Vaughan-Nichols, Steven J. (5. března 2018). „Sbohem JEE, ahoj Jakartu EE“. Linux a Open Source. ZDNet. Citováno 2020-07-10.
  7. ^ A b „JSR 342: Java ™ Platform, Enterprise Edition 7 (Java EE 7) Specification“. Proces komunity Java.
  8. ^ Wieldt, Tori. „Představujeme prostředí Java EE 7: 12. června výkop“. Archivovány od originál dne 2013-09-13. Citováno 2013-05-28.
  9. ^ A b „Specifikace platformy Java, Enterprise Edition (Java EE), v8“ (PDF). Věštec.
  10. ^ „Jakarta EE 8“. projects.eclipse.org. Citováno 2020-07-11.
  11. ^ „Jakarta EE 9“. eclipse.org. Citováno 2020-23-11. Zkontrolujte hodnoty data v: | datum přístupu = (Pomoc)
  12. ^ „JSR 316: Java ™ Platform, Enterprise Edition 6 (Java EE 6) Specification“. Proces komunity Java.
  13. ^ "Požadované komponenty". Webový profil. Jakarta EE. Citováno 2020-07-11.
  14. ^ „Jakarta EE WebProfile“. jakarta.ee. Citováno 2020-07-15.
  15. ^ A b C d E F G "Kompatibilita Java EE". www.oracle.com. Citováno 2018-08-05.
  16. ^ A b C d E F G "Kompatibilita Java EE".
  17. ^ A b „Porovnání GlassFish Open Source Edition verze 2.xa 3.0.x“. Archivovány od originál dne 2012-12-20.
  18. ^ "Kompatibilita Java EE". Java.sun.com. 07.09.2010. Citováno 2012-07-18.
  19. ^ „Oracle Weblogic Server 14.1.1“. www.oracle.com.
  20. ^ „Oracle Weblogic Server 12.1.1“. www.oracle.com.
  21. ^ Lyons, Will; Humphrey, Pieter (2011). „Oracle Web Logic Server 12c: Vývoj moderních a lehkých aplikací Java EE 6“ (PDF). Archivovány od originál (PDF) dne 15. 12. 2011. Citováno 2011-12-03.
  22. ^ "Kompatibilita Java EE". www.oracle.com.
  23. ^ "JBoss AS 7.1.0.Final" Thunder "vydán - Java EE 6 Full Profile certifikován! | Moje Wiki | Komunita Planet JBoss". Planet.jboss.org. 17. 2. 2012. Citováno 2012-07-18.
  24. ^ „Aplikační server JBoss - komunita JBoss“.
  25. ^ „Aplikační server JBoss - komunita JBoss“.
  26. ^ "Kompatibilita Java EE".
  27. ^ „JBoss AS je nyní certifikován EE5!“. 15. září 2008. Archivovány od originál dne 20. září 2008. Citováno 7. srpna 2016.
  28. ^ „Dostupnost Red Hat JBoss Enterprise Application Platform 7.2“.
  29. ^ Business Wire (2012-06-20). „Red Hat uvádí JBoss Enterprise Application Platform 6 na pomoc podnikům přesunout vývoj a nasazení aplikací do cloudu“. Obchodní drát. Citováno 2012-07-18.
  30. ^ „Co je nového na serveru WebSphere Application Server V8“. Ibm.com. Citováno 2012-07-18.
  31. ^ A b „IBM WebSphere Application Server Liberty poskytuje první aplikační server kompatibilní s Java EE 8, který je připraven na výrobu, a rozšiřuje podporu pro aplikace Spring Boot“. IBM. Citováno 12. července 2018.
  32. ^ http://oracle.com/technetwork/java/javaee/overview/waslibertyprofile8556-2587134.html
  33. ^ „Java EE 7 přistála ve WAS Liberty - WASdev“. 25. června 2015.
  34. ^ „Konfigurace webového profilu IBM Java EE 6“.
  35. ^ "Apache Geronimo: Index". geronimo.apache.org. 25. ledna 2010.
  36. ^ „Apache Geronimo plně certifikován pro Java EE 6 - H Open: Novinky a funkce“. H-online.com. 14.11.2011. Archivovány od originál dne 20. dubna 2012. Citováno 2012-07-18.
  37. ^ „Tested Configurations, Java EE 6 - TMAX JEUS 7“. Oracle.com. 07.09.2010. Citováno 2012-07-18.
  38. ^ „Webový aplikační server Java EE6, software WAS“. Us.tmaxsoft.com. Archivovány od originál dne 02.07.2012. Citováno 2012-07-18.
  39. ^ „Java EE 6 - Tested Configurations, Java EE 6 - Hitachi uCosminexus Application Server v9.0“. Oracle.com.
  40. ^ „Mezistupňový aplikační server Fujitsu se systémem Windows Azure“. Archivovány od originál 10. srpna 2011.
  41. ^ „Tested Configurations, Java EE6 - Fujitsu Interstage“. Oracle.com. 07.09.2010. Citováno 2012-07-18.
  42. ^ „Fujitsu uvádí Interstage Application Server V10.1“. Fujitsu.
  43. ^ „Certifikace NEC WebOTX Application Server V9.x“.
  44. ^ "Apache TomEE". Openejb.apache.org. Citováno 2012-07-18.
  45. ^ „MarketWatch.com“. MarketWatch.com. Citováno 2012-07-18.
  46. ^ TomEE, Apache. „Apache TomEE 7.0.1“.
  47. ^ "Pryskyřičný aplikační server Java EE 6 Webový profil" (PDF). caucho.com. 2011.
  48. ^ „Prosím, přivítejte Siwpas jako možnost certifikovanou pro Java EE!“. Oracle.com. Citováno 2015-12-07.
  49. ^ „Vydán JOnAS 5.3.0 RC1“. jonas.ow2.org. 07.01.2013. Archivovány od originál dne 15. 10. 2013. Citováno 2014-02-25.
  50. ^ „Certifikován webový profil SAP NetWeaver Cloud Java EE 6! (Akvárium)“.
  51. ^ „Softwarová řešení SAP - obchodní aplikace a technologie“.

externí odkazy