fbpx
Wikipedia

Jakarta EE

Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE[1] with specifications for enterprise features such as distributed computing and web services.[2] Jakarta EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

Jakarta EE is defined by its specification. The specification defines APIs (application programming interface) and their interactions. As with other Java Community Process specifications, providers must meet certain conformance requirements in order to declare their products as Jakarta EE compliant.

Examples of contexts in which Jakarta EE referencing runtimes are used are: e-commerce, accounting, banking information systems.

History edit

The platform was known as Java 2 Platform, Enterprise Edition or J2EE from version 1.2, until the name was changed to Java Platform, Enterprise Edition or Java EE in version 1.5.

Java EE was maintained by Oracle under the Java Community Process. On September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation.[3] The Eclipse top-level project has been named Eclipse Enterprise for Java (EE4J).[4] The Eclipse Foundation could not agree with Oracle over the use of javax and Java trademarks.[5] Oracle owns the trademark for the name "Java" and the platform was renamed from Java EE to Jakarta EE.[6][7] The name refers to the largest city on the island of Java and also the capital of Indonesia, Jakarta.[8] The name should not be confused with the former Jakarta Project which fostered a number of current and former Java projects at the Apache Software Foundation.

Java enterprise platform history
Platform version Released Specification Java SE Support Important Changes
Jakarta EE 10 2022-09-13[9] 10
  • Java SE 17
  • Java SE 11
Removal of deprecated items in Servlet, Faces, CDI and EJB (Entity Beans and Embeddable Container). CDI-Build Time.
Jakarta EE 9.1 2021-05-25[10] 9.1
  • Java SE 11
  • Java SE 8
JDK 11 support
Jakarta EE 9 2020-12-08[11] 9 Java SE 8 API namespace move from javax to jakarta
Jakarta EE 8 2019-09-10[12] 8 Java SE 8 Full compatibility with Java EE 8
Java EE 8 2017-08-31 JSR 366 Java SE 8 HTTP/2 and CDI based Security
Java EE 7 2013-05-28 JSR 342 Java SE 7 WebSocket, JSON and HTML5 support
Java EE 6 2009-12-10 JSR 316 Java SE 6 CDI managed Beans and REST
Java EE 5 2006-05-11 JSR 244 Java SE 5 Java annotations
J2EE 1.4 2003-11-11 JSR 151 J2SE 1.4 WS-I interoperable web services[13]
J2EE 1.3 2001-09-24 JSR 58 J2SE 1.3 Java connector architecture[14]
J2EE 1.2 1999-12-17 1.2 J2SE 1.2 Initial specification release

Specifications edit

Jakarta EE includes several specifications that serve different purposes, like generating web pages, reading and writing from a database in a transactional way, managing distributed queues.

The Jakarta EE APIs include several technologies that extend the functionality of the base Java SE APIs, such as Jakarta Enterprise Beans, connectors, servlets, Jakarta Server Pages and several web service technologies.

Web specifications edit

  • Jakarta Servlet: defines how to manage HTTP requests, in a synchronous or asynchronous way. It is low level and other Jakarta EE specifications rely on it;
  • Jakarta WebSocket: API specification that defines a set of APIs to service WebSocket connections;
  • Jakarta Server Faces: a technology for constructing user interfaces out of components;
  • Jakarta Expression Language (EL) is a simple language originally designed to satisfy the specific needs of web application developers. It is used specifically in Jakarta Faces to bind components to (backing) beans and in Contexts and Dependency Injection to named beans, but can be used throughout the entire platform.

Web service specifications edit

Enterprise specifications edit

  • Jakarta Activation (JAF) specifies an architecture to extend component Beans by providing data typing and bindings of such types.
  • Jakarta Contexts and Dependency Injection (CDI) is a specification to provide a dependency injection container;
  • Jakarta Enterprise Beans (EJB) specification defines a set of lightweight APIs that an object container (the EJB container) will support in order to provide transactions (using JTA), remote procedure calls (using RMI or RMI-IIOP), concurrency control, dependency injection and access control for business objects. This package contains the Jakarta Enterprise Beans classes and interfaces that define the contracts between the enterprise bean and its clients and between the enterprise bean and the ejb container.
  • Jakarta Persistence (JPA) are specifications about object-relational mapping between relation database tables and Java classes.
  • Jakarta Transactions (JTA) contains the interfaces and annotations to interact with the transaction support offered by Jakarta EE. Even though this API abstracts from the really low-level details, the interfaces are also considered somewhat low-level and the average application developer in Jakarta EE is either assumed to be relying on transparent handling of transactions by the higher level EJB abstractions, or using the annotations provided by this API in combination with CDI managed beans.
  • Jakarta Messaging (JMS) provides a common way for Java programs to create, send, receive and read an enterprise messaging system's messages.

Other specifications edit

  • Validation: This package contains the annotations and interfaces for the declarative validation support offered by the Bean Validation API. Bean Validation provides a unified way to provide constraints on beans (e.g. JPA model classes) that can be enforced cross-layer. In Jakarta EE, JPA honors bean validation constraints in the persistence layer, while JSF does so in the view layer.
  • Jakarta Batch provides the means for batch processing in applications to run long running background tasks that possibly involve a large volume of data and which may need to be periodically executed.
  • Jakarta Connectors is a Java-based tool for connecting application servers and enterprise information systems (EIS) as part of enterprise application integration (EAI). This is a low-level API aimed at vendors that the average application developer typically does not come in contact with.

Web profile edit

In an attempt to limit the footprint of web containers, both in physical and in conceptual terms, the web profile was created, a subset of the Jakarta EE specifications. The Jakarta EE web profile comprises the following:

