SlideShare a Scribd company logo
Jakarta EE & MicroProle
2
About Us
Josh Juneau
Application Developer
Database Administrator
Author, Blogger, Podcaster
Apache NetBeans Committer/Java
Champions/Jakarta EE Guardians
Chicago Java Users Group Executive Board
Edwin Derks
Software Architect
Author, Blogger, Speaker
Contributor for Jakarta EE
Committer for MicroProle
Member of Jakarta EE Guardians
@edwinderks
Jakarta EE and MicroProfile - EclipseCon 2020
4
Agenda
- Demonstrate some cool features with Jakarta EE and MicroProle that you
don't use everyday
- We will monitor the Q&A in order to answer your questions and feedback
during the session
5
Jakarta EE 9
6
Get Started Today
Download GlassFish 6, Payara Runtime and others?
Incorporate the dependencies into your project...the examples in this presentation
use Jakarta EE 8.
Jakarta EE 9 will NOT be backward compatible with Jakarta EE 8.
Specication Documents
Examples for this demo:
https://github.com/juneau001/JakartaEE-MicroProle-Demos
7
Jakarta EE 9 Overview
Namespace Change
● javax.* to jakarta.*
Specication Documents
Java SE 11 may not be available out of gate, but will be with Jakarta EE 9.1
8
Jakarta CDI
Latest Additions:
- Modularization, support for Java SE
- Observers Ordering
- Asynchronous Events
- Congurators for major SPI elements
- Congure or Veto Observer Methods
- Apply Interceptor on Producers
9
Jakarta CDI - Async
How does one mark a CDI event as asynchronous?
Solution:
Fire the event calling upon the reAsync() method, passing the event class.
10
Jakarta CDI - Async
Example of logging on event execution:
Utilize @ObservesAsync to reserve an asynchronous event.
11
Jakarta JSON Binding
Standard binding layer for converting Java objects to/from JSON.
- Serialize/de-serialize objects to/from JSON
- Mapping of Primitive Types
- Serialize Collections and Maps
12
Jakarta JSON Binding
Read a JSON document and convert it into a Java object
Utilize default JSON binding mapping to quickly map a POJO.
13
Jakarta JSON Binding
Create JSON from a Java Object
14
Jakarta JSON Processing
- Jakarta EE provides an API to parse, transform, and query JSON data using
the object model or streaming model
- JsonObjectBuilder is used to build a JSON object
- Call upon the Json.createObjectBuilder() method to create a
JsonObjectBuilder.
- Call upon the Json.createArrayBuilder() method to create a JsonArray
15
Jakarta JSON Processing
JSON Pointer and JSON Patch
JSON Pointer allows one to point to a particular element within a JSON Structure
Utilize JSON Patch to replace a specied value within a JSON document with
another value.
- Editing/Transformation Operations Added to the JSON Object Model
JSON denes only two data structures: Objects, Arrays
JSON dene seven value types: String, number, object, array, true, false, null
16
Jakarta Server Faces
LocalDateTime Conversion
Ability to convert Date-Time API values to/from expression language
JSF as Microservices Front End
The examples utilize JSF views and @ViewScoped controller classes to interact
with remote web services, which in-turn, performs transactions against an
RDBMS..
17
Jakarta RESTful Web Services
JAX-RS Client
The examples utilize JSF views and @ViewScoped controller classes to interact
with remote web services to update the database.
18
Jakarta RESTful Web Services
Server Sent Events
- One way communication channel
- Text protocol, “text/event-stream” media type
- Multiple Messages
- Retry interval
SSEEventSink used to send stream of messages
SSEEvent is base event class, OutboundSseEvent packages an event
19
Jakarta Security
Standard Security Provided
- Ability to apply across multiple identity stores: Database, LDAP, Embedded
- Annotations for ease of development
- Remembers caller (cookie, identity store)
- Group to Role Mapping
- Standard expression language accessors
- Simplied HttpAuthenticationMechanism interface with three default
implementations: basic, form, LDAP
20
Jakarta Bean Validation
Validate eld content using simple annotations
- Support for more flexible cascaded validation of constraint types
- Support for java.util.Optional
- Support for @Past and @Future
- New annotations: @Email, @NotEmpty, @NotBlank, @Positive,
@PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent,
@FutureOrPresent
21
Jakarta Persistence
Updated in latest releases:
- Streams
- Repeatable Annotations
- Date-Time API
- CDI Injection in AttributeConverters
22
Jakarta WebSockets
Full-Duplex Communication Between Peers
- Create a WebSocket endpoint by annotating a POJO with @ServerEndpoint
- Create a message receiver method and annotate with @OnMessage
- Supports:
- @OnOpen
- @OnError
23
MicroProle
24
MicroProle - Health
Health probes for Kubernetes
- Liveness vs Readiness probes
- liveness probe; restart container when not healthy
- readiness probe; when container is ready to receive trac
Example:
- Programmatic readiness probe
25
MicroProle - Cong
Property injection
- This specication is not part of the Jakarta EE (yet)
- Spring Framework/Boot does also contain this feature
- Can inject properties provided by the app or the environment, like Kubernetes
Example: Inject in Jakarta EE JAX-RS endpoint
- This is an example of where Jakarta EE and MicroProle complement each other
MicroProle - RestClient
HTTP client specication
- JAX-RS and MP RestClient both have programmatic client
- MP RestClient can annotate interfaces
Example:
- Use CDI and MP Cong to inject the MP RestClient with an
environment-specic URL
MicroProle - FaultTolerance
Increase the success rate of your requests by adding resilience to requests
Good practice to add:
- @Retry how many times will the request be repeated on error
- @Timeout how long will the client wait for a response
- @Fallback what will the behaviour be when no retries are left
MicroProle - FaultTolerance
Increase the success rate of your requests by adding resilience to requests
More advanced tuning of resilience:
- @CircuitBreaker fail incoming requests when calls to a downstream service
are subsequently failing over a dened threshold
- @Bulkhead Limit concurrent requests to a downstream service
29
Infrastructure
Docker Image
Ship your dependencies as part of the infrastructure
- Download and ship project's dependency to the Docker Image
31
@EclipseCon | #EclipseCon
-1 0 +1
Ad

