Slide 1

Slide 1 text

Ivar Grimstad
 Jakarta EE Developer Advocate Eclipse Foundation What Spring Developers Should Know About Jakarta EE

Slide 2

Slide 2 text

https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad @[email protected] ivargrimstad_of fi cial @ivar_grimstad https://www.threads.net/@ivargrimstad_of fi cial @theguywiththeduketattoo.com

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

1995 1999

Slide 5

Slide 5 text

Hello The following slide contains some disturbing content that may not be suitable for all audiences. Viewer discretion is advised.

Slide 6

Slide 6 text

SessionBean Hello EnterpriseBean Serializable Remote EJBObject HelloRemote HelloObject EBJHome HelloHome EBJLocalHome HelloLocalHome EJBLocalObject HelloLocal HelloHomeObject HelloLocal Home Object HelloLocalObject

Slide 7

Slide 7 text

… … EAR ejb-jar XML XML

Slide 8

Slide 8 text

2004 1995 1999

Slide 9

Slide 9 text

Hello

Slide 10

Slide 10 text

Hello XML XML XML WAR

Slide 11

Slide 11 text

2004 1995 1999 2006 JSR 330 2009

Slide 12

Slide 12 text

public class Hello { public String say() { return “Happy Birthday, Duke!”; } }

Slide 13

Slide 13 text

@Stateless public class Hello { public String say() { return “Happy Birthday, Duke!”; } }

Slide 14

Slide 14 text

Hello

Slide 15

Slide 15 text

Hello WAR/JAR

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Speci fi cation Document API TCK Final Speci fi cation Compatible Implementation(s) Speci fi

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 11

Slide 21

Slide 21 text

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 Pro fi Updated Not Updated New

Slide 22

Slide 22 text

Jakarta EE 11 Web Pro fi le 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 Pro fi Updated Not Updated New

Slide 23

Slide 23 text

Jakarta EE 11 Core Pro fi le 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

Slide 24

Slide 24 text

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 !!

Slide 25

Slide 25 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Release Cadence ~6-9 Months after the latest LTS of Java

Slide 26

Slide 26 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) May, 2024 Milestone 4 • Feature complete • All API jars released • For each API at least one compatible implementation (e.g. Hibernate, Mojarra) • Each compatible implementation passed standalone TCK jakarta.platform jakarta.jakartaee-api 11.0.0-M4 provided

Slide 27

Slide 27 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Q4, 2024 (Core Pro fi le) Q1, 2025 (Web Pro fi le) Q2, 2025 (Platform)

Slide 28

Slide 28 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How is this Relevant to ?

Slide 29

Slide 29 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on

Slide 30

Slide 30 text

javax.* -> jakarta.*

Slide 31

Slide 31 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Spring

Slide 35

Slide 35 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Spring Servlet

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

Eclipse Jetty Apache Tomcat Undertow Open Liberty

Slide 38

Slide 38 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo

Slide 39

Slide 39 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Servlet https://jakarta.ee/speci fi cations/servlet

Slide 40

Slide 40 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Spring Validation Servlet

Slide 41

Slide 41 text

Hibernate Validator

Slide 42

Slide 42 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Validation https://jakarta.ee/speci fi cations/bean-validation

Slide 43

Slide 43 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Data Jakarta EE Spring Persistence Servlet Validation

Slide 44

Slide 44 text

Hibernate ORM

Slide 45

Slide 45 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Persistence https://jakarta.ee/speci fi cations/persistence

Slide 46

Slide 46 text

UUID as Basic Java Type @Entity public class Item { @Id @GeneratedValue(strategy=GenerationType.UUID) private java.util.UUID id; private String description; … }

Slide 47

Slide 47 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Java Records as Embeddable Classes

Slide 48

Slide 48 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Deprecate Calendar, Date, Time, Timestamp, Temporal, MapKeyTemporal, TemporalType Replace with java.time API Java Con fi guration as alternative to persistence.xml via the PersistenceConfiguration Class Lots of New Convenience methods for Criteria Language

Slide 49

Slide 49 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Transactions CDI Authentication Concurrency Security Data Jakarta EE Spring Data Validation Persistence Servlet

Slide 50

Slide 50 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Data 1.0 Standardizes the repository pattern for data access https://jakarta.ee/speci fi cations/data/1.0/ NEW in Jakarta EE 11

Slide 51

Slide 51 text

@Repository public interface GreetingRepository extends CrudRepository { Optional findByName(String name); } import jakarta.data.repository.CrudRepository; import jakarta.data.repository.Repository;

Slide 52