Specification Java EE 6[15] Java EE 7[16] Java EE 8[17]
Jakarta EE 8[18]
Jakarta EE 9[19]
Jakarta EE 9.1[20]
Jakarta EE 10[21]
Jakarta Servlet 3.0 3.1 4.0 5.0 6.0
Jakarta Server Pages (JSP) 2.2 2.3 2.3 3.0 3.1
Jakarta Expression Language (EL) 2.2 3.0 3.0 4.0 5.0
Jakarta Debugging Support for Other Languages (JSR-45) 1.0 1.0 1.0 2.0 2.0
Jakarta Standard Tag Library (JSTL) 1.2 1.2 1.2 2.0 3.0
Jakarta Faces 2.0 2.2 2.3 3.0 4.0
Jakarta RESTful Web Services (JAX-RS) 1.1 2.0 2.1 3.0 3.1
Jakarta WebSocket (WebSocket) 1.0 1.1 2.0 2.1
Jakarta JSON Processing (JSON-P) 1.0 1.1 2.0 2.1
Jakarta JSON Binding (JSON-B) 1.1 2.0 3.0
Jakarta Annotations (CA) 1.1 1.2 1.3 2.0 2.1
Jakarta Enterprise Beans (EJB) 3.1 Lite 3.2 Lite 3.2 Lite 4.0 Lite 4.0 Lite
Jakarta Transactions (JTA) 1.1 1.2 1.2 2.0 2.0
Jakarta Persistence (JPA) 2.0 2.1 2.2 3.0 3.1
Jakarta Bean Validation 1.0 1.1 2.0 3.0 3.0
Jakarta Managed Beans 1.0 1.0 1.0 2.0
Jakarta Interceptors 1.1 1.2 1.2 2.0 2.1
Jakarta Contexts and Dependency Injection (CDI) 1.0 1.1 2.0 3.0 4.0
Jakarta Dependency Injection 1.0 1.0 1.0 2.0 2.0
Jakarta Security 1.0 2.0 3.0
Jakarta Authentication 1.0 1.1 2.0 3.0
Jakarta Concurrency 3.0

Certified referencing runtimes edit

Although by definition all Jakarta EE implementations provide the same base level of technologies (namely, the Jakarta EE spec and the associated APIs), they can differ considerably with respect to extra features (like connectors, clustering, fault tolerance, high availability, security, etc.), installed size, memory footprint, startup time, etc.

Jakarta EE[22][23][24] edit

Referencing runtime Developer Jakarta EE 10 Platform Jakarta EE 9/9.1 Platform Compatible Products Jakarta EE 9/9.1 Web Profile Compatible Products Jakarta EE 8 Platform Compatible Products Jakarta EE 8 Web Profile Compatible Products Licensing
GlassFish Eclipse Yes 7.0.0 Yes 6.0.0/ 6.1.0 Yes 6.0.0/ 6.1.0 Yes 5.1.0 Yes 5.1.0 Free software
Open Liberty IBM Yes 22.0.0.13-beta,[25] 23.0.0.3[26] Yes 21.0.0.12 Yes 21.0.0.12 Yes 19.0.0.6, 20.0.0.3 Yes 19.0.0.6, 20.0.0.3 Free software
WebSphere Liberty IBM Yes 23.0.0.3[26] Yes 21.0.0.12 Yes 21.0.0.12 Yes 20.0.0.3 Yes 20.0.0.3 Proprietary software
WildFly Red Hat Yes 27.0.0.Alpha5 Yes 23.0.1-Preview/25.0.0-Preview Yes 23.0.1-Preview/25.0.0-Preview Yes 18.0.0 Yes 18.0.0 Free software
JBoss EAP Red Hat No No No Yes 7.3.0 Yes 7.3.0 Free software
TomEE Apache No No Yes 9.0.0-M7 No Yes 8.0.x Free software
Payara Server Payara Services Limited Yes 6.2022.1 Alpha 4 Yes 6.2021.1 Alpha 1 No Yes 5.22.0, 5.23.0 Yes 5.23.0 Free software
Thunisoft Application Server Beijing Thunisoft Information Technology No Yes 3.0 No Yes 2.8 No Proprietary software
JEUS TmaxSoft No No No Yes 8.5 No Proprietary software
InforSuite Application Server Shandong Cvicse Middleware No Yes 11 No Yes 10 No Proprietary software

Java EE edit

Referencing runtime Developer Java EE 8 certified – Full Java EE 8 certified – Web Java EE 7 certified – Full Java EE 7 certified – Web Java EE 6 certified – Full
Official Oracle page for Java EE Compatibility.
Java EE 6 certified – Web Java EE 5 certified J2EE 1.4 certified Licensing
GlassFish server Open Source Edition Oracle Yes v5.0[27] Yes v5.0[27] Yes v4.x[28] Yes v4.x[28] Yes v3.x and upward[29] Yes v3.x Web Profile Yes v2.1.x[29] Free software
Oracle GlassFish Server Oracle Yes v3[30] based on the open source GlassFish application server Yes Sun Java System Application Server v9.0 Yes Sun Java System Application Server v8.2 Proprietary software
Oracle WebLogic Server Oracle Yes 14.1.1[31] Yes 12.2.1[32] Yes v12c[33] Yes v10.3.5.0 Yes v9 Proprietary software
WildFly Red Hat Yes v14.x[27] Yes v14.x[27] Yes v8.1 [34] Yes v8.0.0.Final Yes v7.1[35] Yes v6.0[36] and v7.0[37] Yes v5.1[38][39] Yes v4.x Free software
JBoss Enterprise Application Platform Red Hat Yes v7.2 [40] Yes v7.0[28] Yes v7.0[28] Yes v6.0[41] Yes v5 Proprietary software
IBM WebSphere Application Server IBM Yes v9.x[27] Yes v9.x[28] Yes v8[42] Yes v7 Yes Proprietary software
IBM WebSphere Application Server Liberty IBM Yes v18.0.0.2[43] Yes v18.0.0.2[43] Yes v8.5.5.6[44][45] Yes v8.5.5.6[28] Yes v8.5.5[46] Proprietary software
Open Liberty IBM Yes v18.0.0.2 Yes v18.0.0.2 Free software
IBM WebSphere Application Server Community Edition IBM Yes v3.0 Yes v2.1 Proprietary software
Apache Geronimo Apache Yes v3.0-beta-1[47][48] Yes v2.0 Yes v1.0 Free software
JEUS TmaxSoft Yes v8 Yes v7[49][50] Yes v6 Yes v5 Proprietary software
Cosminexus Application Server Hitachi Yes v10.0[27] Yes v9[51] Proprietary software
Fujitsu Interstage Application Server[52] Fujitsu Yes v12.0[27] Yes v1 Azure/v10.1[53][54] Yes Proprietary software
WebOTX NEC Yes[55] Yes Proprietary software
BES Application Server Baolande Yes v9.5[28]
Apache TomEE[56][57] Apache No 7 (Java EE 7 like, but not certified[58]) Yes Free software
Resin Server Caucho Yes v4.0[59] Yes Proprietary software
Siwpas OW2 Yes v6.0[60] Free software
JOnAS OW2 Yes v5.3 rc1[61] Yes Yes Free software
SAP NetWeaver SAP Yes v2.x[62] Yes Yes Proprietary software
Oracle Containers for Java EE Oracle Yes Proprietary software
Oracle iPlanet Web Server Oracle Yes Sun Java System Web Server Proprietary software
Oracle Application Server 10g Oracle Yes Proprietary software
Pramati Server Pramati Technologies Yes v5.0 Proprietary software
Trifork T4 Trifork Yes Proprietary software
Sybase Enterprise Application Server[63] Sybase Yes Proprietary software