More Related Content

What's hot (20)

DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
Kevin Sutter
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
Kevin Sutter
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
Mallikarjuna G D
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
Edward Burns
 
Top 8 benefits of react js
Top 8 benefits of react jsTop 8 benefits of react js
Top 8 benefits of react js
Rani Sinha
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open Source
Justin Reock
 
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDKComparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK
Firmansyah, SCJP, OCEWCD, OCEWSD, TOGAF, OCMJEA, CEH
 
Liferay 7
Liferay 7Liferay 7
Liferay 7
Son Nguyen
 
Spring Framework 5.2: Core Container Revisited
Spring Framework 5.2: Core Container RevisitedSpring Framework 5.2: Core Container Revisited
Spring Framework 5.2: Core Container Revisited
VMware Tanzu
 
Liferay Configuration and Customization
Liferay Configuration and CustomizationLiferay Configuration and Customization
Liferay Configuration and Customization
Thành Nguyễn
 
Serverless Spring
Serverless SpringServerless Spring
Serverless Spring
VMware Tanzu
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
 
Liferay on docker
Liferay on dockerLiferay on docker
Liferay on docker
Geeta Raghu Vamsi Kotipalli
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
 
Brouchure
BrouchureBrouchure
Brouchure
IIDS NGL
 
ďżźEJB and CDI - Alignment and Strategy
ďżźEJB and CDI - Alignment and StrategyďżźEJB and CDI - Alignment and Strategy
ďżźEJB and CDI - Alignment and Strategy
David Delabassee
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6
Jeffrey West
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
Oracle Korea
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
 
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
Kevin Sutter
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
Kevin Sutter
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
Mallikarjuna G D
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
Edward Burns
 
Top 8 benefits of react js
Top 8 benefits of react jsTop 8 benefits of react js
Top 8 benefits of react js
Rani Sinha
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open Source
Justin Reock
 
Liferay 7
Liferay 7Liferay 7
Liferay 7
Son Nguyen
 
Spring Framework 5.2: Core Container Revisited
Spring Framework 5.2: Core Container RevisitedSpring Framework 5.2: Core Container Revisited
Spring Framework 5.2: Core Container Revisited
VMware Tanzu
 
Liferay Configuration and Customization
Liferay Configuration and CustomizationLiferay Configuration and Customization
Liferay Configuration and Customization
Thành Nguyễn
 
Serverless Spring
Serverless SpringServerless Spring
Serverless Spring
VMware Tanzu
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
Eugene Bogaart
 
Brouchure
BrouchureBrouchure
Brouchure
IIDS NGL
 
ďżźEJB and CDI - Alignment and Strategy
ďżźEJB and CDI - Alignment and StrategyďżźEJB and CDI - Alignment and Strategy
ďżźEJB and CDI - Alignment and Strategy
David Delabassee
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6
Jeffrey West
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
Oracle Korea
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
 

Similar to Jakarta EE and MicroProfile - EclipseCon 2020 (20)

Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Migrating to Jakarta EE 10
Migrating to Jakarta EE 10
Josh Juneau
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
Kevin Sutter
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Reactjs
ReactjsReactjs
Reactjs
Mallikarjuna G D
 
