SlideShare a Scribd company logo
1 of 60
Download to read offline
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) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Ivar Grimstad

Jakarta EE Developer Advocate
Eclipse Foundation
Jakarta EE 10


Feature by Feature
@ivar_grimstad
https://github.com/ivargrimstad
https://www.linkedin.com/in/ivargrimstad
COPYRIGHT (C) 2022, 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
le
Updated
Not Updated
New
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
#JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
Jakarta EE 10 Core Pro
fi
le
Updated
Not Updated
New
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
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE 10


API source level: Java SE 11
API binary level: Java SE 11
TCK run with: Java SE 11+
App Developers (YOU) can use Java SE 17 features if you like!!
#JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
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
Jakarta EE 10 Platform
Updated
Not Updated
New
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta Security 3.0
adding features and evolving the API
https://jakarta.ee/speci
fi
cations/security/
Other Updates


• Updates to Lower Level SPIs


• Jakarta Authorization


• Jakarta Authentication


• Foundation for Future Work
New Authentication Mechanism


• OpenID Connect
OpenID Connect Authentication Mechanism
@OpenIdAuthenticationMechanismDefinition(


providerURI = "http://oidc-provider",


clientId = "client",


clientSecret = "secret",


redirectURI = "${baseURL}/Callback",


redirectToOriginalResource = true


)
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
Jakarta EE 10 Web Pro
fi
le
Updated
Not Updated
New
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta Persistence 3.1
adding features and evolving the API
https://jakarta.ee/speci
fi
cations/persistence/
UUID as Basic Java Type
@Entity


public class Item {




@Id


@GeneratedValue(strategy=GenerationType.UUID)


private java.util.UUID id;


private String description;


…


}
#JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
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
Jakarta EE 10 Platform
Updated
Not Updated
New
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta RESTful Web Services 3.1
updated API with requested features while maintaining compatibility
https://jakarta.ee/speci
fi
cations/restful-ws/
@GET


@Produces(MediaType.MULTIPART_FORM_DATA)