Code sample edit

The code sample shown below demonstrates how various technologies in Java EE 7 are used together to build a web form for editing a user.

In Jakarta EE a (web) UI can be built using Jakarta Servlet, Jakarta Server Pages (JSP), or Jakarta Server Faces (JSF) with Facelets. The example below uses Faces and Facelets. Not explicitly shown is that the input components use the Jakarta EE Bean Validation API under the covers to validate constraints.

<html xmlns="http://www.w3.org/1999/xhtml"  xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core">  <f:metadata>  <f:viewParam name="user_id" value="#{userEdit.user}" converter="#{userConvertor}" />  </f:metadata>  <h:body>  <h:messages />  <h:form>  <h:panelGrid columns="2">  <h:outputLabel for="firstName" value="First name" />  <h:inputText id="firstName" value="#{userEdit.user.firstName}" label="First name" />  <h:outputLabel for="lastName" value="Last name" />  <h:inputText id="lastName" value="#{userEdit.user.lastName}" label="Last name" />  <h:commandButton action="#{userEdit.saveUser}" value="Save" />  </h:panelGrid>  </h:form>  </h:body> </html> 

Example Backing Bean class edit

To assist the view, Jakarta EE uses a concept called a "Backing Bean". The example below uses Contexts and Dependency Injection (CDI) and Jakarta Enterprise Beans (EJB).

@Named @ViewScoped public class UserEdit {  private User user;  @Inject  private UserDAO userDAO;  public String saveUser() {  userDAO.save(this.user);  addFlashMessage("User " + this.user.getId() + " saved");  return "users.xhtml?faces-redirect=true";  }  public void setUser(User user) {  this.user = user;  }  public User getUser() {  return user;  } } 

Example Data Access Object class edit

To implement business logic, Jakarta Enterprise Beans (EJB) is the dedicated technology in Jakarta EE. For the actual persistence, JDBC or Jakarta Persistence (JPA) can be used. The example below uses EJB and JPA. Not explicitly shown is that JTA is used under the covers by EJB to control transactional behavior.

@Stateless public class UserDAO {  @PersistenceContext  private EntityManager entityManager;  public void save(User user) {  entityManager.persist(user);  }  public void update(User user) {  entityManager.merge(user);  }  public List<User> getAll() {  return entityManager.createNamedQuery("User.getAll", User.class)  .getResultList();  } } 

Example Entity class edit

For defining entity/model classes Jakarta EE provides the Jakarta Persistence (JPA), and for expressing constraints on those entities it provides the Bean Validation API. The example below uses both these technologies.

@Entity public class User {  @Id  @GeneratedValue(strategy = IDENTITY)  private Integer id;  @Size(min = 2, message="First name too short")  private String firstName;  @Size(min = 2, message="Last name too short")  private String lastName;  public Integer getId() {  return id;  }  public void setId(Integer id) {  this.id = id;  }  public String getFirstName() {  return firstName;  }  public void setFirstName(String firstName) {  this.firstName = firstName;  }  public String getLastName() {  return lastName;  }  public void setLastName(String lastName) {  this.lastName = lastName;  } } 

See also edit