Java ee7 1hour
Java ee7 1hourJava ee7 1hour
Java ee7 1hour
Frank Rodriguez
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and Future
Payara
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
Arun Gupta
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overview
Kevin Sutter
 
Intro react js
Intro react jsIntro react js
Intro react js
Vijayakanth MP
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with Microservices
Josh Juneau
 
React JS Interview Questions PDF By ScholarHat
React JS Interview Questions PDF By ScholarHatReact JS Interview Questions PDF By ScholarHat
React JS Interview Questions PDF By ScholarHat
Scholarhat
 
CV_PrasantKumar
CV_PrasantKumarCV_PrasantKumar
CV_PrasantKumar
Prashant Rai
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019
Matt Raible
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
Josh Juneau
 
reactJS
reactJSreactJS
reactJS
Syam Santhosh
 
Data access
Data accessData access
Data access
Joshua Yoon
 
Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Migrating to Jakarta EE 10
Migrating to Jakarta EE 10
Josh Juneau
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
Kevin Sutter
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and Future
Payara
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
Arun Gupta
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overview
Kevin Sutter
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with Microservices
Josh Juneau
 
React JS Interview Questions PDF By ScholarHat
React JS Interview Questions PDF By ScholarHatReact JS Interview Questions PDF By ScholarHat
React JS Interview Questions PDF By ScholarHat
Scholarhat
 
CV_PrasantKumar
CV_PrasantKumarCV_PrasantKumar
CV_PrasantKumar
Prashant Rai
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
fulv
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019
Matt Raible
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
Josh Juneau
 
Data access
Data accessData access
Data access
Joshua Yoon
 
Ad

More from Josh Juneau (6)

Jakarta EE Recipes
Jakarta EE RecipesJakarta EE Recipes
Jakarta EE Recipes
Josh Juneau
 
Lightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileLightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfile
Josh Juneau
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Josh Juneau
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
Josh Juneau
 
Java EE 7 Recipes
Java EE 7 RecipesJava EE 7 Recipes
Java EE 7 Recipes
Josh Juneau
 
Java EE 7 Recipes for Concurrency - JavaOne 2014
Java EE 7 Recipes for Concurrency - JavaOne 2014Java EE 7 Recipes for Concurrency - JavaOne 2014
Java EE 7 Recipes for Concurrency - JavaOne 2014
Josh Juneau
 
Jakarta EE Recipes
Jakarta EE RecipesJakarta EE Recipes
Jakarta EE Recipes
Josh Juneau
 
Lightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileLightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfile
Josh Juneau
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Josh Juneau
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
Josh Juneau
 
Java EE 7 Recipes
Java EE 7 RecipesJava EE 7 Recipes
Java EE 7 Recipes
Josh Juneau
 
Java EE 7 Recipes for Concurrency - JavaOne 2014
Java EE 7 Recipes for Concurrency - JavaOne 2014Java EE 7 Recipes for Concurrency - JavaOne 2014
Java EE 7 Recipes for Concurrency - JavaOne 2014
Josh Juneau
 
Ad

Recently uploaded (20)

UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 

