A Java EE (korábbi nevén Java 2 Platform, Enterprise Edition , röviden J2EE) sok változáson ment keresztül az első verzió óta.
1998-ban a Sun Microsystems bejelentette a JPE-t (Java Platform for the Enterprise) , amely az EJB 1.0 implementációját, kompatibilitási teszteket és kódolási útmutatót tartalmaz [1] [2] .
1999. december 12-én megjelent a J2EE 1.2 specifikáció [3] .
A J2EE 1.2.1-ben szereplő specifikációk listája:
2001. szeptember 24-én megjelent a J2EE 1.3 specifikáció [4] . Bejelentették a Heavyweight Distributed Object Model ( RMI-IIOP/CORBA ) támogatását az XML javára . Hozzáadott JavaServer Pages Standard Tag Library (JSTL), Java hitelesítési és engedélyezési szolgáltatás (JAAS) és J2EE Connector Architecture.
A J2EE 1.3 specifikációinak listája:
2003. november 11-én megjelent a J2EE 1.4 [5] [6] . A webszolgáltatások megjelenésére válaszul az 1.4-es verzió támogatta az XML-alapú webszolgáltatásokat. Az összetevő alapú JavaServer Faces (JSF) technológiát adták hozzá a JSP helyére.
Technológia | Változat | JSR kód |
---|---|---|
Technológiák webszolgáltatásokhoz: | ||
Webszolgáltatások J2EE 1.1-hez | 1.0 | |
Java API XML-feldolgozáshoz (JAXP) | 1.2 | JSR 206 |
Java API XML-alapú RPC-hez (JAX-RPC) | 1.1 | |
Java API XML nyilvántartásokhoz (JAXR) | 1.0 | |
Technológiák webes alkalmazásokhoz: | ||
Java Servlet | 2.4 | JSR 154 |
Java szerver oldalak (JSP) | 2.0 | JSR 152 |
JavaServer Pages szabványos címkekönyvtár (JSTL) | 1.1 | JSR 52 |
JavaServer Faces (JSF) | 1.1 | JSR 127 |
Technológiák vállalati alkalmazásokhoz: | ||
Vállalati JavaBeans (EJB) | 2.1 | JSR 153 |
J2EE csatlakozó architektúra | 1.5 | JSR 112 |
Java Message Service API (JMS) | 1.1 | JSR 914 |
Java Transaction API (JTA) | 1.0 | JSR 907 |
JavaMail API | 1.3 | JSR 919 |
JavaBeans Activation Framework (JAF) | 1.0 | JSR 925 |
Biztonsági és alkalmazáskezelési technológiák: | ||
Java Authorization Service Provider Containers (JACC) | 1.0 | |
Java Management Extensions (JMX) | 1.2 | JSR 3 |
Enterprise Edition Management API | 1.0 | |
Enterprise Edition Deployment API | 1.1 |
2006. május 11-én megjelent a Java EE 5 specifikáció [7] . A specifikáció korábbi verzióiról panaszkodtak, hogy nehézkesek voltak, miközben léteztek és használtak olyan könnyű keretrendszerek, mint a Spring , Struts és Hibernate , a J2EE-t átnevezték Java EE 5-re, és a Java SE 1.5-tel adták ki. Kísérlet történt az EJB optimalizálására a Beans JPA-ra cserélésével. Emellett támogatást adtunk a Java API for XML-alapú webszolgáltatásokhoz (JAX-WS) és a SOAP with Attachments API for Java (SAAJ), mint korábban a szöveg aszinkron, majd később a bináris, szövegszinkron, amely képes az RMI-IIOP helyettesítésére. .
Technológia | Változat | JSR |
---|---|---|
Technológiák webszolgáltatásokhoz: | ||
webszolgáltatások | 1.2 | JSR 109 |
Java API XML-alapú webszolgáltatásokhoz (JAX-WS) | 2.0 | JSR 224 |
Java Architecture for XML Binding (JAXB) | 2.0 | JSR 222 |
Webszolgáltatás metaadatai a Java platformhoz | 2.0 | JSR 181 |
Java API XML-alapú RPC-hez (JAX-RPC) | 1.1 | JSR 101 |
Java API XML nyilvántartásokhoz (JAXR) | 1.0 | JSR 93 |
SOAP with Attachments API for Java (SAAJ) | 1.3 | JSR 67 |
Streaming API XML-hez (StAX) | 1.0 | JSR 173 |
Technológiák webes alkalmazásokhoz: | ||
Java Servlet | 2.5 | JSR 154 |
JavaServer Faces (JSF) | 1.2 | JSR 252 |
Java szerver oldalak (JSP) | 2.1 | JSR 245 |
JavaServer Pages szabványos címkekönyvtár (JSTL) | 1.2 | JSR 52 |
Hibakeresési támogatás más nyelvekhez | 1.0 | JSR 45 |
Technológiák vállalati alkalmazásokhoz: | ||
Vállalati JavaBeans (EJB) | 3.0 | JSR 220 |
Java Persistence API (JPA) | 1.0 | |
Java EE Connector Architecture | 1.5 | JSR 112 |
Általános megjegyzések a Java platformhoz | 1.0 | JSR 250 |
Java Message Service API (JMS) | 1.1 | JSR 914 |
Java Transaction API (JTA) | 1.1 | JSR 907 |
JavaMail API | 1.4 | JSR 919 |
JavaBeans Activation Framework (JAF) | 1.1 | JSR 925 |
Biztonsági és alkalmazáskezelési technológiák: | ||
Java Authorization Service Provider Containers (JACC) | 1.1 | JSR 115 |
J2EE alkalmazás telepítése | 1.2 | JSR 88 |
J2EE menedzsment | 1.1 | JSR 77 |
2009. december 10-én megjelent a Java EE 6 specifikáció [9] [10] [11] [12] . Ebben a kiadásban kísérletek történtek a Spring Framework koncepcióinak és szolgáltatásainak beépítésére és szabványosítására . A SOAP with Attachments API for Java (SAAJ) mostantól a Java SE 6 teljes része [13] . A Java API for RESTful Web Services (JAX-RS) mostantól a Java EE [14] teljes része ebből a verzióból . A DI, az AOP és más Spring koncepciókat is szabványosították, a Contexts and Dependency Injection (CDI), a Dependency Injection (DI), a Bean Validation , a Managed Beans és az Interceptorokat szabványosították.
A Java EE 6-ban bevezették a profil fogalmát, amely egy adott osztálytól vagy alkalmazástól függő platformkonfigurációt tartalmaz. A Web Profile ezenkívül az állapotok ( JSF és JSP ), a webtároló alapfunkcióinak ( servlet ), az üzleti logikának ( EJB Lite), a tranzakcióknak ( JTA ), az állapottárolásnak ( JPA ) és egyebeknek a megjelenítésére és kezelésére szolgáló technológiák teljes halmazát is tartalmazza.
A Java EE 6 megkezdte az elavult kód és a nem használt API -k tisztítási folyamatát .
Technológia | Változat | JSR | A webprofil része |
---|---|---|---|
Webszolgáltatási technológiák: | |||
Java API a RESTful webszolgáltatásokhoz (JAX-RS) | 1.1 | JSR 311 | |
webszolgáltatások | 1.3 | JSR 109 | |
Java API XML alapú webszolgáltatásokhoz (JAX-WS) | 2.2 | JSR 224 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java számára | 2.1 | JSR 181 | |
Java API XML-alapú RPC-hez (JAX-RPC) | 1.1 | JSR 101 | |
Java API-k XML Messaginghez (JAXM) | 1.3 | JSR 67 | |
Java API XML-nyilvántartásokhoz (JAXR) | 1.0 | JSR 93 | |
Technológiák webes alkalmazásokhoz: | |||
Java Servlet | 3.0 | JSR 315 | Igen |
JavaServer Faces (JSF) | 2.0 | JSR 314 | Igen |
Java szerver oldalak (JSP) | 2.2 | JSR 245 | Igen |
Kifejezési nyelv (EL) | 2.2 | Igen | |
JavaServer Pages szabványos címkekönyvtár (JSTL) | 1.2 | JSR 52 | Igen |
Hibakeresési támogatás más nyelvekhez | 1.0 | JSR 45 | Igen |
Technológiák vállalati alkalmazásokhoz: | |||
Vállalati JavaBeans (EJB) | 3.1 | JSR 318 | Lite |
Java Persistence API (JPA) | 2.0 | JSR 317 | Igen |
Kontextusok és függőségi injekció Javahoz (CDI) | 1.0 | JSR 299 | Igen |
Dependency Injection for Java | 1.0 | JSR 330 | Igen |
Validation | 1.0 | JSR 303 | Igen |
kezelt bab | 1.0 | JSR 316 | Igen |
Elfogók | 1.1 | JSR 318 | Igen |
Java EE Connector Architecture | 1.6 | JSR 322 | |
Általános megjegyzések a Java platformhoz | 1.1 | JSR 250 | Igen |
Java Message Service API (JMS) | 1.1 | JSR 914 | |
Java Transaction API (JTA) | 1.1 | JSR 907 | Igen |
JavaMail API | 1.4 | JSR 919 | |
Biztonsági és alkalmazáskezelési technológiák: | |||
Java Authentication Service Provider Interface for Containers (JASPIC) | 1.0 | JSR 196 | |
Java Authorization Service Provider Containers (JACC) | 1.4 | JSR 115 | |
Java EE alkalmazások telepítése | 1.2 | JSR 88 | |
menedzsment | 1.1 | JSR 77 |
Eleinte a specifikációnak a JSR 313 (angol) szám alatt kellett volna megjelennie , de törölték; később megkezdődött a specifikáció fejlesztése a jelenlegi JSR 316 (eng.) szám alatt .
A fejlesztést ellentmondásos szavazás után kezdték meg: 14 igen szavazat (87,5%), 1 nem (6,25%, Apache ) [15] és 1 tartózkodás (6,25%, Borland ) szavazott. A résztvevők a Sun Microsystems licencfeltételeivel kapcsolatos kérdéseket vetettek fel [16] .
2013. június 12-én megjelent a Java EE 7 specifikáció [17] [18] . A HTML5 trendnek köszönhetően Java API for WebSocket , Java API for JSON Processing , aszinkron szervletek és nem blokkoló NIO került be a specifikációba , ami a Play létrehozásához vezetett . A big data trend kapcsán a Batch Applications for the Java bekerült a Java EE-be .
Technológia | Változat | JSR | A webprofil része |
---|---|---|---|
Technológiák webes alkalmazásokhoz: | |||
Java API a WebSockethez | JSR 356 | Igen | |
Java API JSON-feldolgozáshoz | JSR 353 | Igen | |
Java Servlet | 3.1 | JSR 340 | Igen |
JavaServer Faces (JSF) | 2.2 | JSR 344 | Igen |
Egységesített kifejezési nyelv (EL) | 3.0 | JSR 341 | Igen |
Java szerver oldalak (JSP) | 2.3 | JSR 245 | Igen |
JavaServer Pages szabványos címkekönyvtár (JSTL) | 1.2 | JSR 52 | Igen |
Technológiák vállalati alkalmazásokhoz: | |||
Kötegelt alkalmazások Java-hoz | JSR 352 | ||
Concurrency Utilities for Java EE | 1.0 | JSR 236 | |
Kontextusok és függőségi injekció Javahoz (CDI) | 1.1 | JSR 346 | Igen |
Dependency Injection for Java | 1.0 | JSR 330 | Igen |
Validation | 1.1 | JSR 349 | Igen |
kezelt bab | 1.0 | JSR 316 | Igen |
Vállalati JavaBeans (EJB) | 3.2 | JSR 345 | Igen |
Elfogók | 1.2 | JSR 318 | Igen |
Java EE Connector Architecture | 1.7 | JSR 322 | |
Java Persistence API (JPA) | 2.1 | JSR 338 | Igen |
Általános megjegyzések a Java platformhoz | 1.2 | JSR 250 | Igen |
Java Message Service API (JMS) | 2.0 | JSR 343 | |
Java Transaction API (JTA) | 1.2 | JSR 907 | Igen |
JavaMail API | 1.5 | JSR 919 | |
Webszolgáltatási technológiák: | |||
Java API a RESTful webszolgáltatásokhoz (JAX-RS) | 2.0 | JSR 339 | Igen |
Vállalati webszolgáltatások megvalósítása | 1.4 | JSR 109 | |
Java API XML alapú webszolgáltatásokhoz (JAX-WS) | 2.2 | JSR 224 | |
Java számára | JSR 181 | ||
Java API XML-alapú RPC-hez (JAX-RPC; opcionális) | 1.1 | JSR 101 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API XML-nyilvántartásokhoz (JAXR) | 1.0 | JSR 93 | |
Alkalmazásbiztonsági és -kezelési technológiák: | |||
Java Authentication Service Provider Interface for Containers (JASPIC) | 1.1 | JSR 196 | |
Java Authorization Service Provider Containers (JASPCC) | 1.5 | JSR 115 | |
Java EE-alkalmazások telepítése (opcionális) | 1.2 | JSR 88 | |
Java EE | 1.1 | JSR 77 | |
Hibakeresési támogatás más nyelvekhez | 1.0 | JSR 45 | Igen |
A Java SE-re portolt Java EE specifikációi: | |||
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API XML-feldolgozáshoz (JAXP) | 1.3 | JSR 206 | |
Java adatbázis-kapcsolat | 4.0 | JSR 221 | |
Java Management Extensions (JMX) | 2.0 | JSR 3 | |
JavaBeans Activation Framework (JAF) | 1.1 | JSR 925 | |
Java API-k XML- | 1.3 | JSR 67 | |
Streaming API XML-hez (StAX) | 1.0 | JSR 173 |
2017. szeptember 21-én megjelent a Java EE 8 specifikáció [19] [20] [21] . A Java EE az Eclipse Foundation irányítása alá került , [22] és nyílt forráskódú is [23] . Eclipse Java EE alapú Eclipse Enterprise for Java (EE4J) [24] . Ennek a kiadásnak a célja a HTML5 támogatás és az alapvető HTTP/2 támogatás javítása, a Managed Beans integrációjának egyszerűsítése , a felhőben lévő alkalmazások infrastruktúrájának javítása , valamint a Java EE-technológiák körének kiterjesztése a webre és a felhőkre.