Java EE (dříve známá jako Java 2 Platform, Enterprise Edition , zkráceně J2EE) prošla od první verze mnoha změnami.
V roce 1998 byla společností Sun Microsystems oznámena platforma JPE (Java Platform for the Enterprise) , která obsahuje implementaci EJB 1.0, testy kompatibility a pokyny pro kódování [1] [2] .
12. prosince 1999 byla zveřejněna specifikace J2EE 1.2 [3] .
Seznam specifikací zahrnutých v J2EE 1.2.1:
24. září 2001 byla vydána specifikace J2EE 1.3 [4] . Podpora pro Heavyweight Distributed Object Model ( RMI-IIOP/CORBA ) byla oznámena ve prospěch XML . Přidána knihovna JavaServer Pages Standard Tag Library (JSTL), Java Authentication and Authorization Service (JAAS) a J2EE Connector Architecture.
Seznam specifikací J2EE 1.3:
11. listopadu 2003 byla vydána verze J2EE 1.4 [5] [6] . V reakci na příchod webových služeb přidala verze 1.4 podporu webových služeb založených na XML. Technologie JavaServer Faces (JSF) založená na komponentách byla přidána, aby nahradila JSP.
Technika | Verze | Kód JSR |
---|---|---|
Technologie pro webové služby: | ||
Webové služby pro J2EE 1.1 | 1,0 | |
Java API pro zpracování XML (JAXP) | 1.2 | JSR 206 |
Java API pro RPC založené na XML (JAX-RPC) | 1.1 | |
Java API pro XML registry (JAXR) | 1,0 | |
Technologie pro webové aplikace: | ||
Java Servlet | 2.4 | JSR 154 |
Java Server Pages (JSP) | 2,0 | JSR 152 |
JavaServer Pages Standardní knihovna značek (JSTL) | 1.1 | JSR 52 |
JavaServer Faces (JSF) | 1.1 | JSR 127 |
Technologie pro firemní aplikace: | ||
Enterprise JavaBeans (EJB) | 2.1 | JSR 153 |
Architektura konektoru J2EE | 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 |
Technologie pro zabezpečení a správu aplikací: | ||
Smlouva poskytovatele autorizačních služeb Java pro kontejnery (JACC) | 1,0 | |
Java Management Extensions (JMX) | 1.2 | JSR 3 |
Enterprise Edition Management API | 1,0 | |
Enterprise Edition Deployment API | 1.1 |
11. května 2006 byla vydána specifikace Java EE 5 [7] . Předchozí verze specifikace byly stěžovány na obtížné použití, zatímco lehké frameworky jako Spring , Struts a Hibernate existovaly a byly používány , J2EE bylo přejmenováno na Java EE 5 a uvolněno s Java SE 1.5. Byl učiněn pokus optimalizovat EJB nahrazením Beans JPA. Byla také přidána podpora pro Java API pro webové služby založené na XML (JAX-WS) a SOAP s Attachments API pro Java (SAAJ) jako dříve textové asynchronní a později binární, textové synchronní, schopné nahradit RMI-IIOP .
Technika | Verze | JSR |
---|---|---|
Technologie pro webové služby: | ||
webové služby | 1.2 | JSR 109 |
Java API pro webové služby založené na XML (JAX-WS) | 2,0 | JSR 224 |
Java Architecture for XML Binding (JAXB) | 2,0 | JSR 222 |
Metadata webových služeb pro platformu Java | 2,0 | JSR 181 |
Java API pro RPC založené na XML (JAX-RPC) | 1.1 | JSR 101 |
Java API pro XML registry (JAXR) | 1,0 | JSR 93 |
SOAP s Attachments API pro Java (SAAJ) | 1.3 | JSR 67 |
Streaming API pro XML (StAX) | 1,0 | JSR 173 |
Technologie pro webové aplikace: | ||
Java Servlet | 2.5 | JSR 154 |
JavaServer Faces (JSF) | 1.2 | JSR 252 |
Java Server Pages (JSP) | 2.1 | JSR 245 |
JavaServer Pages Standardní knihovna značek (JSTL) | 1.2 | JSR 52 |
Podpora ladění pro jiné jazyky | 1,0 | JSR 45 |
Technologie pro firemní aplikace: | ||
Enterprise JavaBeans (EJB) | 3.0 | JSR 220 |
Java Persistence API (JPA) | 1,0 | |
Architektura konektoru Java EE | 1.5 | JSR 112 |
Společné anotace pro platformu Java | 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 |
Technologie pro zabezpečení a správu aplikací: | ||
Smlouva poskytovatele autorizačních služeb Java pro kontejnery (JACC) | 1.1 | JSR 115 |
Nasazení aplikací J2EE | 1.2 | JSR 88 |
Správa J2EE | 1.1 | JSR 77 |
10. prosince 2009 byla vydána specifikace Java EE 6 [9] [10] [11] [12] . V této verzi byly učiněny pokusy začlenit a standardizovat koncepty a funkce z Spring Framework . SOAP s Attachments API for Java (SAAJ) je nyní plnohodnotnou součástí Java SE 6 [13] . Java API pro RESTful Web Services (JAX-RS) je nyní od tohoto vydání plnou součástí Java EE [14] . Standardizovány byly také DI, AOP a další koncepty z jara, standardizovány byly Contexts and Dependency Injection (CDI), Dependency Injection (DI), Bean Validation , Managed Beans a Interceptors.
V Java EE 6 byl představen koncept profilu, který zahrnuje konfiguraci platformy v závislosti na konkrétní třídě nebo aplikaci. Webový profil také zahrnuje kompletní sadu technologií pro reprezentaci a správu stavů ( JSF a JSP ), funkčnost jádra webového kontejneru ( servlet ), obchodní logiku ( EJB Lite), transakce ( JTA ), stavové úložiště ( JPA ) a další.
Java EE 6 zahájila proces čištění zastaralého kódu a nepoužívaných API .
Technika | Verze | JSR | Zahrnuto ve webovém profilu |
---|---|---|---|
Technologie webových služeb: | |||
Java API pro webové služby RESTful (JAX-RS) | 1.1 | JSR 311 | |
webové služby | 1.3 | JSR 109 | |
Java API pro webové služby založené na XML (JAX-WS) | 2.2 | JSR 224 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
webových služeb pro Javu | 2.1 | JSR 181 | |
Java API pro RPC založené na XML (JAX-RPC) | 1.1 | JSR 101 | |
Java API pro XML Messaging (JAXM) | 1.3 | JSR 67 | |
Java API pro registry XML (JAXR) | 1,0 | JSR 93 | |
Technologie pro webové aplikace: | |||
Java Servlet | 3.0 | JSR 315 | Ano |
JavaServer Faces (JSF) | 2,0 | JSR 314 | Ano |
Java Server Pages (JSP) | 2.2 | JSR 245 | Ano |
jazyk výrazů (EL) | 2.2 | Ano | |
JavaServer Pages Standardní knihovna značek (JSTL) | 1.2 | JSR 52 | Ano |
Podpora ladění pro jiné jazyky | 1,0 | JSR 45 | Ano |
Technologie pro firemní aplikace: | |||
Enterprise JavaBeans (EJB) | 3.1 | JSR 318 | Lite |
Java Persistence API (JPA) | 2,0 | JSR 317 | Ano |
Contexts and Dependency Injection for Java (CDI) | 1,0 | JSR 299 | Ano |
Dependency Injection for Java | 1,0 | JSR 330 | Ano |
Ověření | 1,0 | JSR 303 | Ano |
spravované fazole | 1,0 | JSR 316 | Ano |
Interceptory | 1.1 | JSR 318 | Ano |
Architektura konektoru Java EE | 1.6 | JSR 322 | |
Společné anotace pro platformu Java | 1.1 | JSR 250 | Ano |
Java Message Service API (JMS) | 1.1 | JSR 914 | |
Java Transaction API (JTA) | 1.1 | JSR 907 | Ano |
JavaMail API | 1.4 | JSR 919 | |
Technologie pro zabezpečení a správu aplikací: | |||
Rozhraní poskytovatele služeb Java Authentication Service pro kontejnery (JASPIC) | 1,0 | JSR 196 | |
Smlouva poskytovatele autorizačních služeb Java pro kontejnery (JACC) | 1.4 | JSR 115 | |
Nasazení aplikací Java EE | 1.2 | JSR 88 | |
Správa | 1.1 | JSR 77 |
Nejprve měla specifikace projít pod číslem JSR 313 (anglicky) , ale byla zrušena; později začal vývoj specifikace pod současným číslem JSR 316 (eng.) .
Vývoj byl zahájen po kontroverzním hlasování: 14 hlasů pro (87,5 %), 1 proti (6,25 %, Apache ) [15] a 1 se zdržel hlasování (6,25 %, Borland ). Účastníci vznesli otázky související s licenčními podmínkami pro Sun Microsystems [16] .
12. června 2013 byla vydána specifikace Java EE 7 [17] [18] . Kvůli trendu HTML5 byly do specifikace přidány Java API pro WebSocket , Java API pro JSON Processing , asynchronní servlety a neblokující NIO , což vedlo k vytvoření Play . V souvislosti s trendem velkých dat byly do Java EE přidány Batch Applications for the Java .
Technika | Verze | JSR | Zahrnuto ve webovém profilu |
---|---|---|---|
Technologie pro webové aplikace: | |||
Java API pro WebSocket | JSR 356 | Ano | |
Java API pro zpracování JSON | JSR 353 | Ano | |
Java Servlet | 3.1 | JSR 340 | Ano |
JavaServer Faces (JSF) | 2.2 | JSR 344 | Ano |
Unified Expression Language (EL) | 3.0 | JSR 341 | Ano |
Java Server Pages (JSP) | 2.3 | JSR 245 | Ano |
JavaServer Pages Standardní knihovna značek (JSTL) | 1.2 | JSR 52 | Ano |
Technologie pro firemní aplikace: | |||
Dávkové aplikace pro Javu | JSR 352 | ||
Souběžné nástroje pro Java EE | 1,0 | JSR 236 | |
Contexts and Dependency Injection for Java (CDI) | 1.1 | JSR 346 | Ano |
Dependency Injection for Java | 1,0 | JSR 330 | Ano |
Ověření | 1.1 | JSR 349 | Ano |
spravované fazole | 1,0 | JSR 316 | Ano |
Enterprise JavaBeans (EJB) | 3.2 | JSR 345 | Ano |
Interceptory | 1.2 | JSR 318 | Ano |
Architektura konektoru Java EE | 1.7 | JSR 322 | |
Java Persistence API (JPA) | 2.1 | JSR 338 | Ano |
Společné anotace pro platformu Java | 1.2 | JSR 250 | Ano |
Java Message Service API (JMS) | 2,0 | JSR 343 | |
Java Transaction API (JTA) | 1.2 | JSR 907 | Ano |
JavaMail API | 1.5 | JSR 919 | |
Technologie webových služeb: | |||
Java API pro webové služby RESTful (JAX-RS) | 2,0 | JSR 339 | Ano |
Implementace podnikových webových služeb | 1.4 | JSR 109 | |
Java API pro webové služby založené na XML (JAX-WS) | 2.2 | JSR 224 | |
webových služeb pro Javu | JSR 181 | ||
Java API pro RPC založené na XML (JAX-RPC; volitelné) | 1.1 | JSR 101 | |
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API pro registry XML (JAXR) | 1,0 | JSR 93 | |
Technologie zabezpečení a správy aplikací: | |||
Rozhraní poskytovatele služeb Java Authentication Service pro kontejnery (JASPIC) | 1.1 | JSR 196 | |
Smlouva poskytovatele autorizačních služeb Java pro kontejnery (JASPCC) | 1.5 | JSR 115 | |
Java EE Application Deployment (volitelné) | 1.2 | JSR 88 | |
Java EE | 1.1 | JSR 77 | |
Podpora ladění pro jiné jazyky | 1,0 | JSR 45 | Ano |
Specifikace z Java EE přenesené do Java SE: | |||
Java Architecture for XML Binding (JAXB) | 2.2 | JSR 222 | |
Java API pro zpracování XML (JAXP) | 1.3 | JSR 206 | |
Konektivita databáze Java | 4,0 | JSR 221 | |
Java Management Extensions (JMX) | 2,0 | JSR 3 | |
JavaBeans Activation Framework (JAF) | 1.1 | JSR 925 | |
Java API pro XML | 1.3 | JSR 67 | |
Streaming API pro XML (StAX) | 1,0 | JSR 173 |
21. září 2017 byla vydána specifikace Java EE 8 [19] [20] [21] . Java EE přešla pod kontrolu nadace Eclipse , [22] a byla také otevřena jako open source [23] . Eclipse založené na Java EE Eclipse Enterprise for Java (EE4J) [24] . Cílem této verze je zlepšit podporu HTML5 a základní podporu HTTP/2 , zjednodušit integraci Managed Beans , zlepšit infrastrukturu pro aplikace v cloudu a rozšířit řadu technologií Java EE na web a cloudy.