Prepare for Jakarta EE 11
Performance and Developer Productivity
Ivar Grimstad
Jakarta EE Developer Advocate
Eclipse Foundation
presented by Ed Burns
Principal Architect, Microsoft
Jakarta EE 11 Release co-coordinator
https://github.com/ivargrimstad
https://www.linkedin.com/in/ivargrimstad
@ivar_grimstad@mastadon.social
ivargrimstad_official
@ivar_grimstad
https://www.threads.net/@ivargrimstad_official
We are hiring in Bucharest!
https://aka.ms/ms-jobs-bucharest
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
2022 2024
2020
javax.* -> jakarta.* Jakarta EE Core Profile
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Specification
Document
API
TCK
Final Specification
Compatible
Implementation(s)
Specifications
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
A note on Spring and Jakarta EE
Reality: Jakarta EE industry impact
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta EE 11
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Data 1.0
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
Jakarta EE 11 Platform
Jakarta EE 11 Web Profile
Updated
Not Updated
New
Jakarta EE 11 Web Profile
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Data 1.0
Jakarta EE 11 Core Profile
Updated
Not Updated
New
Jakarta EE 11 Core Profile
Updated
Not Updated
New
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Jakarta EE 11
API source level: Java SE 17
API binary level: Java SE 17
TCK run with: Java SE 17+21
App Developers (YOU) can use Java SE 21 features if you
like !!
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Release Cadence
~6-9 Months after the latest LTS of Java
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
March/April 2024
Milestone 2
April/May 2024
Milestone 3
May/June 2024
Milestone 4
December, 2023
Milestone 1
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Specification
Document
API
TCK
Mx Specification
Compatible
Implementation(s)
Specification
Document
API
TCK
Final Specification
Compatible
Implementation(s)
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta EE 11
H1, 2024
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Performance
and
Developer Productivity
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Cross-Cutting
Concerns
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Removed
Replaced by CDI
Managed Beans 2.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Removed
SecurityManager
JEP 411: Deprecate the
Security Manager for Removal
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Optional Features
Jakarta EE Platform
Jakarta EE Web Profile
Jakarta EE Core Profile
Jakarta XML Binding 4.0
Jakarta SOAP with Attachments 4.0 Jakarta XML Web Service 4.0
Jäten
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Remove SecurityManager references
Clarifications
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
• Authorisation APIs
Interceptors for Authorisation
Abstraction for the permission store
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Security
MicroProfile JWT
Bridge
MicroProfile JWT
JWT Bridge
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Security
https://jakarta.ee/specifications/authentication/3.1/
https://jakarta.ee/specifications/authorization/3.0/
https://jakarta.ee/specifications/security/4.0/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Virtual Threads
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
ManagedExecutorService
ManagedScheduledExecutorServ
ice
ContextService
ManagedThreadFactory
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta EE 11
API source level: Java SE 17
API binary level: Java SE 17
TCK run with: Java SE 17+21
?
@ManagedExecutorDefinition(
name = “java:app/concurrent/myExecutor”,
maxAsync = 3,
virtual = true
)
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Concurrency API
Java 17
Platform Thread
virtual = “true”
Java SE Runtime Aware
Support for Virtual Threads
Java 21
Virtual Thread
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Concurrency
3.1
https://jakarta.ee/specifications/concurrency/3.1/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Support Records and Sealed Types
Deprecate Expression Language SPI
@Priority on producers
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Move Integration Requirements
CDI Platform
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Contexts and Dependency Injection
4.1
https://jakarta.ee/specifications/cdi/4.1/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Deprecations
JavaBeans API dependency Optional
Support for Optional via OptionalELResolver
Add Support for Java Records
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Expression Language 6.0
https://jakarta.ee/specifications/expression-language/6.0/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Remove SecurityManager references
Remove class scanning and rely on CDI only
Remove unused
PreDestroyCustomScopeEvent and
PostConstructCustomScopeEvent
Remove unused composite:extension
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Faces 4.1
https://jakarta.ee/specifications/faces/4.1/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Remove SecurityManager references
Control status code and response body sending a
redirect
Convenience attributes, constants, and
methods
Clarifications
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Servlet 6.1
https://jakarta.ee/specifications/servlet/6.1/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Deprecate
Calendar, Date, Time, Timestamp, Temporal,
MapKeyTemporal, TemporalType
Replace with java.time API
Lots of New Convenience methods for Criteria Language
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Programmatic
configuration
var emf =
new PersistenceConfiguration()
.name("Bookshop")
.nonJtaDataSource("java:global/jdbc/BookshopData")
.managedClass(Book.class)
.managedClass(Author.class)
.property(PersistenceConfiguration.LOCK_TIMEOUT, 5000)
.createEntityManagerFactory()
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Type safe named queries
TypedQueryReference<Book> bookNamedQuery = ... ;
TypedQuery<Book> query = em.createQuery(bookNamedQuery);
List<Book> books = em.createQuery(Book_.byTitle).getResultList();
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Persistence 3.2
https://jakarta.ee/specifications/persistence/3.2/
https://in.relation.to/2024/04/01/jakarta-persistence-3/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Align with Jakarta Servlet and Jakarta Expression
Language
Remove all deprecated code from Jakarta Servlet
3.1
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Pages 4.0
https://jakarta.ee/specifications/pages/4.0/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Remove SecurityManager references
Minor updates and clarifications
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta WebSocket 2.2
https://jakarta.ee/specifications/websocket/2.2/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Support Java
Records
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Validation 3.1
https://jakarta.ee/specifications/bean-validation/3.1/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Deprecate support for @Context injection
Deprecate ContextResolver
Make Jakarta XML Binding OPTIONAL
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta RESTful Web Services 4.0
https://jakarta.ee/specifications/restful-ws/4.0/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Remove the ManagedBeans
Annotation
Managed Beans 2.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Annotations 3.0
https://jakarta.ee/specifications/annotations/3.0/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 3.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Add Standard Access
to Interceptor Bindings
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
public interface InvocationContext
…
default Set<Annotation> getInterceptorBindings() {
// default implementation
}
default <T extends Annotation> T getInterceptorBinding(Class<T> annotationType) {
// default implementation
}
default <T extends Annotation> Set<T> getInterceptorBindings(Class<T> annotationType) {
// default implementation
}
…
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Interceptors 2.2
https://jakarta.ee/specifications/interceptors/2.2/
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Data 1.0
Standardizes the repository pattern for data access
https://jakarta.ee/specifications/data/1.0/
https://in.relation.to/2024/04/01/jakarta-data-1/
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Data 1.0
TL;DR;
• Builds on top of Jakarta Persistence (JPA) concepts
• Persistence Unit
• EntityManager
• Entity
• Static metamodel
• Introduces new concepts
• Repository
• Specialize from existing super-type
• Throw the @Repository annotation on an interface
• Code generation
• Query
• By method name
• By type safe query language with @Query annotation
@Repository
public interface GreetingRepository extends
CrudRepository<Greeting, Long> {
Optional<Greeting> findByName(String name);
}
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta Data Query Language
(JDQL)
https://github.com/jakartaee/data/blob/main/spec/src/antlr/JDQL.g4
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Hibernate 6.6
Hibernate data repositories
https://docs.jboss.org/hibernate/orm/6.6/repositories/
@Query("where title like :title")
List<Book> booksByType(String title);
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Demo
https://github.com/OpenLiberty/sample-jakarta-data
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Prospective
Specifications
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta MVC
Standardizes the action-based model-view-controller pattern
https://jakarta.ee/specifications/mvc/
@Controller
@View(“hello.jsp”)
public void hello()
model.put(“Hello Duke!”);
}
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta NoSQL
Standardizes integration with NoSQL databases
https://jakarta.ee/specifications/nosql/
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Jakarta RPC
Standardizes gRPC within Jakarta EE
https://jakarta.ee/specifications/rpc/
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Summary
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
javax.* -> jakarta.*
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Transformation
Eclipse Transformer Apache Tomcat Migration Tool
b.com/eclipse/transformer https://tomcat.apache.org/download-migration.cgi
Jakarta EE 10 Platform
Updated
Not Updated
New
Authorization 2.1
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 3.1
JSON Processing 2.1
JSON Binding 3.0
Annotations 2.1
CDI Lite 4.0
Interceptors 2.1
Dependency Injection 2.0
Servlet 6.0
Server Pages 3.1
Expression Language 5.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.0
WebSocket 2.1
Enterprise Beans Lite 4.0
Persistence 3.1
Transactions 2.0
Managed Beans 2.0
CDI 4.0
Authentication 3.0
Concurrency 3.0
Security 3.0
Bean Validation 3.0
Authorization 3.0
Activation 2.1
Batch 2.1
Connectors 2.1
Mail 2.1
Messaging 3.1
Enterprise Beans 4.0
RESTful Web Services 4.0
JSON Processing 2.1
JSON Binding 3.0
Annotations 3.0
CDI Lite 4.1
Interceptors 2.2
Dependency Injection 2.0
Servlet 6.1
Pages 4.0
Expression Language 6.0
Debugging Support 2.0
Standard Tag Libraries 3.0
Faces 4.1
WebSocket 2.2
Enterprise Beans Lite 4.0
Persistence 3.2
Transactions 2.0
CDI 4.1
Authentication 3.1
Concurrency 3.1
Security 4.0
Validation 3.1
Jakarta EE 11 Platform
Updated
Not Updated
New
Data 1.0
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
2022 2024
2020
Java 21
Jakarta Data
CDI Centric
Removals and Deprecations
javax.* -> jakarta.* Jakarta EE Core Profile
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY
Performance
and
Developer Productivity
Jakarta EE 11
API source level: Java SE 17
API binary level: Java SE 17
TCK run with: Java SE 17+21
App Developers (YOU) can use Java SE 21 features if you
like !!
Jakarta EE
https://jakarta.ee
Specifications
https://jakarta.ee/specifications/
Ivar’s Hashtag Jakarta EE
https://www.agilejava.eu/category/jakarta-ee/
Demo Code
https://github.com/ivargrimstad/dukes-data
Jakarta EE Overview
Course available on
Jakarta EE Developer Survey 2024