List<EntityPart> getFiles(…) {


List<EntityPart> parts = new ArrayList<>();


…


for(File f: dir.listFiles()) {


parts.add(EntityPart.withFileName(f.getName)


.content(new FileInputStream)


.mediaType(“application/pdf”)


.build();


}


return parts;


}
multipart/form-data Support
Java SE Bootstrap API
public static void main(String[] args) {


Application app = new MyApplication();


SeBootstrap.start(app);


}
DEMO
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta RESTful Web Services 3.1
Java SE Bootstrap API
DukesGreeting
{


email: “duke@dukes.java",


message: “Howdy Jakarta EE 9!”


}
Jakarta REST
Jakarta JSON Binding
RESTEasy 6.10
#JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
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
Jakarta EE 10 Platform
Updated
Not Updated
New
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE Core Pro
fi
le
Targeting smaller runtimes!
#JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad
Jakarta EE 10 Core Pro
fi
le
Updated
Not Updated
New
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
Possible
Potentially Jakarta EE 10 Core Pro
fi
le Compatible
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
CDI Lite 4.0
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
designed to work in more restricted environments
https://jakarta.ee/speci
fi
cations/cdi/
Jakarta CDI 4.0 Lite
New Extensions API


“Dynamic” at build time


Empty beans.xml “all” -> “annotated”

Removal of Deprecated API parts DEMO
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Demo
complete-duke
5.1
complete-duke
6.2
Jakarta EE 8 Jakarta EE 9.1
complete-duke
7.0
Jakarta EE 10
complete-duke
6.2
Jakarta EE 9.1
complete-duke
5.1
Jakarta EE 8
complete-duke
7.0
Jakarta EE 10
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
javax.* -> jakarta.*
javax.* -> jakarta.*
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Transformation
Eclipse Transformer Apache Tomcat Migration Tool
b.com/eclipse/transformerhttps://tomcat.apache.org/download-migration.cgi
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
IDE
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
1. Update Jakarta EE version in pom.xml


2. Fix the imports


3. XML Schema Namespaces


4. Rename properties pre
fi
xed with javax


5. Rename bootstrapping Files


6. Verify data and dynamic content
https://github.com/ivargrimstad/jakartaee-duke/
DukesDB
DukesRepository
DukesService
DukesGreeting
DukesExtension
{


email: “duke@dukes.java",


message: “Howdy Jakarta EE 10!”


}
Jakarta REST
Jakarta Enterprise Beans
Jakarta Persistence
Jakarta CDI
***********************


Duke says: Hi there!


***********************
Jakarta JSON Binding
complete-duke
5.1
Jakarta EE 8
complete-duke
6.2
Jakarta EE 9.1
complete-duke
7.0
Jakarta EE 10
core-duke
27.0.0
Jakarta EE 10


Core Pro
fi
le
DukesDB
DukesRepository
DukesService
DukesGreeting
DukesExtension
{


email: “duke@dukes.java",


message: “Howdy Jakarta EE 10!”


}
Jakarta REST
Jakarta Enterprise Beans
Jakarta Persistence
Jakarta CDI
***********************


Duke says: Hi there!


***********************
Jakarta JSON Binding
DukesService
DukesGreeting
DukesExtension
{


email: “duke@dukes.java",


message: “Howdy Jakarta EE 10!”


}
Jakarta REST
Jakarta CDI
Jakarta CDI
***********************


Duke says: Hi there!


***********************
Jakarta JSON Binding
Build Compatible Extension
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Beyond 10
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE 11
Starting NOW!
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE 11


API source level: Java SE 17
API binary level: Java SE 17
TCK run with: Java SE 17+
App Developers (YOU) can use Java SE 21 features if you like!!
Speculations
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta Con
fi
g
Standarizes portable con
fi
guration from environment-aware sources
https://jakarta.ee/speci
fi
cations/con
fi
g/
@ConfigProperty


private String place;
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta MVC
Standardizes the action-based model-view-controller pattern
https://jakarta.ee/speci
fi
cations/mvc/
@Controller


@View(“hello.jsp”)


public void hello()


model.put(“Hello Duke!”);


}
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta NoSQL
Standardizes integration with NoSQL databases
https://jakarta.ee/speci
fi
cations/nosql/
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta RPC
Standardizes gRPC within Jakarta EE
https://jakarta.ee/speci
fi
cations/rpc/
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta Data
Standardizes the repository pattern for data access
https://jakarta.ee/speci
fi
cations/
Proposal
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta Functions
Standardized Cloud Functions
https://jakarta.ee/speci
fi
cations/
W
hat do you THINK?
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Summary
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
javax.* -> jakarta.*
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
Jakarta EE 10 Core Pro
fi
le
Updated
Not Updated
New
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
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE 10


API source level: Java SE 11
API binary level: Java SE 11
TCK run with: Java SE 11+
App Developers (YOU) can use Java SE 17 features if you like!!
Jakarta EE
https://jakarta.ee
Jakartablogs

https://jakartablogs.ee/
Ivar’s Hashtag Jakarta EE
https://www.agilejava.eu/category/jakarta-ee/
Demo Code
https://github.com/ivargrimstad/jakartaee-duke
COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)

More Related Content

Similar to Jakarta EE 10 Feature by Feature

How to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenHow to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenIvar Grimstad
 
OpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptxOpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptxEmilyJiang23
 
Jakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech TalkJakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech TalkJosh Juneau
 
How to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenHow to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenIvar Grimstad
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Edward Burns
 
JakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE SuccessJakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE SuccessJakarta_EE
 
Jakarta EE 9 Platform Report
Jakarta EE 9 Platform ReportJakarta EE 9 Platform Report
Jakarta EE 9 Platform ReportJakarta_EE
 
Webex APIs for Administrators - CL20B - DEVNET-2610
Webex APIs for Administrators - CL20B - DEVNET-2610Webex APIs for Administrators - CL20B - DEVNET-2610
Webex APIs for Administrators - CL20B - DEVNET-2610Cisco DevNet
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 
Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018Natalia Kataoka
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationJakarta_EE
 
Connect JavaEE to the cloud with JCA by Steve Millidge
Connect JavaEE to the cloud with JCA by Steve MillidgeConnect JavaEE to the cloud with JCA by Steve Millidge
Connect JavaEE to the cloud with JCA by Steve MillidgePayara
 
Web adi success story
Web adi success storyWeb adi success story
Web adi success storyguesta7771aa
 
Applied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EEApplied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EEJakarta_EE
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020VMware Tanzu
 
What's new in vs 2010 sp1 for web developers
What's new in vs 2010 sp1 for web developersWhat's new in vs 2010 sp1 for web developers
What's new in vs 2010 sp1 for web developersAbhijit Jana
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integrationSandro Pereira
 

