Java EE (tidligere kendt som Java 2 Platform, Enterprise Edition , J2EE for kort) har gennemgået mange ændringer siden den første version.
I 1998 blev JPE (Java Platform for Enterprise) annonceret af Sun Microsystems , der indeholdt en implementering af EJB 1.0, kompatibilitetstests og kodningsvejledning [1] [2] .
Den 12. december 1999 blev J2EE 1.2-specifikationen [3] offentliggjort .
Liste over specifikationer inkluderet i J2EE 1.2.1:
Den 24. september 2001 blev J2EE 1.3-specifikationen [4] frigivet . Understøttelse af Heavyweight Distributed Object Model ( RMI-IIOP/CORBA ) blev annonceret til fordel for XML . Tilføjet JavaServer Pages Standard Tag Library (JSTL), Java Authentication and Authorization Service (JAAS) og J2EE Connector Architecture.
Liste over J2EE 1.3 specifikationer:
Den 11. november 2003 blev J2EE 1.4 [5] [6] udgivet . Som svar på fremkomsten af webtjenester tilføjede version 1.4 understøttelse af XML-baserede webtjenester. Den komponentbaserede JavaServer Faces (JSF) teknologi er blevet tilføjet for at erstatte JSP.
Teknologi | Version | JSR kode |
---|---|---|
Teknologier til webtjenester: | ||
Webtjenester til J2EE 1.1 | 1.0 | |
Java API til XML-behandling (JAXP) | 1.2 | JSR 206 |
Java API til XML-baseret RPC (JAX-RPC) | 1.1 | |
Java API for XML Registries (JAXR) | 1.0 | |
Teknologier til webapplikationer: | ||
Java Servlet | 2.4 | JSR 154 |
Java Server Pages (JSP'er) | 2.0 | JSR 152 |
JavaServer Pages Standard Tag Library (JSTL) | 1.1 | JSR 52 |
JavaServer Faces (JSF) | 1.1 | JSR 127 |
Teknologier til virksomhedsapplikationer: | ||
Enterprise JavaBeans (EJB'er) | 2.1 | JSR 153 |
J2EE Connector Architecture | 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 |
Teknologier til sikkerhed og applikationsstyring: | ||
Java Authorization Service Provider Contract for Containers (JACC) | 1.0 | |
Java Management Extensions (JMX) | 1.2 | JSR 3 |
Enterprise Edition Management API | 1.0 | |
Enterprise Edition Deployment API | 1.1 |
Den 11. maj 2006 blev Java EE 5-specifikationen [7] frigivet . Tidligere versioner af specifikationen blev klaget over at være svære at bruge, mens lette rammer som Spring , Struts og Hibernate eksisterede og blev brugt , J2EE blev omdøbt til Java EE 5 og udgivet med Java SE 1.5. Et forsøg blev gjort på at optimere EJB ved at erstatte Beans med JPA. Der blev også tilføjet understøttelse af Java API til XML-baserede webtjenester (JAX-WS) og SOAP med Attachments API for Java (SAAJ) som før asynkron tekst og senere binær tekstsynkron, der er i stand til at erstatte RMI-IIOP .
Teknologi | Version | JSR |
---|---|---|
Teknologier til webtjenester: | ||
webtjenester | 1.2 | JSR 109 |
Java API til XML-baserede webtjenester (JAX-WS) | 2.0 | JSR 224 |
Java Architecture for XML Binding (JAXB) | 2.0 | JSR 222 |
Web Service Metadata til Java-platformen | 2.0 | JSR 181 |
Java API til XML-baseret RPC (JAX-RPC) | 1.1 | JSR 101 |
Java API for XML Registries (JAXR) | 1.0 | JSR 93 |
SOAP with Attachments API for Java (SAAJ) | 1.3 | JSR 67 |
Streaming API til XML (StAX) | 1.0 | JSR 173 |
Teknologier til webapplikationer: | ||
Java Servlet | 2.5 | JSR 154 |
JavaServer Faces (JSF) | 1.2 | JSR 252 |
Java Server Pages (JSP'er) | 2.1 | JSR 245 |
JavaServer Pages Standard Tag Library (JSTL) | 1.2 | JSR 52 |
Fejlfindingsunderstøttelse til andre sprog | 1.0 | JSR 45 |
Teknologier til virksomhedsapplikationer: | ||
Enterprise JavaBeans (EJB'er) | 3.0 | JSR 220 |
Java Persistence API (JPA) | 1.0 | |
Java EE Connector Architecture | 1.5 | JSR 112 |
Fælles anmærkninger til Java-platformen | 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 |
Teknologier til sikkerhed og applikationsstyring: | ||
Java Authorization Service Provider Contract for Containers (JACC) | 1.1 | JSR 115 |
J2EE-applikationsimplementering | 1.2 | JSR 88 |
J2EE Management | 1.1 | JSR 77 |
Den 10. december 2009 blev Java EE 6-specifikationen [9] [10] [11] [12] frigivet . I denne udgivelse blev der gjort forsøg på at inkorporere og standardisere koncepter og funktioner fra Spring Framework . SOAP with Attachments API for Java (SAAJ) er nu en fuld del af Java SE 6 [13] . Java API for RESTful Web Services (JAX-RS) er nu en fuld del af Java EE [14] fra og med denne version . DI, AOP og andre koncepter fra Spring blev også standardiseret, Contexts and Dependency Injection (CDI), Dependency Injection (DI), Bean Validation , Managed Beans og Interceptors blev standardiseret.
I Java EE 6 blev konceptet med en profil introduceret, som inkluderer platformkonfiguration afhængigt af en bestemt klasse eller applikation. Webprofil inkluderer også en fuld stak af teknologier til at repræsentere og administrere tilstande ( JSF og JSP ), webcontainer-kernefunktionalitet ( servlet ), forretningslogik ( EJB Lite), transaktioner ( JTA ), tilstandslagring ( JPA ) og andet.
Java EE 6 har påbegyndt oprydningsprocessen af forældet kode og ubrugte API'er .
Teknologi | Version | JSR | Inkluderet i webprofil |
---|---|---|---|
Webserviceteknologier: | |||
Java API til RESTful Web Services (JAX-RS) | 1.1 | JSR 311 | |
webtjenester | 1.3 | JSR 109 | |
Java API til XML-baserede webtjenester (JAX-WS) | 2.2 | JSR 224 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
til Java | 2.1 | JSR 181 | |
Java API til XML-baseret RPC (JAX-RPC) | 1.1 | JSR 101 | |
Java API'er til XML Messaging (JAXM) | 1.3 | JSR 67 | |
Java API for XML Registries (JAXR) | 1.0 | JSR 93 | |
Teknologier til webapplikationer: | |||
Java Servlet | 3.0 | JSR 315 | Ja |
JavaServer Faces (JSF) | 2.0 | JSR 314 | Ja |
Java Server Pages (JSP'er) | 2.2 | JSR 245 | Ja |
Expression Language (EL) | 2.2 | Ja | |
JavaServer Pages Standard Tag Library (JSTL) | 1.2 | JSR 52 | Ja |
Fejlfindingsunderstøttelse til andre sprog | 1.0 | JSR 45 | Ja |
Teknologier til virksomhedsapplikationer: | |||
Enterprise JavaBeans (EJB'er) | 3.1 | JSR 318 | Lite |
Java Persistence API (JPA) | 2.0 | JSR 317 | Ja |
Contexts and Dependency Injection for Java (CDI) | 1.0 | JSR 299 | Ja |
Dependency Injection til Java | 1.0 | JSR 330 | Ja |
validering | 1.0 | JSR 303 | Ja |
administrerede bønner | 1.0 | JSR 316 | Ja |
Interceptorer | 1.1 | JSR 318 | Ja |
Java EE Connector Architecture | 1.6 | JSR 322 | |
Fælles anmærkninger til Java-platformen | 1.1 | JSR 250 | Ja |
Java Message Service API (JMS) | 1.1 | JSR 914 | |
Java Transaction API (JTA) | 1.1 | JSR 907 | Ja |
JavaMail API | 1.4 | JSR 919 | |
Teknologier til sikkerhed og applikationsstyring: | |||
Java Authentication Service Provider Interface for Containers (JASPIC) | 1.0 | JSR 196 | |
Java Authorization Service Provider Contract for Containers (JACC) | 1.4 | JSR 115 | |
Java EE Application Deployment | 1.2 | JSR 88 | |
Management | 1.1 | JSR 77 |
I starten skulle specifikationen passere under nummeret JSR 313 (engelsk) , men blev annulleret; senere begyndte udviklingen af specifikationen under det nuværende nummer JSR 316 (eng.) .
Udviklingen blev startet efter en kontroversiel afstemning: 14 stemmer for (87,5%), 1 imod (6,25%, Apache ) [15] og 1 undlod at stemme (6,25%, Borland ). Deltagerne rejste spørgsmål i forbindelse med licensvilkår for Sun Microsystems [16] .
Den 12. juni 2013 blev Java EE 7-specifikationen [17] [18] frigivet . På grund af HTML5 -trenden blev Java API til WebSocket , Java API til JSON Processing , asynkrone servlets og ikke- blokerende NIO tilføjet til specifikationen , hvilket førte til oprettelsen af Play . I forbindelse med big data-tendensen er Batch Applications for Java blevet tilføjet til Java EE .
Teknologi | Version | JSR | Inkluderet i webprofil |
---|---|---|---|
Teknologier til webapplikationer: | |||
Java API til WebSocket | JSR 356 | Ja | |
Java API til JSON-behandling | JSR 353 | Ja | |
Java Servlet | 3.1 | JSR 340 | Ja |
JavaServer Faces (JSF) | 2.2 | JSR 344 | Ja |
Unified Expression Language (EL) | 3.0 | JSR 341 | Ja |
Java Server Pages (JSP'er) | 2.3 | JSR 245 | Ja |
JavaServer Pages Standard Tag Library (JSTL) | 1.2 | JSR 52 | Ja |
Teknologier til virksomhedsapplikationer: | |||
Batch-applikationer til Java | JSR 352 | ||
Concurrency Utilities til Java EE | 1.0 | JSR 236 | |
Contexts and Dependency Injection for Java (CDI) | 1.1 | JSR 346 | Ja |
Dependency Injection til Java | 1.0 | JSR 330 | Ja |
validering | 1.1 | JSR 349 | Ja |
administrerede bønner | 1.0 | JSR 316 | Ja |
Enterprise JavaBeans (EJB'er) | 3.2 | JSR 345 | Ja |
Interceptorer | 1.2 | JSR 318 | Ja |
Java EE Connector Architecture | 1.7 | JSR 322 | |
Java Persistence API (JPA) | 2.1 | JSR 338 | Ja |
Fælles anmærkninger til Java-platformen | 1.2 | JSR 250 | Ja |
Java Message Service API (JMS) | 2.0 | JSR 343 | |
Java Transaction API (JTA) | 1.2 | JSR 907 | Ja |
JavaMail API | 1.5 | JSR 919 | |
Webserviceteknologier: | |||
Java API til RESTful Web Services (JAX-RS) | 2.0 | JSR 339 | Ja |
Implementering af Enterprise Web Services | 1.4 | JSR 109 | |
Java API til XML-baserede webtjenester (JAX-WS) | 2.2 | JSR 224 | |
til Java | JSR 181 | ||
Java API til XML-baseret RPC (JAX-RPC; valgfrit) | 1.1 | JSR 101 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API for XML Registries (JAXR) | 1.0 | JSR 93 | |
Applikationssikkerhed og -styringsteknologier: | |||
Java Authentication Service Provider Interface for Containers (JASPIC) | 1.1 | JSR 196 | |
Java Authorization Service Provider Contract for Containers (JASPCC) | 1.5 | JSR 115 | |
Java EE Application Deployment (valgfrit) | 1.2 | JSR 88 | |
Java EE | 1.1 | JSR 77 | |
Fejlfindingsunderstøttelse til andre sprog | 1.0 | JSR 45 | Ja |
Specifikationer fra Java EE porteret til Java SE: | |||
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API til XML-behandling (JAXP) | 1.3 | JSR 206 | |
Java-databaseforbindelse | 4.0 | JSR 221 | |
Java Management Extensions (JMX) | 2.0 | JSR 3 | |
JavaBeans Activation Framework (JAF) | 1.1 | JSR 925 | |
Java API'er til XML | 1.3 | JSR 67 | |
Streaming API til XML (StAX) | 1.0 | JSR 173 |
Den 21. september 2017 blev Java EE 8-specifikationen [19] [20] [21] frigivet . Java EE er kommet under kontrol af Eclipse Foundation , [22] og har også været open source [23] . Eclipse baseret på Java EE Eclipse Enterprise for Java (EE4J) [24] . Denne udgivelse har til formål at forbedre HTML5- understøttelse og grundlæggende HTTP/2 -understøttelse , forenkle integrationen af Managed Beans , forbedre infrastrukturen for applikationer i skyen og udvide rækken af Java EE-teknologier til internettet og skyerne.