DevTalks Romania: Prepare for Jakarta EE 11

  • 1.
    Prepare for JakartaEE 11 Performance and Developer Productivity Ivar Grimstad Jakarta EE Developer Advocate Eclipse Foundation presented by Ed Burns Principal Architect, Microsoft Jakarta EE 11 Release co-coordinator
  • 2.
  • 4.
    We are hiringin Bucharest! https://aka.ms/ms-jobs-bucharest
  • 6.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 2022 2024 2020 javax.* -> jakarta.* Jakarta EE Core Profile
  • 7.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Specification Document API TCK Final Specification Compatible Implementation(s) Specifications
  • 8.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY A note on Spring and Jakarta EE Reality: Jakarta EE industry impact
  • 11.
    COPYRIGHT (C) 2022,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta EE 11
  • 12.
    RESTful Web Services4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Data 1.0 Authorization 3.0 Activation 2.1 Batch 2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 Jakarta EE 11 Platform Jakarta EE 11 Web Profile Updated Not Updated New
  • 13.
    Jakarta EE 11Web Profile RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Data 1.0 Jakarta EE 11 Core Profile Updated Not Updated New
  • 14.
    Jakarta EE 11Core Profile Updated Not Updated New RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0
  • 15.
    Jakarta EE 11 APIsource level: Java SE 17 API binary level: Java SE 17 TCK run with: Java SE 17+21 App Developers (YOU) can use Java SE 21 features if you like !!
  • 16.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Release Cadence ~6-9 Months after the latest LTS of Java
  • 17.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY March/April 2024 Milestone 2 April/May 2024 Milestone 3 May/June 2024 Milestone 4 December, 2023 Milestone 1
  • 18.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Specification Document API TCK Mx Specification Compatible Implementation(s) Specification Document API TCK Final Specification Compatible Implementation(s)
  • 19.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta EE 11 H1, 2024
  • 20.
    COPYRIGHT (C) 2022,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Performance and Developer Productivity
  • 21.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Cross-Cutting Concerns
  • 22.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Removed Replaced by CDI Managed Beans 2.0
  • 23.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Removed SecurityManager JEP 411: Deprecate the Security Manager for Removal
  • 24.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Optional Features Jakarta EE Platform Jakarta EE Web Profile Jakarta EE Core Profile Jakarta XML Binding 4.0 Jakarta SOAP with Attachments 4.0 Jakarta XML Web Service 4.0 Jäten
  • 25.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 26.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Remove SecurityManager references Clarifications
  • 27.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY • Authorisation APIs Interceptors for Authorisation Abstraction for the permission store
  • 28.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Security MicroProfile JWT Bridge MicroProfile JWT JWT Bridge
  • 29.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Security https://jakarta.ee/specifications/authentication/3.1/ https://jakarta.ee/specifications/authorization/3.0/ https://jakarta.ee/specifications/security/4.0/
  • 30.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 31.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Virtual Threads
  • 32.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY ManagedExecutorService ManagedScheduledExecutorServ ice ContextService ManagedThreadFactory
  • 33.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta EE 11 API source level: Java SE 17 API binary level: Java SE 17 TCK run with: Java SE 17+21 ?
  • 34.
  • 35.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Concurrency API Java 17 Platform Thread virtual = “true” Java SE Runtime Aware Support for Virtual Threads Java 21 Virtual Thread
  • 36.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Concurrency 3.1 https://jakarta.ee/specifications/concurrency/3.1/
  • 37.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 38.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Support Records and Sealed Types Deprecate Expression Language SPI @Priority on producers
  • 39.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Move Integration Requirements CDI Platform
  • 40.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Contexts and Dependency Injection 4.1 https://jakarta.ee/specifications/cdi/4.1/
  • 41.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 42.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Deprecations JavaBeans API dependency Optional Support for Optional via OptionalELResolver Add Support for Java Records
  • 43.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Expression Language 6.0 https://jakarta.ee/specifications/expression-language/6.0/
  • 44.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 45.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Remove SecurityManager references Remove class scanning and rely on CDI only Remove unused PreDestroyCustomScopeEvent and PostConstructCustomScopeEvent Remove unused composite:extension
  • 46.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Faces 4.1 https://jakarta.ee/specifications/faces/4.1/
  • 47.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 48.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Remove SecurityManager references Control status code and response body sending a redirect Convenience attributes, constants, and methods Clarifications
  • 49.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Servlet 6.1 https://jakarta.ee/specifications/servlet/6.1/
  • 50.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 51.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Deprecate Calendar, Date, Time, Timestamp, Temporal, MapKeyTemporal, TemporalType Replace with java.time API Lots of New Convenience methods for Criteria Language
  • 52.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Programmatic configuration var emf = new PersistenceConfiguration() .name("Bookshop") .nonJtaDataSource("java:global/jdbc/BookshopData") .managedClass(Book.class) .managedClass(Author.class) .property(PersistenceConfiguration.LOCK_TIMEOUT, 5000) .createEntityManagerFactory()
  • 53.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Type safe named queries TypedQueryReference<Book> bookNamedQuery = ... ; TypedQuery<Book> query = em.createQuery(bookNamedQuery); List<Book> books = em.createQuery(Book_.byTitle).getResultList();
  • 54.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Persistence 3.2 https://jakarta.ee/specifications/persistence/3.2/ https://in.relation.to/2024/04/01/jakarta-persistence-3/
  • 55.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 56.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Align with Jakarta Servlet and Jakarta Expression Language Remove all deprecated code from Jakarta Servlet 3.1
  • 57.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Pages 4.0 https://jakarta.ee/specifications/pages/4.0/
  • 58.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 59.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Remove SecurityManager references Minor updates and clarifications
  • 60.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta WebSocket 2.2 https://jakarta.ee/specifications/websocket/2.2/
  • 61.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 62.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Support Java Records
  • 63.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Validation 3.1 https://jakarta.ee/specifications/bean-validation/3.1/
  • 64.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 65.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Deprecate support for @Context injection Deprecate ContextResolver Make Jakarta XML Binding OPTIONAL
  • 66.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta RESTful Web Services 4.0 https://jakarta.ee/specifications/restful-ws/4.0/
  • 67.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 68.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Remove the ManagedBeans Annotation Managed Beans 2.0
  • 69.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Annotations 3.0 https://jakarta.ee/specifications/annotations/3.0/
  • 70.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 3.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 71.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Add Standard Access to Interceptor Bindings
  • 72.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY public interface InvocationContext … default Set<Annotation> getInterceptorBindings() { // default implementation } default <T extends Annotation> T getInterceptorBinding(Class<T> annotationType) { // default implementation } default <T extends Annotation> Set<T> getInterceptorBindings(Class<T> annotationType) { // default implementation } …
  • 73.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Interceptors 2.2 https://jakarta.ee/specifications/interceptors/2.2/
  • 74.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 75.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Data 1.0 Standardizes the repository pattern for data access https://jakarta.ee/specifications/data/1.0/ https://in.relation.to/2024/04/01/jakarta-data-1/
  • 76.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Data 1.0 TL;DR; • Builds on top of Jakarta Persistence (JPA) concepts • Persistence Unit • EntityManager • Entity • Static metamodel • Introduces new concepts • Repository • Specialize from existing super-type • Throw the @Repository annotation on an interface • Code generation • Query • By method name • By type safe query language with @Query annotation
  • 77.
    @Repository public interface GreetingRepositoryextends CrudRepository<Greeting, Long> { Optional<Greeting> findByName(String name); }
  • 78.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta Data Query Language (JDQL) https://github.com/jakartaee/data/blob/main/spec/src/antlr/JDQL.g4
  • 79.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Hibernate 6.6 Hibernate data repositories https://docs.jboss.org/hibernate/orm/6.6/repositories/
  • 80.
    @Query("where title like:title") List<Book> booksByType(String title);
  • 81.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Demo https://github.com/OpenLiberty/sample-jakarta-data
  • 82.
    COPYRIGHT (C) 2022,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Prospective Specifications
  • 83.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta MVC Standardizes the action-based model-view-controller pattern https://jakarta.ee/specifications/mvc/
  • 84.
  • 85.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta NoSQL Standardizes integration with NoSQL databases https://jakarta.ee/specifications/nosql/
  • 86.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Jakarta RPC Standardizes gRPC within Jakarta EE https://jakarta.ee/specifications/rpc/
  • 87.
    COPYRIGHT (C) 2022,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Summary
  • 89.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY javax.* -> jakarta.*
  • 90.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Transformation
  • 91.
    Eclipse Transformer ApacheTomcat Migration Tool b.com/eclipse/transformer https://tomcat.apache.org/download-migration.cgi
  • 93.
    Jakarta EE 10Platform Updated Not Updated New Authorization 2.1 Activation 2.1 Batch 2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 3.1 JSON Processing 2.1 JSON Binding 3.0 Annotations 2.1 CDI Lite 4.0 Interceptors 2.1 Dependency Injection 2.0 Servlet 6.0 Server Pages 3.1 Expression Language 5.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.0 WebSocket 2.1 Enterprise Beans Lite 4.0 Persistence 3.1 Transactions 2.0 Managed Beans 2.0 CDI 4.0 Authentication 3.0 Concurrency 3.0 Security 3.0 Bean Validation 3.0
  • 94.
    Authorization 3.0 Activation 2.1 Batch2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Jakarta EE 11 Platform Updated Not Updated New Data 1.0
  • 95.
    COPYRIGHT (C) 2024,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 2022 2024 2020 Java 21 Jakarta Data CDI Centric Removals and Deprecations javax.* -> jakarta.* Jakarta EE Core Profile
  • 96.
    COPYRIGHT (C) 2022,ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY Performance and Developer Productivity
  • 97.
    Jakarta EE 11 APIsource level: Java SE 17 API binary level: Java SE 17 TCK run with: Java SE 17+21 App Developers (YOU) can use Java SE 21 features if you like !!
  • 98.
    Jakarta EE https://jakarta.ee Specifications https://jakarta.ee/specifications/ Ivar’s HashtagJakarta EE https://www.agilejava.eu/category/jakarta-ee/ Demo Code https://github.com/ivargrimstad/dukes-data
  • 99.
  • 100.

Editor's Notes

  • #7 I want to convince you that Jakarta is a healthy ecosystem. A healthy ecosystem can survive trauma and thrive. Implementations 10: IBM, Red Hat, GlassFish, Oracle (just announced) 11: IBM, Red Hat, GlassFish Decision maker confidence
  • #8 Specifications This is the biggest differentiator between Jakarta EE and Spring. When you learn Spring, there is one vendor, Broadcom. When you learn Jakarta EE, the vendor can be pushed into the background.
  • #9 Everything depends on Java SE in one way or another. The boxes above the dashed line at the top are products that are seen as current, cloud-native, microservices-friendly. Spring Boot and Micronaut are older than any of the ones at the top right of the diagram. JBoss EAP is derived from open source upstream WildFly. WebSphere Liberty is derived from open source upstream Open Liberty. Spring Boot depends on Spring Framework. Spring Framework depends on: A subset of specifications from Jakarta EE, showed by the two dashed line boxes in the Jakarta EE oval box. Let’s call this, informally, the “Spring/Tomcat profile”. Spring provides its own proprietary way of handling the concerns addressed by all other aspects covered by Jakarta EE with one small exception: The Dependency Injection specification from the Jakarta EE Core Profile. Spring Framework does depend on this, but they create their own implementation that is tenuously compliant with the specification. Spring Framework depends on a “Servlet Container”. This can be Tomcat or Jetty. Tomcat depends on A subset of specifications from Jakarta EE, showed by the two dashed line boxes in the Jakarta EE oval box. Let’s call this, informally, the “Spring/Tomcat profile”. Micronaut depends on Annotations. WebLogic Server and WebSphere traditional depend on Jakarta EE Platform. Quarkus, Helidon, Liberty and EAP/WildFly depend on: MicroProfile Jakarta EE Web or Platform Profile, depending on circumstances MicroProfile depends on Jakarta EE Core Profile Jakarta EE Core Profile specifications are shown in a different color because some of the things depend on sub-specifications individually.
  • #11 Segue from 10 to 11.
  • #13 * Acknowledging reality. * This "platform" concept is our explicit acknowledgement that proprietary products, that may be open source, but do not have an open standard specification process, use and incorporate individual Jakarta EE specifications.
  • #15 The Core Profile was created to be a bridge to Eclipse MicroProfile.
  • #17 Coming Q1, 2024
  • #19 Left: final specification Right: milestone specificaitions
  • #25 * Going back again to Shelly Lambert, this is us doing the weeding (Jäten). Support for CORBA, including use of IIOP and Java IDL (RMI-IIOP, Java IDL) CORBA as an Application Service OMG Protocols (Object Management Group) Enterprise Web Services SOAP with Attachments XML Binding XML Web Services
  • #29 We did this with the JSF/Portlet bridge specification
  • #36 [ANIMATES]
  • #75 You may have noticed that I skipped one (if you were awake) Probably the most exciting one as well [CLICK] And that is Jakarta Data, the only new specification added in Jakarta EE 11
  • #76 The promise of open standards has always been take the best ideas and standardize them Innovation happens elsewhere. In practice, business interests sometimes hinder this. Until they don't. JPA popularized ORM for Java. Spring Data popularized the repository pattern. Jakarta Data brings them together in exciting ways.
  • #79 A subset or JPQL
  • #89 We have identified three focus areas for this release: Lower Entry Barriers Platform for Innovation Easy Migration [NEXT]
  • #99 Remember: Jakarta.EE All source code is under the EE4J GitHub organization Make sure to read the jakartablogs. (go to the page) and show how to get listed My newsletter Hashtag Jakarta EE. Ping me if you want have written an article or something you would want me to include there…