Jakarta EE
Jakarta EE, před rokem 2018 označovaná jako Java Platform, Enterprise Edition neboli Java EE, ještě dříve jako Java 2 Enterprise Edition nebo J2EE, je součást platformy Java určená pro vývoj a provoz podnikových aplikací a informačních systémů. Součásti platformy jsou definovány nad platformou Java SE.
Vývoj platformy
Jednotlivé součásti platformy Java EE jsou definovány pomocí dílčích specifikací, které jsou vytvářeny ve spolupráci více firem v rámci tzv. Java Community Process (JCP). Vlastní Java EE je poté definována zastřešující specifikací opět vyvíjenou v rámci JCP. Tato specifikace především fixuje konkrétní verze jednotlivých dílčích specifikací patřících do dané verze Java EE.
Historie
Původní specifikace J2EE byla vytvořena firmou Sun Microsystems zhruba v letech 1999 - 2000. Od J2EE 1.3 je vývoj veden v rámci JCP.
- JSR 58 definuje J2EE 1.3 - finalizována v roce 2001.
- JSR 151 definuje J2EE 1.4 - finalizována v roce 2003.
- JSR 244 definuje Java EE 5 - finalizována v roce 2006.
- JSR 316 definuje Java EE 6 - finalizována v roce 2009.
- JSR 342 definuje Java EE 7 - finalizována v roce 2013.
- JSR 366 definuje Java EE 8 - finalizována v roce 2017
- Jakarta EE 8 - finalizována v září 2019, plně kompatibilní s Java EE 8[1]
Součásti platformy
Součástí platformy jsou především specifikace pro:
- vývoj webových aplikací - Java Servlet, Java Server Pages (JSP), JavaServer Faces (JSF)
- Contexts and Dependency Injection - vkládání závislostí
- přístup k relačním databázím - Java Persistence API
- vývoj sdílené business logiky - Enterprise Java Beans (EJB)
- přístup k legacy systémům - Java Connector Architecture (JCA)
- přístup ke zprávovému middleware - Java Messaging Services (JMS)
- komponenty zajišťující integraci webových aplikací a portálů - Portlety
- podpora technologií Webových služeb
Vývoj a provoz aplikací
Aplikace pro platformu Java EE jsou vyvíjeny na základě API a dalších fragmentů definovaných v jednotlivých specifikacích. Běhovým prostředím pro tyto aplikace je poté tzv. Aplikační Server (dále AS). Tyto AS jsou dodávány různými dodavateli, aplikace by teoreticky měla být provozovatelná na kterémkoliv AS kteréhokoliv dodavatele implementujícím příslušnou verzi specifikace - koncept přenositelnosti. Většina AS však doplňuje některé vlastnosti nad rámec specifikace a aplikace využívající těchto vlastností poté nejsou přenositelné.
Významné aplikační servery
Aby mohl aplikační server oficiálně používat označení „Java EE kompatibilní“ musí projít kompletní sadou testů kompatibility u Sun Microsystems. S realizací těchto oficiálních testů jsou někdy spojeny různé „politické“ problémy a proto je některé servery nemají, i když specifikace splňují. Některé aplikační servery navíc mohou podporovat pouze některé součásti platformy Java EE.
- Open Source aplikační servery
- GlassFish
- JBoss
- JOnAS
- Apache Geronimo
- Apache Tomcat (částečná implementace)
- Komerční aplikační servery
- IBM WebSphere
- Oracle WebLogic Server
Virtualizace aplikačních serverů
Java EE aplikační servery
- JBoss
- IBM WebSphere
- BEA WebLogic
lze virtualizovat komerčním softwarem
- FabricServer DataSynapse J2EE virtualization
Reference
- Welcome to the Future of Cloud Native Java [online]. Eclipse, 2019-09-10 [cit. 2019-09-12]. Dostupné online. (anglicky)
Externí odkazy
- Obrázky, zvuky či videa k tématu Java EE na Wikimedia Commons
- Oficiální stránky Jakarta EE