Similar to Jakarta EE 10 Feature by Feature (20)

How to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenHow to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source Citizen
 
OpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptxOpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptx
 
Jakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech TalkJakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech Talk
 
How to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source CitizenHow to Be a Responsible Open Source Citizen
How to Be a Responsible Open Source Citizen
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
JakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE SuccessJakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE Success
 
Jakarta EE 9 Platform Report
Jakarta EE 9 Platform ReportJakarta EE 9 Platform Report
Jakarta EE 9 Platform Report
 
Webex APIs for Administrators - CL20B - DEVNET-2610
Webex APIs for Administrators - CL20B - DEVNET-2610Webex APIs for Administrators - CL20B - DEVNET-2610
Webex APIs for Administrators - CL20B - DEVNET-2610
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse Foundation
 
Connect JavaEE to the cloud with JCA by Steve Millidge
Connect JavaEE to the cloud with JCA by Steve MillidgeConnect JavaEE to the cloud with JCA by Steve Millidge
Connect JavaEE to the cloud with JCA by Steve Millidge
 
Web adi success story
Web adi success storyWeb adi success story
Web adi success story
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
Applied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EEApplied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EE
 
Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
 
What's new in vs 2010 sp1 for web developers
What's new in vs 2010 sp1 for web developersWhat's new in vs 2010 sp1 for web developers
What's new in vs 2010 sp1 for web developers
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integration
 
Azure
AzureAzure
Azure
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 