References edit

  1. ^ "Differences between Java EE and Java SE - Your First Cup: An Introduction to the Java EE Platform". Docs.oracle.com. 2012-04-01. Retrieved 2012-07-18.
  2. ^ "Java EE Overview". Oracle Corporation. Retrieved February 26, 2017.
  3. ^ John K. Waters (2017-09-12). "Java EE Is Moving to the Eclipse Foundation". ADTmag. Retrieved 2017-09-13.
  4. ^ Beaton, Wayne. "EE4J FAQ | The Eclipse Foundation". www.eclipse.org.
  5. ^ "Update on Jakarta EE Rights to Java Trademarks". 3 May 2019.
  6. ^ Chirgwin, Richard (March 4, 2018). "Java EE renamed 'Jakarta EE' after Big Red brand spat". Software. The Register. Retrieved 19 March 2018.
  7. ^ Vaughan-Nichols, Steven J. (March 5, 2018). "Good-bye JEE, hello Jakarta EE". Linux and Open Source. ZDNet. Retrieved 2020-07-10.
  8. ^ https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee[bare URL]
  9. ^ Jakarta EE Platform 10 Release Plan
  10. ^ Obradovic, Tanja; Grimstad, Ivar (2021-05-25). "The Jakarta EE Working Group Releases Jakarta EE 9.1 as Industry Continues to Embrace Open Source Enterprise Java". News. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  11. ^ Mmayel, Shabnam; Obradovic, Tanja (2020-12-08). "Jakarta EE 9 Released!". News. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  12. ^ Mmayel, Shabnam; Obradovic, Tanja (2019-09-10). "Jakarta EE 8 Released!". News. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  13. ^ Krill, Paul (November 21, 2003). "J2EE 1.4 spec certified". Software Development. InfoWorld. Retrieved 2022-03-05.
  14. ^ Copeland, Lee (September 24, 2001). "Sun unveils J2EE 1.3". Software Development. Computerworld. Retrieved 2022-03-05.
  15. ^ "JSR 316: Java Platform, Enterprise Edition 6 (Java EE 6) Specification". Java Community Process. Oracle Corporation. Retrieved 2022-03-05.
  16. ^ "JSR 342: Java Platform, Enterprise Edition 7 (Java EE 7) Specification". Java Community Process. Oracle Corporation. Retrieved 2022-03-05.
  17. ^ "Java Platform, Enterprise Edition 8 (Java EE 8) Web Profile Specification" (PDF). GitHub. Oracle Corporation. Archived (PDF) from the original on 2022-10-09. Retrieved 2022-02-05.
  18. ^ "Web Profile Definition". Jakarta EE WebProfile. 8. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  19. ^ "Web Profile Definition". Jakarta EE WebProfile. 9. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  20. ^ "Web Profile Definition". Jakarta EE WebProfile. 9.1. Jakarta EE. Eclipse Foundation. Retrieved 2022-03-05.
  21. ^ "Web Profile Definition". Jakarta EE WebProfile. 10. Jakarta EE. Eclipse Foundation. Retrieved 2022-09-27.
  22. ^ "Jakarta EE Compatible Products". Jakarta.ee.
  23. ^ "Jakarta EE 9 Compatible Products". Jakarta.ee.
  24. ^ "Jakarta EE 8 Compatible Products". Jakarta.ee.
  25. ^ "Jakarta EE 10 Platform and MicroProfile 6 in Open Liberty 23.0.0.1-beta". openliberty.io.
  26. ^ a b "Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3". openliberty.io.
  27. ^ a b c d e f g "Java EE Compatibility". www.oracle.com. Retrieved 2018-08-05.
  28. ^ a b c d e f g "Java EE Compatibility".
  29. ^ a b "Comparing GlassFish Open Source Edition versions 2.x and 3.0.x". Archived from the original on 2012-12-20.
  30. ^ "Java EE Compatibility". Java.sun.com. 2010-09-07. Retrieved 2012-07-18.
  31. ^ "Oracle Weblogic Server 14.1.1". www.oracle.com.
  32. ^ "Oracle Weblogic Server 12.1.1". www.oracle.com.
  33. ^ Lyons, Will; Humphrey, Pieter (2011). (PDF). Archived from the original (PDF) on 2011-12-15. Retrieved 2011-12-03.
  34. ^ "Java EE Compatibility". www.oracle.com.
  35. ^ "JBoss AS 7.1.0.Final "Thunder" released - Java EE 6 Full Profile certified! | My Wiki | Planet JBoss Community". Planet.jboss.org. 2012-02-17. Retrieved 2012-07-18.
  36. ^ "JBoss Application Server - JBoss Community".
  37. ^ "JBoss Application Server - JBoss Community".
  38. ^ "Java EE Compatibility".
  39. ^ . 15 September 2008. Archived from the original on 20 September 2008. Retrieved 7 August 2016.
  40. ^ "Red Hat JBoss Enterprise Application Platform 7.2 Availability".
  41. ^ Business Wire (2012-06-20). "Red Hat Launches JBoss Enterprise Application Platform 6 to Help Enterprises Move Application Development and Deployment to the Cloud". Business Wire. Retrieved 2012-07-18. {{cite web}}: |author= has generic name (help)
  42. ^ "What's new in WebSphere Application Server V8". Ibm.com. Retrieved 2012-07-18.
  43. ^ a b "IBM WebSphere Application Server Liberty delivers the first production-ready, Java EE 8-compatible application server and broadens support for Spring Boot applications". IBM. 10 July 2018. Retrieved 12 July 2018.
  44. ^ "Java EE 7 - Tested Configurations- IBM WebSphere Application Server Liberty Profile". Oracle.com.
  45. ^ "Java EE 7 has landed in WAS Liberty - WASdev". 25 June 2015.
  46. ^ "IBM Java EE 6 Web Profile Tested Configurations".
  47. ^ "Apache Geronimo : Index". geronimo.apache.org. January 25, 2010.
  48. ^ . H-online.com. 2011-11-14. Archived from the original on 20 April 2012. Retrieved 2012-07-18.
  49. ^ "Tested Configurations, Java EE 6 - TMAX JEUS 7". Oracle.com. 2010-09-07. Retrieved 2012-07-18.
  50. ^ . Us.tmaxsoft.com. Archived from the original on 2012-07-02. Retrieved 2012-07-18.
  51. ^ "Java EE 6 - Tested Configurations, Java EE 6 - Hitachi uCosminexus Application Server v9.0". Oracle.com.
  52. ^ . Archived from the original on August 10, 2011.
  53. ^ "Tested Configurations, Java EE6 - Fujitsu Interstage". Oracle.com. 2010-09-07. Retrieved 2012-07-18.
  54. ^ "Fujitsu Releases Interstage Application Server V10.1". Fujitsu.
  55. ^ "NEC WebOTX Application Server V9.x Certification".
  56. ^ "Apache TomEE". Openejb.apache.org. Retrieved 2012-07-18.
  57. ^ "MarketWatch.com". MarketWatch.com. Retrieved 2012-07-18.
  58. ^ TomEE, Apache. "Apache TomEE 7.0.1".
  59. ^ "Resin Application Server Java EE 6 Web Profile" (PDF). caucho.com. 2011. Archived (PDF) from the original on 2022-10-09.
  60. ^ "Please Welcome Siwpas as Java EE Certified Option!". Oracle.com. Retrieved 2015-12-07.
  61. ^ . jonas.ow2.org. 2013-01-07. Archived from the original on 2013-10-15. Retrieved 2014-02-25.
  62. ^ "SAP NetWeaver Cloud Java EE 6 Web Profile Certified! (The Aquarium)".
  63. ^ "SAP Software Solutions - Business Applications and Technology".