Jakarta EE and MicroProfile - EclipseCon 2020

  • 1. Jakarta EE & MicroProle
  • 2. 2 About Us Josh Juneau Application Developer Database Administrator Author, Blogger, Podcaster Apache NetBeans Committer/Java Champions/Jakarta EE Guardians Chicago Java Users Group Executive Board Edwin Derks Software Architect Author, Blogger, Speaker Contributor for Jakarta EE Committer for MicroProle Member of Jakarta EE Guardians @edwinderks
  • 4. 4 Agenda - Demonstrate some cool features with Jakarta EE and MicroProle that you don't use everyday - We will monitor the Q&A in order to answer your questions and feedback during the session
  • 6. 6 Get Started Today Download GlassFish 6, Payara Runtime and others? Incorporate the dependencies into your project...the examples in this presentation use Jakarta EE 8. Jakarta EE 9 will NOT be backward compatible with Jakarta EE 8. Specication Documents Examples for this demo: https://github.com/juneau001/JakartaEE-MicroProle-Demos
  • 7. 7 Jakarta EE 9 Overview Namespace Change ● javax.* to jakarta.* Specication Documents Java SE 11 may not be available out of gate, but will be with Jakarta EE 9.1
  • 8. 8 Jakarta CDI Latest Additions: - Modularization, support for Java SE - Observers Ordering - Asynchronous Events - Congurators for major SPI elements - Congure or Veto Observer Methods - Apply Interceptor on Producers
  • 9. 9 Jakarta CDI - Async How does one mark a CDI event as asynchronous? Solution: Fire the event calling upon the reAsync() method, passing the event class.
  • 10. 10 Jakarta CDI - Async Example of logging on event execution: Utilize @ObservesAsync to reserve an asynchronous event.
  • 11. 11 Jakarta JSON Binding Standard binding layer for converting Java objects to/from JSON. - Serialize/de-serialize objects to/from JSON - Mapping of Primitive Types - Serialize Collections and Maps
  • 12. 12 Jakarta JSON Binding Read a JSON document and convert it into a Java object Utilize default JSON binding mapping to quickly map a POJO.
  • 13. 13 Jakarta JSON Binding Create JSON from a Java Object
  • 14. 14 Jakarta JSON Processing - Jakarta EE provides an API to parse, transform, and query JSON data using the object model or streaming model - JsonObjectBuilder is used to build a JSON object - Call upon the Json.createObjectBuilder() method to create a JsonObjectBuilder. - Call upon the Json.createArrayBuilder() method to create a JsonArray
  • 15. 15 Jakarta JSON Processing JSON Pointer and JSON Patch JSON Pointer allows one to point to a particular element within a JSON Structure Utilize JSON Patch to replace a specied value within a JSON document with another value. - Editing/Transformation Operations Added to the JSON Object Model JSON denes only two data structures: Objects, Arrays JSON dene seven value types: String, number, object, array, true, false, null
  • 16. 16 Jakarta Server Faces LocalDateTime Conversion Ability to convert Date-Time API values to/from expression language JSF as Microservices Front End The examples utilize JSF views and @ViewScoped controller classes to interact with remote web services, which in-turn, performs transactions against an RDBMS..
  • 17. 17 Jakarta RESTful Web Services JAX-RS Client The examples utilize JSF views and @ViewScoped controller classes to interact with remote web services to update the database.
  • 18. 18 Jakarta RESTful Web Services Server Sent Events - One way communication channel - Text protocol, “text/event-stream” media type - Multiple Messages - Retry interval SSEEventSink used to send stream of messages SSEEvent is base event class, OutboundSseEvent packages an event
  • 19. 19 Jakarta Security Standard Security Provided - Ability to apply across multiple identity stores: Database, LDAP, Embedded - Annotations for ease of development - Remembers caller (cookie, identity store) - Group to Role Mapping - Standard expression language accessors - Simplied HttpAuthenticationMechanism interface with three default implementations: basic, form, LDAP
  • 20. 20 Jakarta Bean Validation Validate eld content using simple annotations - Support for more flexible cascaded validation of constraint types - Support for java.util.Optional - Support for @Past and @Future - New annotations: @Email, @NotEmpty, @NotBlank, @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent, @FutureOrPresent
  • 21. 21 Jakarta Persistence Updated in latest releases: - Streams - Repeatable Annotations - Date-Time API - CDI Injection in AttributeConverters
  • 22. 22 Jakarta WebSockets Full-Duplex Communication Between Peers - Create a WebSocket endpoint by annotating a POJO with @ServerEndpoint - Create a message receiver method and annotate with @OnMessage - Supports: - @OnOpen - @OnError
  • 24. 24 MicroProle - Health Health probes for Kubernetes - Liveness vs Readiness probes - liveness probe; restart container when not healthy - readiness probe; when container is ready to receive trac Example: - Programmatic readiness probe
  • 25. 25 MicroProle - Cong Property injection - This specication is not part of the Jakarta EE (yet) - Spring Framework/Boot does also contain this feature - Can inject properties provided by the app or the environment, like Kubernetes Example: Inject in Jakarta EE JAX-RS endpoint - This is an example of where Jakarta EE and MicroProle complement each other
  • 26. MicroProle - RestClient HTTP client specication - JAX-RS and MP RestClient both have programmatic client - MP RestClient can annotate interfaces Example: - Use CDI and MP Cong to inject the MP RestClient with an environment-specic URL
  • 27. MicroProle - FaultTolerance Increase the success rate of your requests by adding resilience to requests Good practice to add: - @Retry how many times will the request be repeated on error - @Timeout how long will the client wait for a response - @Fallback what will the behaviour be when no retries are left
  • 28. MicroProle - FaultTolerance Increase the success rate of your requests by adding resilience to requests More advanced tuning of resilience: - @CircuitBreaker fail incoming requests when calls to a downstream service are subsequently failing over a dened threshold - @Bulkhead Limit concurrent requests to a downstream service
  • 30. Docker Image Ship your dependencies as part of the infrastructure - Download and ship project's dependency to the Docker Image
  • 31. 31