Jakarta EE 10 Feature by Feature

  • 1. 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) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Ivar Grimstad
 Jakarta EE Developer Advocate Eclipse Foundation Jakarta EE 10 Feature by Feature
  • 3. COPYRIGHT (C) 2022, 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
  • 4.
  • 5.
  • 6. fi le Updated Not Updated New 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
  • 7. #JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad Jakarta EE 10 Core Pro fi le Updated Not Updated New 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
  • 8. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 10 API source level: Java SE 11 API binary level: Java SE 11 TCK run with: Java SE 11+ App Developers (YOU) can use Java SE 17 features if you like!!
  • 9. #JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad 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 Jakarta EE 10 Platform Updated Not Updated New
  • 10. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Security 3.0 adding features and evolving the API https://jakarta.ee/speci fi cations/security/
  • 11. Other Updates • Updates to Lower Level SPIs • Jakarta Authorization • Jakarta Authentication • Foundation for Future Work New Authentication Mechanism • OpenID Connect
  • 12. OpenID Connect Authentication Mechanism @OpenIdAuthenticationMechanismDefinition( providerURI = "http://oidc-provider", clientId = "client", clientSecret = "secret", redirectURI = "${baseURL}/Callback", redirectToOriginalResource = true )
  • 13. 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 Jakarta EE 10 Web Pro fi le Updated Not Updated New
  • 14. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Persistence 3.1 adding features and evolving the API https://jakarta.ee/speci fi cations/persistence/
  • 15. UUID as Basic Java Type @Entity public class Item { @Id @GeneratedValue(strategy=GenerationType.UUID) private java.util.UUID id; private String description; … }
  • 16. #JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad 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 Jakarta EE 10 Platform Updated Not Updated New
  • 17. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta RESTful Web Services 3.1 updated API with requested features while maintaining compatibility https://jakarta.ee/speci fi cations/restful-ws/
  • 18. @GET @Produces(MediaType.MULTIPART_FORM_DATA) List<EntityPart> getFiles(…) { List<EntityPart> parts = new ArrayList<>(); 
 … for(File f: dir.listFiles()) { parts.add(EntityPart.withFileName(f.getName) .content(new FileInputStream) .mediaType(“application/pdf”) .build(); } return parts; } multipart/form-data Support
  • 19. Java SE Bootstrap API public static void main(String[] args) { Application app = new MyApplication(); SeBootstrap.start(app); } DEMO
  • 20. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta RESTful Web Services 3.1 Java SE Bootstrap API DukesGreeting { email: “duke@dukes.java", message: “Howdy Jakarta EE 9!” } Jakarta REST Jakarta JSON Binding RESTEasy 6.10
  • 21. #JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad 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 Jakarta EE 10 Platform Updated Not Updated New
  • 22. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE Core Pro fi le Targeting smaller runtimes!
  • 23. #JakartaEE COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) @ivar_grimstad Jakarta EE 10 Core Pro fi le Updated Not Updated New 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
  • 24. Possible Potentially Jakarta EE 10 Core Pro fi le Compatible
  • 25. 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 CDI Lite 4.0
  • 26. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) designed to work in more restricted environments https://jakarta.ee/speci fi cations/cdi/ Jakarta CDI 4.0 Lite
  • 27. New Extensions API “Dynamic” at build time Empty beans.xml “all” -> “annotated” Removal of Deprecated API parts DEMO
  • 28. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo
  • 29. complete-duke 5.1 complete-duke 6.2 Jakarta EE 8 Jakarta EE 9.1 complete-duke 7.0 Jakarta EE 10
  • 30. complete-duke 6.2 Jakarta EE 9.1 complete-duke 5.1 Jakarta EE 8 complete-duke 7.0 Jakarta EE 10
  • 31. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*
  • 33. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Transformation
  • 34. Eclipse Transformer Apache Tomcat Migration Tool b.com/eclipse/transformerhttps://tomcat.apache.org/download-migration.cgi
  • 35. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) IDE
  • 36.
  • 37. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 1. Update Jakarta EE version in pom.xml 2. Fix the imports 3. XML Schema Namespaces 4. Rename properties pre fi xed with javax 5. Rename bootstrapping Files 6. Verify data and dynamic content https://github.com/ivargrimstad/jakartaee-duke/
  • 38. DukesDB DukesRepository DukesService DukesGreeting DukesExtension { email: “duke@dukes.java", message: “Howdy Jakarta EE 10!” } Jakarta REST Jakarta Enterprise Beans Jakarta Persistence Jakarta CDI *********************** Duke says: Hi there! *********************** Jakarta JSON Binding
  • 39. complete-duke 5.1 Jakarta EE 8 complete-duke 6.2 Jakarta EE 9.1 complete-duke 7.0 Jakarta EE 10 core-duke 27.0.0 Jakarta EE 10 
 Core Pro fi le
  • 40. DukesDB DukesRepository DukesService DukesGreeting DukesExtension { email: “duke@dukes.java", message: “Howdy Jakarta EE 10!” } Jakarta REST Jakarta Enterprise Beans Jakarta Persistence Jakarta CDI *********************** Duke says: Hi there! *********************** Jakarta JSON Binding
  • 41. DukesService DukesGreeting DukesExtension { email: “duke@dukes.java", message: “Howdy Jakarta EE 10!” } Jakarta REST Jakarta CDI Jakarta CDI *********************** Duke says: Hi there! *********************** Jakarta JSON Binding Build Compatible Extension
  • 42. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Beyond 10
  • 43. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 11 Starting NOW!
  • 44. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 11 API source level: Java SE 17 API binary level: Java SE 17 TCK run with: Java SE 17+ App Developers (YOU) can use Java SE 21 features if you like!! Speculations
  • 45. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Con fi g Standarizes portable con fi guration from environment-aware sources https://jakarta.ee/speci fi cations/con fi g/
  • 47. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta MVC Standardizes the action-based model-view-controller pattern https://jakarta.ee/speci fi cations/mvc/
  • 49. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta NoSQL Standardizes integration with NoSQL databases https://jakarta.ee/speci fi cations/nosql/
  • 50. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta RPC Standardizes gRPC within Jakarta EE https://jakarta.ee/speci fi cations/rpc/
  • 51. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Data Standardizes the repository pattern for data access https://jakarta.ee/speci fi cations/ Proposal
  • 52. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Functions Standardized Cloud Functions https://jakarta.ee/speci fi cations/ W hat do you THINK?
  • 53. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Summary
  • 54.
  • 55. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*
  • 56. 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
  • 57. Jakarta EE 10 Core Pro fi le Updated Not Updated New 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
  • 58. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 10 API source level: Java SE 11 API binary level: Java SE 11 TCK run with: Java SE 11+ App Developers (YOU) can use Java SE 17 features if you like!!
  • 59. Jakarta EE https://jakarta.ee Jakartablogs
 https://jakartablogs.ee/ Ivar’s Hashtag Jakarta EE https://www.agilejava.eu/category/jakarta-ee/ Demo Code https://github.com/ivargrimstad/jakartaee-duke
  • 60. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)