Java is a general purpose, object oriented, class based, high-level programming language with a syntax similar to C++, but fewer low-level features. Java programs are normally compiled into byte code that can run on a Java Virtual Machine which is part of the Java runtime.

Jakarta EE

Jakarta EE has developed a comprehensive set of open specifications that are used to develop modern, Java application servers. With Jakarta EE, Java developers are assured that they can develop solutions that can be deployed to a wide range of application servers, in the cloud or on premises.

Jakarta EE brings a lot of value to the ecosystems that support the Java programming language, and other languages that targets the Java Virtual Machine, such as Kotlin. Targeting Jakarta EE allows Java developers to focus on the particular needs of their solution, based on standards compliant services, such as:

  • Jakarta Annotations
  • Jakarta Authentication
  • Jakarta Debugging Support for Other Languages
  • Jakarta Servlet
  • Jakarta Server Pages
  • Jakarta Expression Language
  • Jakarta WebSocket
  • Jakarta Web Profile specifications
  • Jakarta Activation
  • Jakarta Bean Validation
  • Jakarta Contexts and Dependency Injection
  • Jakarta Dependency Injection
  • Jakarta Enterprise Beans
  • Jakarta Faces
  • Jakarta Interceptors
  • Jakarta JSON Binding
  • Jakarta JSON Processing
  • Jakarta Mail
  • Jakarta Managed Beans
  • Jakarta Persistence
  • Jakarta RESTful Web Services
  • Jakarta Security
  • Jakarta Standard Tag Library
  • Jakarta Transactions
  • Jakarta XML Binding
  • Jakarta Authorization
  • Jakarta Batch
  • Jakarta Concurrency
  • Jakarta Connectors
  • Jakarta Enterprise Web Services
  • Jakarta Messaging
  • Jakarta SOAP with Attachments
  • Jakarta Web Services Metadata
  • Jakarta XML Web Services

There are many popular Jakarta EE based application servers, among them:

  • Apache TomEE is a Jakarta EE 9.1 certified application server that extends Apache Tomcat.
  • Oracle WebLogic Server.
  • IBM WebSphere Application Server.