Slide 1

Slide 1 text

Ivar Grimstad
 Jakarta EE Developer Advocate Eclipse Foundation Why I Choose Apache NetBeans for 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

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

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

Slide 5

Slide 5 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 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 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) Jakarta EE 11

Slide 9

Slide 9 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 10

Slide 10 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 11

Slide 11 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 12

Slide 12 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 13

Slide 13 text

COPYRIGHT (C) 2024, 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 14

Slide 14 text

COPYRIGHT (C) 2024, 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 15

Slide 15 text

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

Slide 16

Slide 16 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Removed Replaced by CDI Managed Beans 2.0

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) Optional Features Jakarta EE Platform Jakarta EE Web Pro fi le Jakarta EE Core Pro fi le Jakarta XML Binding 4.0 Jakarta SOAP with Attachments 4.0 Jakarta XML Web Service 4.0

Slide 18

Slide 18 text

COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Removed SecurityManager JEP 411: Deprecate the Security Manager for Removal

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 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 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) # 3

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) Plugins

Slide 30

Slide 30 text

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

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) Demo

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 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 35

Slide 35 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 36

Slide 36 text

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

Slide 37

Slide 37 text

No content

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

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

Slide 40

Slide 40 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 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 41

Slide 41 text

@Repository public interface GreetingRepository extends CrudRepository { Optional findByName(String name); }

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 Data Query Language (JDQL) https://github.com/jakartaee/data/blob/main/spec/src/antlr/JDQL.g4

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

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) +

Slide 46

Slide 46 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 47

Slide 47 text

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

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 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 50

Slide 50 text

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

Slide 51

Slide 51 text

Eclipse Transformer Apache Tomcat Migration Tool b.com/eclipse/transformerhttps://tomcat.apache.org/download-migration.cgi

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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 Under Developm ent

Slide 55

Slide 55 text

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

Slide 56

Slide 56 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 57

Slide 57 text

Q4, 2024

Slide 58

Slide 58 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 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 ASF 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 ASF

Slide 59

Slide 59 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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

Jakarta EE https://jakarta.ee NetBeans
 https://netbeans.apache.org Ivar’s Hashtag Jakarta EE https://www.agilejava.eu/category/jakarta-ee/ Demo Code https://github.com/ivargrimstad/dukes-data