External links edit

  • Official website  
    • Jakarta EE Compatible Products: Enterprise Java Application and Web Servers - Eclipse Foundation
  • The Jakarta EE Tutorial
  • First Cup of Jakarta EE Tutorial: An Introduction to Jakarta EE
  • Java Platform, Enterprise Edition (Java EE), Oracle Technology Network
  • Jakarta EE official YouTube channel

jakarta, formerly, java, platform, enterprise, edition, java, java, platform, enterprise, edition, j2ee, specifications, extending, java, with, specifications, enterprise, features, such, distributed, computing, services, applications, reference, runtimes, tha. Jakarta EE formerly Java Platform Enterprise Edition Java EE and Java 2 Platform Enterprise Edition J2EE is a set of specifications extending Java SE 1 with specifications for enterprise features such as distributed computing and web services 2 Jakarta EE applications are run on reference runtimes that can be microservices or application servers which handle transactions security scalability concurrency and management of the components they are deploying Jakarta EEPlayer softwareJavaProgramming language s JavaApplication s Application serverStatusActiveLicenseEclipse Public License or GNU General Public License w Classpath exceptionWebsitejakarta wbr eeJakarta EE is defined by its specification The specification defines APIs application programming interface and their interactions As with other Java Community Process specifications providers must meet certain conformance requirements in order to declare their products as Jakarta EE compliant Examples of contexts in which Jakarta EE referencing runtimes are used are e commerce accounting banking information systems Contents 1 History 2 Specifications 2 1 Web specifications 2 2 Web service specifications 2 3 Enterprise specifications 2 4 Other specifications 3 Web profile 4 Certified referencing runtimes 4 1 Jakarta EE 22 23 24 4 2 Java EE 5 Code sample 5 1 Example Backing Bean class 5 2 Example Data Access Object class 5 3 Example Entity class 6 See also 7 References 8 External linksHistory editThe platform was known as Java 2 Platform Enterprise Edition or J2EE from version 1 2 until the name was changed to Java Platform Enterprise Edition or Java EE in version 1 5 Java EE was maintained by Oracle under the Java Community Process On September 12 2017 Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation 3 The Eclipse top level project has been named Eclipse Enterprise for Java EE4J 4 The Eclipse Foundation could not agree with Oracle over the use of javax and Java trademarks 5 Oracle owns the trademark for the name Java and the platform was renamed from Java EE to Jakarta EE 6 7 The name refers to the largest city on the island of Java and also the capital of Indonesia Jakarta 8 The name should not be confused with the former Jakarta Project which fostered a number of current and former Java projects at the Apache Software Foundation Java enterprise platform history Platform version Released Specification Java SE Support Important ChangesJakarta EE 10 2022 09 13 9 10 Java SE 17Java SE 11 Removal of deprecated items in Servlet Faces CDI and EJB Entity Beans and Embeddable Container CDI Build Time Jakarta EE 9 1 2021 05 25 10 9 1 Java SE 11Java SE 8 JDK 11 supportJakarta EE 9 2020 12 08 11 9 Java SE 8 API namespace move from javax to jakartaJakarta EE 8 2019 09 10 12 8 Java SE 8 Full compatibility with Java EE 8Java EE 8 2017 08 31 JSR 366 Java SE 8 HTTP 2 and CDI based SecurityJava EE 7 2013 05 28 JSR 342 Java SE 7 WebSocket JSON and HTML5 supportJava EE 6 2009 12 10 JSR 316 Java SE 6 CDI managed Beans and RESTJava EE 5 2006 05 11 JSR 244 Java SE 5 Java annotationsJ2EE 1 4 2003 11 11 JSR 151 J2SE 1 4 WS I interoperable web services 13 J2EE 1 3 2001 09 24 JSR 58 J2SE 1 3 Java connector architecture 14 J2EE 1 2 1999 12 17 1 2 J2SE 1 2 Initial specification releaseSpecifications editJakarta EE includes several specifications that serve different purposes like generating web pages reading and writing from a database in a transactional way managing distributed queues The Jakarta EE APIs include several technologies that extend the functionality of the base Java SE APIs such as Jakarta Enterprise Beans connectors servlets Jakarta Server Pages and several web service technologies Web specifications edit Jakarta Servlet defines how to manage HTTP requests in a synchronous or asynchronous way It is low level and other Jakarta EE specifications rely on it Jakarta WebSocket API specification that defines a set of APIs to service WebSocket connections Jakarta Server Faces a technology for constructing user interfaces out of components Jakarta Expression Language EL is a simple language originally designed to satisfy the specific needs of web application developers It is used specifically in Jakarta Faces to bind components to backing beans and in Contexts and Dependency Injection to named beans but can be used throughout the entire platform Web service specifications edit Jakarta RESTful Web Services provides support in creating web services according to the Representational State Transfer REST architectural pattern Jakarta JSON Processing is a set of specifications to manage information encoded in JSON format Jakarta JSON Binding provides specifications to convert JSON information into or from Java classes Jakarta XML Binding allows mapping XML into Java objects Jakarta XML Web Services can be used to create SOAP web services Enterprise specifications edit Jakarta Activation JAF specifies an architecture to extend component Beans by providing data typing and bindings of such types Jakarta Contexts and Dependency Injection CDI is a specification to provide a dependency injection container Jakarta Enterprise Beans EJB specification defines a set of lightweight APIs that an object container the EJB container will support in order to provide transactions using JTA remote procedure calls using RMI or RMI IIOP concurrency control dependency injection and access control for business objects This package contains the Jakarta Enterprise Beans classes and interfaces that define the contracts between the enterprise bean and its clients and between the enterprise bean and the ejb container Jakarta Persistence JPA are specifications about object relational mapping between relation database tables and Java classes Jakarta Transactions JTA contains the interfaces and annotations to interact with the transaction support offered by Jakarta EE Even though this API abstracts from the really low level details the interfaces are also considered somewhat low level and the average application developer in Jakarta EE is either assumed to be relying on transparent handling of transactions by the higher level EJB abstractions or using the annotations provided by this API in combination with CDI managed beans Jakarta Messaging JMS provides a common way for Java programs to create send receive and read an enterprise messaging system s messages Other specifications edit Validation This package contains the annotations and interfaces for the declarative validation support offered by the Bean Validation API Bean Validation provides a unified way to provide constraints on beans e g JPA model classes that can be enforced cross layer In Jakarta EE JPA honors bean validation constraints in the persistence layer while JSF does so in the view layer Jakarta Batch provides the means for batch processing in applications to run long running background tasks that possibly involve a large volume of data and which may need to be periodically executed Jakarta Connectors is a Java based tool for connecting application servers and enterprise information systems EIS as part of enterprise application integration EAI This is a low level API aimed at vendors that the average application developer typically does not come in contact with Web profile editIn an attempt to limit the footprint of web containers both in physical and in conceptual terms the web profile was created a subset of the Jakarta EE specifications The Jakarta EE web profile comprises the following Specification Java EE 6 15 Java EE 7 16 Java EE 8 17 Jakarta EE 8 18 Jakarta EE 9 19 Jakarta EE 9 1 20 Jakarta EE 10 21 Jakarta Servlet 3 0 3 1 4 0 5 0 6 0Jakarta Server Pages JSP 2 2 2 3 2 3 3 0 3 1Jakarta Expression Language EL 2 2 3 0 3 0 4 0 5 0Jakarta Debugging Support for Other Languages JSR 45 1 0 1 0 1 0 2 0 2 0Jakarta Standard Tag Library JSTL 1 2 1 2 1 2 2 0 3 0Jakarta Faces 2 0 2 2 2 3 3 0 4 0Jakarta RESTful Web Services JAX RS 1 1 2 0 2 1 3 0 3 1Jakarta WebSocket WebSocket 1 0 1 1 2 0 2 1Jakarta JSON Processing JSON P 1 0 1 1 2 0 2 1Jakarta JSON Binding JSON B 1 1 2 0 3 0Jakarta Annotations CA 1 1 1 2 1 3 2 0 2 1Jakarta Enterprise Beans EJB 3 1 Lite 3 2 Lite 3 2 Lite 4 0 Lite 4 0 LiteJakarta Transactions JTA 1 1 1 2 1 2 2 0 2 0Jakarta Persistence JPA 2 0 2 1 2 2 3 0 3 1Jakarta Bean Validation 1 0 1 1 2 0 3 0 3 0Jakarta Managed Beans 1 0 1 0 1 0 2 0 Jakarta Interceptors 1 1 1 2 1 2 2 0 2 1Jakarta Contexts and Dependency Injection CDI 1 0 1 1 2 0 3 0 4 0Jakarta Dependency Injection 1 0 1 0 1 0 2 0 2 0Jakarta Security 1 0 2 0 3 0Jakarta Authentication 1 0 1 1 2 0 3 0Jakarta Concurrency 3 0Certified referencing runtimes editAlthough by definition all Jakarta EE implementations provide the same base level of technologies namely the Jakarta EE spec and the associated APIs they can differ considerably with respect to extra features like connectors clustering fault tolerance high availability security etc installed size memory footprint startup time etc Jakarta EE 22 23 24 edit Referencing runtime Developer Jakarta EE 10 Platform Jakarta EE 9 9 1 Platform Compatible Products Jakarta EE 9 9 1 Web Profile Compatible Products Jakarta EE 8 Platform Compatible Products Jakarta EE 8 Web Profile Compatible Products LicensingGlassFish Eclipse Yes 7 0 0 Yes 6 0 0 6 1 0 Yes 6 0 0 6 1 0 Yes 5 1 0 Yes 5 1 0 Free softwareOpen Liberty IBM Yes 22 0 0 13 beta 25 23 0 0 3 26 Yes 21 0 0 12 Yes 21 0 0 12 Yes 19 0 0 6 20 0 0 3 Yes 19 0 0 6 20 0 0 3 Free softwareWebSphere Liberty IBM Yes 23 0 0 3 26 Yes 21 0 0 12 Yes 21 0 0 12 Yes 20 0 0 3 Yes 20 0 0 3 Proprietary softwareWildFly Red Hat Yes 27 0 0 Alpha5 Yes 23 0 1 Preview 25 0 0 Preview Yes 23 0 1 Preview 25 0 0 Preview Yes 18 0 0 Yes 18 0 0 Free softwareJBoss EAP Red Hat No No No Yes 7 3 0 Yes 7 3 0 Free softwareTomEE Apache No No Yes 9 0 0 M7 No Yes 8 0 x Free softwarePayara Server Payara Services Limited Yes 6 2022 1 Alpha 4 Yes 6 2021 1 Alpha 1 No Yes 5 22 0 5 23 0 Yes 5 23 0 Free softwareThunisoft Application Server Beijing Thunisoft Information Technology No Yes 3 0 No Yes 2 8 No Proprietary softwareJEUS TmaxSoft No No No Yes 8 5 No Proprietary softwareInforSuite Application Server Shandong Cvicse Middleware No Yes 11 No Yes 10 No Proprietary softwareJava EE edit Referencing runtime Developer Java EE 8 certified Full Java EE 8 certified Web Java EE 7 certified Full Java EE 7 certified Web Java EE 6 certified Full Official Oracle page for Java EE Compatibility Java EE 6 certified Web Java EE 5 certified J2EE 1 4 certified LicensingGlassFish server Open Source Edition Oracle Yes v5 0 27 Yes v5 0 27 Yes v4 x 28 Yes v4 x 28 Yes v3 x and upward 29 Yes v3 x Web Profile Yes v2 1 x 29 Free softwareOracle GlassFish Server Oracle Yes v3 30 based on the open source GlassFish application server Yes Sun Java System Application Server v9 0 Yes Sun Java System Application Server v8 2 Proprietary softwareOracle WebLogic Server Oracle Yes 14 1 1 31 Yes 12 2 1 32 Yes v12c 33 Yes v10 3 5 0 Yes v9 Proprietary softwareWildFly Red Hat Yes v14 x 27 Yes v14 x 27 Yes v8 1 34 Yes v8 0 0 Final Yes v7 1 35 Yes v6 0 36 and v7 0 37 Yes v5 1 38 39 Yes v4 x Free softwareJBoss Enterprise Application Platform Red Hat Yes v7 2 40 Yes v7 0 28 Yes v7 0 28 Yes v6 0 41 Yes v5 Proprietary softwareIBM WebSphere Application Server IBM Yes v9 x 27 Yes v9 x 28 Yes v8 42 Yes v7 Yes Proprietary softwareIBM WebSphere Application Server Liberty IBM Yes v18 0 0 2 43 Yes v18 0 0 2 43 Yes v8 5 5 6 44 45 Yes v8 5 5 6 28 Yes v8 5 5 46 Proprietary softwareOpen Liberty IBM Yes v18 0 0 2 Yes v18 0 0 2 Free softwareIBM WebSphere Application Server Community Edition IBM Yes v3 0 Yes v2 1 Proprietary softwareApache Geronimo Apache Yes v3 0 beta 1 47 48 Yes v2 0 Yes v1 0 Free softwareJEUS TmaxSoft Yes v8 Yes v7 49 50 Yes v6 Yes v5 Proprietary softwareCosminexus Application Server Hitachi Yes v10 0 27 Yes v9 51 Proprietary softwareFujitsu Interstage Application Server 52 Fujitsu Yes v12 0 27 Yes v1 Azure v10 1 53 54 Yes Proprietary softwareWebOTX NEC Yes 55 Yes Proprietary softwareBES Application Server Baolande Yes v9 5 28 Apache TomEE 56 57 Apache No 7 Java EE 7 like but not certified 58 Yes Free softwareResin Server Caucho Yes v4 0 59 Yes Proprietary softwareSiwpas OW2 Yes v6 0 60 Free softwareJOnAS OW2 Yes v5 3 rc1 61 Yes Yes Free softwareSAP NetWeaver SAP Yes v2 x 62 Yes Yes Proprietary softwareOracle Containers for Java EE Oracle Yes Proprietary softwareOracle iPlanet Web Server Oracle Yes Sun Java System Web Server Proprietary softwareOracle Application Server 10g Oracle Yes Proprietary softwarePramati Server Pramati Technologies Yes v5 0 Proprietary softwareTrifork T4 Trifork Yes Proprietary softwareSybase Enterprise Application Server 63 Sybase Yes Proprietary softwareCode sample editThe code sample shown below demonstrates how various technologies in Java EE 7 are used together to build a web form for editing a user In Jakarta EE a web UI can be built using Jakarta Servlet Jakarta Server Pages JSP or Jakarta Server Faces JSF with Facelets The example below uses Faces and Facelets Not explicitly shown is that the input components use the Jakarta EE Bean Validation API under the covers to validate constraints lt html xmlns http www w3 org 1999 xhtml xmlns h http xmlns jcp org jsf html xmlns f http xmlns jcp org jsf core gt lt f metadata gt lt f viewParam name user id value userEdit user converter userConvertor gt lt f metadata gt lt h body gt lt h messages gt lt h form gt lt h panelGrid columns 2 gt lt h outputLabel for firstName value First name gt lt h inputText id firstName value userEdit user firstName label First name gt lt h outputLabel for lastName value Last name gt lt h inputText id lastName value userEdit user lastName label Last name gt lt h commandButton action userEdit saveUser value Save gt lt h panelGrid gt lt h form gt lt h body gt lt html gt Example Backing Bean class edit To assist the view Jakarta EE uses a concept called a Backing Bean The example below uses Contexts and Dependency Injection CDI and Jakarta Enterprise Beans EJB Named ViewScoped public class UserEdit private User user Inject private UserDAO userDAO public String saveUser userDAO save this user addFlashMessage User this user getId saved return users xhtml faces redirect true public void setUser User user this user user public User getUser return user Example Data Access Object class edit To implement business logic Jakarta Enterprise Beans EJB is the dedicated technology in Jakarta EE For the actual persistence JDBC or Jakarta Persistence JPA can be used The example below uses EJB and JPA Not explicitly shown is that JTA is used under the covers by EJB to control transactional behavior Stateless public class UserDAO PersistenceContext private EntityManager entityManager public void save User user entityManager persist user public void update User user entityManager merge user public List lt User gt getAll return entityManager createNamedQuery User getAll User class getResultList Example Entity class edit For defining entity model classes Jakarta EE provides the Jakarta Persistence JPA and for expressing constraints on those entities it provides the Bean Validation API The example below uses both these technologies Entity public class User Id GeneratedValue strategy IDENTITY private Integer id Size min 2 message First name too short private String firstName Size min 2 message Last name too short private String lastName public Integer getId return id public void setId Integer id this id id public String getFirstName return firstName public void setFirstName String firstName this firstName firstName public String getLastName return lastName public void setLastName String lastName this lastName lastName See also edit nbsp Computer programming portalCanigo framework Deployment descriptor Java BluePrints Java Research License Sun Community Source License Sun Java System Portal Server Web containerReferences edit Differences between Java EE and Java SE Your First Cup An Introduction to the Java EE Platform Docs oracle com 2012 04 01 Retrieved 2012 07 18 Java EE Overview Oracle Corporation Retrieved February 26 2017 John K Waters 2017 09 12 Java EE Is Moving to the Eclipse Foundation ADTmag Retrieved 2017 09 13 Beaton Wayne EE4J FAQ The Eclipse Foundation www eclipse org Update on Jakarta EE Rights to Java Trademarks 3 May 2019 Chirgwin Richard March 4 2018 Java EE renamed Jakarta EE after Big Red brand spat Software The Register Retrieved 19 March 2018 Vaughan Nichols Steven J March 5 2018 Good bye JEE hello Jakarta EE Linux and Open Source ZDNet Retrieved 2020 07 10 https blogs oracle com javamagazine post transition from java ee to jakarta ee bare URL Jakarta EE Platform 10 Release Plan Obradovic Tanja Grimstad Ivar 2021 05 25 The Jakarta EE Working Group Releases Jakarta EE 9 1 as Industry Continues to Embrace Open Source Enterprise Java News Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Mmayel Shabnam Obradovic Tanja 2020 12 08 Jakarta EE 9 Released News Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Mmayel Shabnam Obradovic Tanja 2019 09 10 Jakarta EE 8 Released News Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Krill Paul November 21 2003 J2EE 1 4 spec certified Software Development InfoWorld Retrieved 2022 03 05 Copeland Lee September 24 2001 Sun unveils J2EE 1 3 Software Development Computerworld Retrieved 2022 03 05 JSR 316 Java Platform Enterprise Edition 6 Java EE 6 Specification Java Community Process Oracle Corporation Retrieved 2022 03 05 JSR 342 Java Platform Enterprise Edition 7 Java EE 7 Specification Java Community Process Oracle Corporation Retrieved 2022 03 05 Java Platform Enterprise Edition 8 Java EE 8 Web Profile Specification PDF GitHub Oracle Corporation Archived PDF from the original on 2022 10 09 Retrieved 2022 02 05 Web Profile Definition Jakarta EE WebProfile 8 Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Web Profile Definition Jakarta EE WebProfile 9 Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Web Profile Definition Jakarta EE WebProfile 9 1 Jakarta EE Eclipse Foundation Retrieved 2022 03 05 Web Profile Definition Jakarta EE WebProfile 10 Jakarta EE Eclipse Foundation Retrieved 2022 09 27 Jakarta EE Compatible Products Jakarta ee Jakarta EE 9 Compatible Products Jakarta ee Jakarta EE 8 Compatible Products Jakarta ee Jakarta EE 10 Platform and MicroProfile 6 in Open Liberty 23 0 0 1 beta openliberty io a b Jakarta EE 10 MicroProfile 6 and Java SE 20 support in Open Liberty 23 0 0 3 openliberty io a b c d e f g Java EE Compatibility www oracle com Retrieved 2018 08 05 a b c d e f g Java EE Compatibility a b Comparing GlassFish Open Source Edition versions 2 x and 3 0 x Archived from the original on 2012 12 20 Java EE Compatibility Java sun com 2010 09 07 Retrieved 2012 07 18 Oracle Weblogic Server 14 1 1 www oracle com Oracle Weblogic Server 12 1 1 www oracle com Lyons Will Humphrey Pieter 2011 Oracle Web Logic Server 12c Developing Modern Lightweight Java EE 6 Applications PDF Archived from the original PDF on 2011 12 15 Retrieved 2011 12 03 Java EE Compatibility www oracle com JBoss AS 7 1 0 Final Thunder released Java EE 6 Full Profile certified My Wiki Planet JBoss Community Planet jboss org 2012 02 17 Retrieved 2012 07 18 JBoss Application Server JBoss Community JBoss Application Server JBoss Community Java EE Compatibility JBoss AS is now EE5 certified 15 September 2008 Archived from the original on 20 September 2008 Retrieved 7 August 2016 Red Hat JBoss Enterprise Application Platform 7 2 Availability Business Wire 2012 06 20 Red Hat Launches JBoss Enterprise Application Platform 6 to Help Enterprises Move Application Development and Deployment to the Cloud Business Wire Retrieved 2012 07 18 a href Template Cite web html title Template Cite web cite web a author has generic name help What s new in WebSphere Application Server V8 Ibm com Retrieved 2012 07 18 a b IBM WebSphere Application Server Liberty delivers the first production ready Java EE 8 compatible application server and broadens support for Spring Boot applications IBM 10 July 2018 Retrieved 12 July 2018 Java EE 7 Tested Configurations IBM WebSphere Application Server Liberty Profile Oracle com Java EE 7 has landed in WAS Liberty WASdev 25 June 2015 IBM Java EE 6 Web Profile Tested Configurations Apache Geronimo Index geronimo apache org January 25 2010 Apache Geronimo fully certified for Java EE 6 The H Open News and Features H online com 2011 11 14 Archived from the original on 20 April 2012 Retrieved 2012 07 18 Tested Configurations Java EE 6 TMAX JEUS 7 Oracle com 2010 09 07 Retrieved 2012 07 18 Java EE6 Web Application Server WAS Software Us tmaxsoft com Archived from the original on 2012 07 02 Retrieved 2012 07 18 Java EE 6 Tested Configurations Java EE 6 Hitachi uCosminexus Application Server v9 0 Oracle com Fujitsu Interstage Application Server powered by Windows Azure Archived from the original on August 10 2011 Tested Configurations Java EE6 Fujitsu Interstage Oracle com 2010 09 07 Retrieved 2012 07 18 Fujitsu Releases Interstage Application Server V10 1 Fujitsu NEC WebOTX Application Server V9 x Certification Apache TomEE Openejb apache org Retrieved 2012 07 18 MarketWatch com MarketWatch com Retrieved 2012 07 18 TomEE Apache Apache TomEE 7 0 1 Resin Application Server Java EE 6 Web Profile PDF caucho com 2011 Archived PDF from the original on 2022 10 09 Please Welcome Siwpas as Java EE Certified Option Oracle com Retrieved 2015 12 07 JOnAS 5 3 0 RC1 released jonas ow2 org 2013 01 07 Archived from the original on 2013 10 15 Retrieved 2014 02 25 SAP NetWeaver Cloud Java EE 6 Web Profile Certified The Aquarium SAP Software Solutions Business Applications and Technology External links edit nbsp Wikimedia Commons has media related to Jakarta EE Official website nbsp Jakarta EE Compatible Products Enterprise Java Application and Web Servers Eclipse Foundation The Jakarta EE Tutorial First Cup of Jakarta EE Tutorial An Introduction to Jakarta EE Java Platform Enterprise Edition Java EE Oracle Technology Network Jakarta EE official YouTube channel Retrieved from https en wikipedia org w index php title Jakarta EE amp oldid 1180741932, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.