Jakarta EE, formerly known as Java EE, is a Java platform specification that allows multilayer architecture and that is aimed to enterprises.
Java EE was initially developed by Oracle. When development was handed to Eclipse Foundation it had to change its name to Jakarta EE because the Java trademark was owned by Oracle.
Jakarta EE follows the model-view-controller (MVC) design pattern.
You can read this general post about Java platforms.
Jakarta EE Components
Jakarta EE componens:
- Servlet
- Jakarta Server Pages (JSP)
- Jakarta Faces
- Jakarta Enterprise Beans
Servlets
A servlet is a web component developed in Java that generate web dynamic content.
Unlike applets, they are run on the server side.
A Jakarta servlet is a specification/API used to define how Java objects handle HTTP requests and responses. It extends the capabilities of a server with a web container that host Java-based web applications that enable dynamic web content.
It would be an alternative to Node.js (JavaScript), ASP.NET (C#) and PHP (PHP) to create dynamic web content.
Jakarta Server Pages (JSP)
Jakarta Server Pages (JSP) extends servlets to work better with the presentation of HTML.
It was inspired by Microsoft’s ASP.
Jakarta Server Pages (JSP) is a collection of technologies that helps software developers create dynamically generated web pages based on HTML, XML, SOAP, or other document types.
An alternative to Jakarta Server Pages (JSP) would be Thymeleaf.
Jakarta Faces
Jakarta Faces, formerly known as JavaServer Faces (JSF) is a specification for a Java web application framework.
There are other Java web application frameworks (e.g., Spring Framework), but this one is bundled within Jakarta EE.
Jakarta Faces Implementations
The Jakarta Faces reference implementation is Mojarra. It is proprietary.
Apache developed an open-source called Apache MyFaces.
Jakarta Enterprise Beans
Jakarta Enterprise Beans, formerly known as Enterprise Java Beans (EJB).
Jakarta EE Services
The Jakarta EE services are offered as APIs.
Jakarta EE Services:
- Servlet
- JSP
- Jakarta Faces
- Java Persistance
- Java Message Service
- Java Transaction API
- Java IDL (Interface Definition Language)
- Java Naming and Directory Interface (JNDI)
- Java Mail Technology
- JDBC
- Streaming API for XML (StAX)
- Java API for XML (JAXP)
- Java Architecture for XML Binding (JAXB)
- Java API for XML Web Services (JAX-WS)
- SOAP with Attachements API for Java (SAAJ)
- JavaBeans Activation Frameworks (JAF)
- Java Authentication and Authorization Service (JAAS)
- Java Authorization Service Provider Contract for Containers (JACC)
- Java EE Connector Architecture
JDBC is de default API to access databases.
JNDI is the default API to access directory services (like LDAP) and name servers (like DNS).
Java Architecture for XML Binding (JAXB) bind classes to an XML representation.
Jakarta EE Implementations
There are different Jakarta EE / Java EE implementations. Some of them are open source, and some others are proprietary.
Jakarta EE implementations:
- GlassFish
- Wild Fly
- TomCat / TomEE
- IBM WebSphere
- Oracle WebLogic
GlassFish
GlassFish is the official open source implementation. It was initially developed by Oracle, and now it is developed by Eclipse Foundation.
It is FOSS.
WildFly
WildFly is developed nowadays by American company Red Hat. It was initially known as JBoss and developed by the company of the same name.
It is FOSS, under an LGPL v1.2 license.
SAR (Services Archive) is used in Wildfly to package and deploy components.
TomEE
TomCat is a servlets and JSP container, but not really a complete application server.
TomEE is developed by Apache Foundation. TomEE supports, servlets, JSP and JSRs, such as EJBs and CDI.
It is FOSS, under an Apache 2.0 license.
IBM WebSphere
IBM WebSphere is developed by American company IBM.
Oracle WebLogic
The Oracle WebLogic is developed by American company IBM.
Jakarta EE Application Distribution Packages
Jakarta EE has the following application distribution packages:
- Enterprise Application Archive (EAR)
- Web Application Archive (WAR)
- Resource Adapter Archive (RAR)
You can read an external link about Jakarta EE distribution packages.
Jakarta EE Development Frameworks
Jakarta EE development frameworks are aimed to ease developments on the platform by providing libraries, patterns and tools.
Jakarta EE Web Application Framework
Jakarta EE web application frameworks:
- Spring Framework
- Apache Struts
- Apache Faces
- Apache Tapestry
- Apache Wicket
The most used framework is Spring Framework.
Spring Framework
Spring Framework is a web framework written in Java. It is probably the most popular Java web application framework.
You can read this post about Spring Framework.
Apache Struts
Apache Struts is one of the first MVC web application frameworks for Java. Its use is declining.
Java Faces
Java Faces is component-based, and it was included in the Java EE standard. Its use is declining.
Apache Tapestry
Apache Tapestry is declining in popularity.
Apache Wicket
Apache Wicket is used in a niche.
Micronaut
Micronaut is a Java framework for microservices.
Jakarta EE ORMs
An object-relation mapping is a tool to map an object-oriented model to a relational database.
Hibernate ORM
Hibernate or Hibernate ORM is an object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database.
It is FOSS under a LGPL 1.2 license.
Jakarta APIs
Jakarta APIs:
- JAX-RS
JAX-RS
Jakarta RESTful Web Services (JAX-RS) is a Jakarta API specification.
You might also be interested in…
External References
- Wikipedia community; “Jakarta EE“; Wikipedia