Slide 52 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Data Query Language (JDQL) https://github.com/jakartaee/data/blob/main/spec/src/antlr/JDQL.g4

Slide 53

Slide 53 text

@Query("where title like :title") List booksByType(String title);

Slide 54

Slide 54 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo

Slide 55

Slide 55 text

Authorization Activation Batch Connectors Mail Enterprise Beans JSON Processing CDI Lite Interceptors Pages Expression Language Debugging Support Standard Tag Libraries Faces Enterprise Beans Lite CDI Authentication Security Jakarta EE Spring Mail Messaging Messaging Concurrency Concurrency WebSocket WebSocket Transactions Transactions RESTful Web Services RESTful Web Services JSON Binding JSON Binding Annotations Annotations Dependency Injection Dependency Injection Persistence Validation Data Servlet Expression Language

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on

Slide 58

Slide 58 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) What about and

Slide 59

Slide 59 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)

Slide 60

Slide 60 text

AI Application

Slide 61

Slide 61 text

Open AI Application

Slide 62

Slide 62 text

Open AI Application HTTP

Slide 63

Slide 63 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) What if I really like

Slide 64

Slide 64 text

Open AI Application +

Slide 65

Slide 65 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo

Slide 66

Slide 66 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Turn it around?

Slide 67

Slide 67 text

Open AI Application +

Slide 68

Slide 68 text

COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo

Slide 69

Slide 69 text

COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 12

Slide 70

Slide 70 text

2026 2024/5 2020 Java 21 Embrace Records Jakarta Data CDI Centric Removals and Deprecations Jakarta EE Core Pro fi le 2022 COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 12 javax.* -> jakarta.*

Slide 71

Slide 71 text

Authorization 5.0* Activation 2.1 Batch 2.2 Connectors 2.2 Mail 2.1 Messaging 3.1 Enterprise Beans 4.1 RESTful Web Services 5.0 JSON Processing 2.2 JSON Binding 3.1 Annotations 3.1 CDI Lite 5.0 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.2 Pages 4.1 Expression Language 6.1 Debugging Support 2.0 Standard Tag Libraries 3.1 Faces 5.0 WebSocket 2.3 Enterprise Beans Lite 4.1 Persistence 4.0 Transactions 2.1 CDI 5.0 Authentication 5.0* Concurrency 3.2 Security 5.0 Validation 4.0 Jakarta EE 12 Platform Updated Not Updated New Data 1.1 Query 1.0 Subject to Change MVC NoSQL

Slide 72

Slide 72 text

Jakarta EE 12 API source level: Java SE 21 API binary level: Java SE 21 TCK run with: Java SE 21+25 App Developers (YOU) can use Java SE 25 features if you like !!

Slide 73

Slide 73 text

COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Summary

Slide 74

Slide 74 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How is Relevant to

Slide 75

Slide 75 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on

Slide 76

Slide 76 text

Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Jakarta EE Spring Dependency Injection Data Expression Language

Slide 77

Slide 77 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*

Slide 78

Slide 78 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Brought Java to the Server and Inspired

Slide 79

Slide 79 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Simpli fi ed and Inspired

Slide 80

Slide 80 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Develops a Foundation for and is Inspired by

Slide 81

Slide 81 text

MVC 3.1 NoSQL 1.1 Authorization 5.0* Activation 2.1 Batch 2.2 Connectors 2.2 Mail 2.1 Messaging 3.1 Enterprise Beans 4.1 RESTful Web Services 5.0 JSON Processing 2.2 JSON Binding 3.1 Annotations 3.1 CDI Lite 5.0 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.2 Pages 4.1 Expression Language 6.1 Debugging Support 2.0 Standard Tag Libraries 3.1 Faces 5.0 WebSocket 2.3 Enterprise Beans Lite 4.1 Persistence 4.0 Transactions 2.1 CDI 5.0 Authentication 5.0* Concurrency 3.2 Security 5.0 Validation 4.0 Jakarta EE 12 Platform Updated Not Updated New Data 1.1 Query 1.0 Subject to Change

Slide 82

Slide 82 text

Jakarta EE https://jakarta.ee Get Started
 https://start.jakarta.ee Ivar’s Hashtag Jakarta EE https://www.agilejava.eu/category/jakarta-ee/ Demo Code https://github.com/ivargrimstad/jakartaee-spring
 https://github.com/ivargrimstad/duke-ai
 https://github.com/ivargrimstad/duke-spring
 https://github.com/ivargrimstad/jakarta-gpt https://theguywiththeduketattoo.com SPRING

Slide 83

Slide 83 text

Thanks!