Java EE (cunoscut anterior ca Java 2 Platform, Enterprise Edition , pe scurt J2EE) a suferit multe modificări de la prima versiune.
În 1998, JPE (Java Platform for the Enterprise) a fost anunțat de Sun Microsystems , care conține o implementare a EJB 1.0, teste de compatibilitate și ghid de codare [1] [2] .
La 12 decembrie 1999, a fost publicată specificația J2EE 1.2 [3] .
Lista specificațiilor incluse în J2EE 1.2.1:
La 24 septembrie 2001, a fost lansată specificația J2EE 1.3 [4] . Suportul pentru modelul de obiecte distribuite grele ( RMI-IIOP/CORBA ) a fost anunțat în favoarea XML . S-au adăugat JavaServer Pages Standard Tag Library (JSTL), Java Authentication and Authorization Service (JAAS) și J2EE Connector Architecture.
Lista specificațiilor J2EE 1.3:
Pe 11 noiembrie 2003, a fost lansat J2EE 1.4 [5] [6] . Ca răspuns la apariția serviciilor web, versiunea 1.4 a adăugat suport pentru serviciile web bazate pe XML. Tehnologia JavaServer Faces (JSF) bazată pe componente a fost adăugată pentru a înlocui JSP.
Lista specificațiilor J2EE 1.4Tehnologie | Versiune | Cod JSR |
---|---|---|
Tehnologii pentru servicii web: | ||
Servicii web pentru J2EE 1.1 | 1.0 | |
API Java pentru procesare XML (JAXP) | 1.2 | JSR 206 |
API Java pentru RPC bazat pe XML (JAX-RPC) | 1.1 | |
API Java pentru registre XML (JAXR) | 1.0 | |
Tehnologii pentru aplicații web: | ||
Servlet Java | 2.4 | JSR 154 |
Pagini de server Java (JSP) | 2.0 | JSR 152 |
Bibliotecă standard de etichete JavaServer Pages (JSTL) | 1.1 | JSR 52 |
JavaServer Faces (JSF) | 1.1 | JSR 127 |
Tehnologii pentru aplicații corporative: | ||
Enterprise JavaBeans (EJB) | 2.1 | JSR 153 |
Arhitectura conectorului J2EE | 1.5 | JSR 112 |
API Java Message Service (JMS) | 1.1 | JSR 914 |
Java Transaction API (JTA) | 1.0 | JSR 907 |
API -ul JavaMail | 1.3 | JSR 919 |
Cadrul de activare JavaBeans (JAF) | 1.0 | JSR 925 |
Tehnologii pentru securitate și managementul aplicațiilor: | ||
Contract de furnizor de servicii de autorizare Java pentru containere (JACC) | 1.0 | |
Extensii de management Java (JMX) | 1.2 | JSR 3 |
Enterprise Edition Management API | 1.0 | |
API-ul de implementare Enterprise Edition | 1.1 |
Pe 11 mai 2006, a fost lansată specificația Java EE 5 [7] . Versiunile anterioare ale specificației s-au plâns că sunt dificil de utilizat, în timp ce cadrele ușoare precum Spring , Struts și Hibernate au existat și au fost folosite , J2EE a fost redenumit în Java EE 5 și lansat cu Java SE 1.5. S-a încercat optimizarea EJB prin înlocuirea Beans cu JPA. De asemenea, a fost adăugat suport pentru API-ul Java pentru servicii web bazate pe XML (JAX-WS) și API-ul SOAP cu atașamente pentru Java (SAAJ) ca înainte text asincron, iar mai târziu binar, sincron text, capabil să înlocuiască RMI-IIOP .
Lista specificațiilor în Java EE 5 [8]Tehnologie | Versiune | JSR |
---|---|---|
Tehnologii pentru servicii web: | ||
servicii web | 1.2 | JSR 109 |
API Java pentru servicii web bazate pe XML (JAX-WS) | 2.0 | JSR 224 |
Arhitectură Java pentru legarea XML (JAXB) | 2.0 | JSR 222 |
Metadatele serviciului web pentru platforma Java | 2.0 | JSR 181 |
API Java pentru RPC bazat pe XML (JAX-RPC) | 1.1 | JSR 101 |
API Java pentru registre XML (JAXR) | 1.0 | JSR 93 |
API-ul SOAP cu atașamente pentru Java (SAAJ) | 1.3 | JSR 67 |
API de streaming pentru XML (StAX) | 1.0 | JSR 173 |
Tehnologii pentru aplicații web: | ||
Servlet Java | 2.5 | JSR 154 |
JavaServer Faces (JSF) | 1.2 | JSR 252 |
Pagini de server Java (JSP) | 2.1 | JSR 245 |
Bibliotecă standard de etichete JavaServer Pages (JSTL) | 1.2 | JSR 52 |
Suport de depanare pentru alte limbi | 1.0 | JSR 45 |
Tehnologii pentru aplicații corporative: | ||
Enterprise JavaBeans (EJB) | 3.0 | JSR 220 |
Java Persistence API (JPA) | 1.0 | |
Arhitectura conectorului Java EE | 1.5 | JSR 112 |
Adnotări comune pentru platforma Java | 1.0 | JSR 250 |
API Java Message Service (JMS) | 1.1 | JSR 914 |
Java Transaction API (JTA) | 1.1 | JSR 907 |
API -ul JavaMail | 1.4 | JSR 919 |
Cadrul de activare JavaBeans (JAF) | 1.1 | JSR 925 |
Tehnologii pentru securitate și managementul aplicațiilor: | ||
Contract de furnizor de servicii de autorizare Java pentru containere (JACC) | 1.1 | JSR 115 |
Implementarea aplicației J2EE | 1.2 | JSR 88 |
Management J2EE | 1.1 | JSR 77 |
Pe 10 decembrie 2009, specificația Java EE 6 [9] [10] [11] [12] a fost lansată . În această versiune, s-au făcut încercări de a încorpora și standardiza concepte și caracteristici din Spring Framework . API-ul SOAP cu atașamente pentru Java (SAAJ) este acum o parte completă a Java SE 6 [13] . API-ul Java pentru Servicii Web RESTful (JAX-RS) este acum o parte integrală a Java EE [14] începând cu această ediție . DI, AOP și alte concepte din Spring au fost, de asemenea, standardizate, Contexts and Dependency Injection (CDI), Dependency Injection (DI), Bean Validation , Managed Beans și Interceptori au fost standardizate.
În Java EE 6, a fost introdus conceptul de profil, care include configurarea platformei în funcție de o anumită clasă sau aplicație. Profilul web include, de asemenea, o stivă completă de tehnologii pentru reprezentarea și gestionarea stărilor ( JSF și JSP ), funcționalitatea de bază a containerului web ( servlet ), logica de afaceri ( EJB Lite ), tranzacțiile ( JTA ), stocarea de stat ( JPA ) și altele.
Java EE 6 a început procesul de curățare a codului învechit și a API-urilor neutilizate .
Lista specificațiilor incluse în Java EE 6 [14]Tehnologie | Versiune | JSR | Inclus în Profilul Web |
---|---|---|---|
Tehnologii pentru servicii web: | |||
API Java pentru servicii web RESTful (JAX-RS) | 1.1 | JSR 311 | |
servicii web | 1.3 | JSR 109 | |
API Java pentru servicii web bazate pe XML (JAX-WS) | 2.2 | JSR 224 | |
Arhitectură Java pentru legarea XML (JAXB) | 2.2 | JSR 222 | |
pentru servicii web pentru Java | 2.1 | JSR 181 | |
API Java pentru RPC bazat pe XML (JAX-RPC) | 1.1 | JSR 101 | |
API-uri Java pentru mesageria XML (JAXM) | 1.3 | JSR 67 | |
API Java pentru registre XML (JAXR) | 1.0 | JSR 93 | |
Tehnologii pentru aplicații web: | |||
Servlet Java | 3.0 | JSR 315 | da |
JavaServer Faces (JSF) | 2.0 | JSR 314 | da |
Pagini de server Java (JSP) | 2.2 | JSR 245 | da |
Limbajul expresiei (EL) | 2.2 | da | |
Bibliotecă standard de etichete JavaServer Pages (JSTL) | 1.2 | JSR 52 | da |
Suport de depanare pentru alte limbi | 1.0 | JSR 45 | da |
Tehnologii pentru aplicații corporative: | |||
Enterprise JavaBeans (EJB) | 3.1 | JSR 318 | Lite |
Java Persistence API (JPA) | 2.0 | JSR 317 | da |
Contexte și injecție de dependențe pentru Java (CDI) | 1.0 | JSR 299 | da |
Injecție de dependență pentru Java | 1.0 | JSR 330 | da |
Validarea | 1.0 | JSR 303 | da |
fasole gestionată | 1.0 | JSR 316 | da |
Interceptori | 1.1 | JSR 318 | da |
Arhitectura conectorului Java EE | 1.6 | JSR 322 | |
Adnotări comune pentru platforma Java | 1.1 | JSR 250 | da |
API Java Message Service (JMS) | 1.1 | JSR 914 | |
Java Transaction API (JTA) | 1.1 | JSR 907 | da |
API -ul JavaMail | 1.4 | JSR 919 | |
Tehnologii pentru securitate și managementul aplicațiilor: | |||
Interfața furnizorului de servicii de autentificare Java pentru containere (JASPIC) | 1.0 | JSR 196 | |
Contract de furnizor de servicii de autorizare Java pentru containere (JACC) | 1.4 | JSR 115 | |
Implementarea aplicației Java EE | 1.2 | JSR 88 | |
Management | 1.1 | JSR 77 |
La început, specificația trebuia să treacă sub numărul JSR 313 (engleză) , dar a fost anulată; mai târziu, dezvoltarea specificației a început sub numărul actual JSR 316 (ing.) .
Dezvoltarea a început după un vot controversat: 14 voturi pentru (87,5%), 1 împotrivă (6,25%, Apache ) [15] și 1 abținere (6,25%, Borland ). Participanții au ridicat probleme legate de condițiile de licențiere pentru Sun Microsystems [16] .
La 12 iunie 2013, a fost lansată specificația Java EE 7 [17] [18] . Datorită tendinței HTML5 , API-ul Java pentru WebSocket , API-ul Java pentru procesarea JSON , servlet-uri asincrone și NIO care nu blochează au fost adăugate la specificație , ceea ce a dus la crearea Play . În legătură cu tendința de date mari, aplicațiile batch pentru Java au fost adăugate la Java EE .
Lista specificațiilor incluse în Java EE 7Tehnologie | Versiune | JSR | Inclus în Profilul Web |
---|---|---|---|
Tehnologii pentru aplicații web: | |||
API Java pentru WebSocket | JSR 356 | da | |
API Java pentru procesarea JSON | JSR 353 | da | |
Servlet Java | 3.1 | JSR 340 | da |
JavaServer Faces (JSF) | 2.2 | JSR 344 | da |
Unified Expression Language (EL) | 3.0 | JSR 341 | da |
Pagini de server Java (JSP) | 2.3 | JSR 245 | da |
Bibliotecă standard de etichete JavaServer Pages (JSTL) | 1.2 | JSR 52 | da |
Tehnologii pentru aplicații corporative: | |||
Batch Aplicații pentru Java | JSR 352 | ||
Utilitare de concurență pentru Java EE | 1.0 | JSR 236 | |
Contexte și injecție de dependențe pentru Java (CDI) | 1.1 | JSR 346 | da |
Injecție de dependență pentru Java | 1.0 | JSR 330 | da |
Validarea | 1.1 | JSR 349 | da |
fasole gestionată | 1.0 | JSR 316 | da |
Enterprise JavaBeans (EJB) | 3.2 | JSR 345 | da |
Interceptori | 1.2 | JSR 318 | da |
Arhitectura conectorului Java EE | 1.7 | JSR 322 | |
Java Persistence API (JPA) | 2.1 | JSR 338 | da |
Adnotări comune pentru platforma Java | 1.2 | JSR 250 | da |
API Java Message Service (JMS) | 2.0 | JSR 343 | |
Java Transaction API (JTA) | 1.2 | JSR 907 | da |
API -ul JavaMail | 1.5 | JSR 919 | |
Tehnologii pentru servicii web: | |||
API Java pentru servicii web RESTful (JAX-RS) | 2.0 | JSR 339 | da |
Implementarea Serviciilor Web Enterprise | 1.4 | JSR 109 | |
API Java pentru servicii web bazate pe XML (JAX-WS) | 2.2 | JSR 224 | |
pentru servicii web pentru Java | JSR 181 | ||
API Java pentru RPC bazat pe XML (JAX-RPC; opțional) | 1.1 | JSR 101 | |
Arhitectură Java pentru legarea XML (JAXB) | 2.2 | JSR 222 | |
API Java pentru registre XML (JAXR) | 1.0 | JSR 93 | |
Tehnologii de securitate și management al aplicațiilor: | |||
Interfața furnizorului de servicii de autentificare Java pentru containere (JASPIC) | 1.1 | JSR 196 | |
Contract de furnizor de servicii de autorizare Java pentru containere (JASPCC) | 1.5 | JSR 115 | |
Implementarea aplicației Java EE (opțional) | 1.2 | JSR 88 | |
Java EE | 1.1 | JSR 77 | |
Suport de depanare pentru alte limbi | 1.0 | JSR 45 | da |
Specificații de la Java EE portate pe Java SE: | |||
Arhitectură Java pentru legarea XML (JAXB) | 2.2 | JSR 222 | |
API Java pentru procesare XML (JAXP) | 1.3 | JSR 206 | |
Conectivitate la baza de date Java | 4.0 | JSR 221 | |
Extensii de management Java (JMX) | 2.0 | JSR 3 | |
Cadrul de activare JavaBeans (JAF) | 1.1 | JSR 925 | |
API-uri Java pentru | 1.3 | JSR 67 | |
API de streaming pentru XML (StAX) | 1.0 | JSR 173 |
La 21 septembrie 2017, a fost lansată specificația Java EE 8 [19] [20] [21] . Java EE a intrat sub controlul Fundației Eclipse , [22] și a fost, de asemenea, open source [23] . Eclipse bazat pe Java EE Eclipse Enterprise pentru Java (EE4J) [24] . Această versiune își propune să îmbunătățească suportul HTML5 și suportul de bază HTTP/2 , să simplifice integrarea Managed Beans , să îmbunătățească infrastructura aplicațiilor în cloud și să extindă gama de tehnologii Java EE la web și cloud.