SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 1
February 17th, 2021
Josh Juneau & Edwin Derks
@javajuneau | @edwinderks
Jakarta EE & MicroProïŹle
2
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 2
About Us
Josh Juneau
Chicago Java Users Group
Executive Board
Application Developer
Database Administrator
Author, Blogger, Podcaster
Apache NetBeans Committer/Java
Champions/Jakarta EE Guardians
Edwin Derks
Software Architect
Author, Blogger, Speaker
Contributor for Jakarta EE
Committer for MicroProïŹle
Member of Jakarta EE Guardians
3
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 3
Agenda
- Demonstrate some cool features with
Jakarta EE and MicroProïŹle that
- are key features
- you possibly don't use everyday
- We will monitor the Q&A in order to answer
your questions and feedback during the
session
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Jakarta EE 9
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
5
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Download Payara Server or Payara Micro (Jakarta EE 8, MP 3.3)
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
5
Get Started Today
6
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Namespace Change
● javax.* to jakarta.*
SpeciïŹcation Documents
Java SE 11 support is not be available out of gate, but will be
with Jakarta EE 9.1
6
Jakarta EE 9 Overview
7
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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
7
Jakarta CDI
8
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
How does one mark a CDI event as asynchronous?
Solution:
Fire the event calling upon the ïŹreAsync() method, passing the event class.
8
Jakarta CDI - Async
9
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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
9
Jakarta JSON Binding
10
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Read a JSON document and convert it into a Java object
Utilize default JSON binding mapping to quickly map a POJO.
10
Jakarta JSON Binding
11
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Create JSON from a Java Object
11
Jakarta JSON Binding
12
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
- 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
12
Jakarta JSON Processing
13
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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 13
Jakarta JSON Processing
14
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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..
14
Jakarta Server Faces
15
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
JAX-RS Client
The examples utilize JSF views and @ViewScoped controller classes to
interact with remote web services to update the database.
15
Jakarta RESTful Web Services
16
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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
16
Jakarta RESTful Web Services
17
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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
17
Jakarta Security
18
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Validate ïŹeld content using simple annotations
- Support for more ïŹ‚exible 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
18
Jakarta Bean Validation
19
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Updated in latest releases:
- Streams
- Repeatable Annotations
- Date-Time API
- CDI Injection in AttributeConverters
19
Jakarta Persistence
20
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
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
20
Jakarta WebSockets
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
MicroProïŹle
22
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 22
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
23
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 23
MicroProïŹle - ConïŹg
Property injection
● This speciïŹcation is not part of Jakarta EE
○ 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
24
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 24
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
25
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 25
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
26
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 26
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
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Infrastructure
28
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Ship your dependencies as part of the infrastructure
● Download and ship your project's dependency together with the
Docker Image
28
Docker Image
29
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
Thank you!
COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)

Weitere Àhnliche Inhalte

Was ist angesagt?

JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module SystemWolfgang Weigend
 
2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)Mike Milinkovich
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 
3983 cics java real life projects
3983   cics java real life projects3983   cics java real life projects
3983 cics java real life projectsnick_garrod
 
ïżŒEJB and CDI - Alignment and Strategy
ïżŒEJB and CDI - Alignment and StrategyïżŒEJB and CDI - Alignment and Strategy
ïżŒEJB and CDI - Alignment and StrategyDavid Delabassee
 
OAE Developer Bootcamp
OAE Developer BootcampOAE Developer Bootcamp
OAE Developer BootcampBert Pareyn
 
MySQL
MySQLMySQL
MySQLPT.JUG
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEReza Rahman
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemWolfgang Weigend
 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Hirofumi Iwasaki
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...VMware Tanzu
 
CA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iCA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iGeorge Jeffcock
 

Was ist angesagt? (20)

JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
3983 cics java real life projects
3983   cics java real life projects3983   cics java real life projects
3983 cics java real life projects
 
Jakarta EE æœ€ć‰ç·š - Jakarta EEăźçŸćœšă€ăƒ­ăƒŒăƒ‰ăƒžăƒƒăƒ—ăȘど
Jakarta EE æœ€ć‰ç·š - Jakarta EEăźçŸćœšă€ăƒ­ăƒŒăƒ‰ăƒžăƒƒăƒ—ăȘどJakarta EE æœ€ć‰ç·š - Jakarta EEăźçŸćœšă€ăƒ­ăƒŒăƒ‰ăƒžăƒƒăƒ—ăȘど
Jakarta EE æœ€ć‰ç·š - Jakarta EEăźçŸćœšă€ăƒ­ăƒŒăƒ‰ăƒžăƒƒăƒ—ăȘど
 
ïżŒEJB and CDI - Alignment and Strategy
ïżŒEJB and CDI - Alignment and StrategyïżŒEJB and CDI - Alignment and Strategy
ïżŒEJB and CDI - Alignment and Strategy
 
OAE Developer Bootcamp
OAE Developer BootcampOAE Developer Bootcamp
OAE Developer Bootcamp
 
MySQL
MySQLMySQL
MySQL
 
Liferay with xebia
Liferay with xebiaLiferay with xebia
Liferay with xebia
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EE
 
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
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
Oracle Mobile Cloud Service
Oracle Mobile Cloud ServiceOracle Mobile Cloud Service
Oracle Mobile Cloud Service
 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
AltoWebcorporateOverview
AltoWebcorporateOverviewAltoWebcorporateOverview
AltoWebcorporateOverview
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
 
CA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_iCA_Plex_SupportForModernizingIBM_DB2_for_i
CA_Plex_SupportForModernizingIBM_DB2_for_i
 

Ähnlich wie Jakarta EE and MicroProfile Tech Talk

Jakarta EE for Spring Developers
Jakarta EE for Spring DevelopersJakarta EE for Spring Developers
Jakarta EE for Spring DevelopersIvar Grimstad
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsIvar Grimstad
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight CloudJakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight CloudIvar Grimstad
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsIvar Grimstad
 
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10Attention Java Developers - Everything YOU need to Know About Jakarta EE 10
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10Ivar Grimstad
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications Ivar Grimstad
 
Jakarta EE 10: Simplicity for Modern and Lightweight Cloud Applications
Jakarta EE 10: Simplicity for Modern and Lightweight  Cloud ApplicationsJakarta EE 10: Simplicity for Modern and Lightweight  Cloud Applications
Jakarta EE 10: Simplicity for Modern and Lightweight Cloud ApplicationsIvar Grimstad
 
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 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Edward Burns
 
Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Josh Juneau
 
Jakarta EE 10 - Feature by Feature
Jakarta EE 10 - Feature by FeatureJakarta EE 10 - Feature by Feature
Jakarta EE 10 - Feature by FeatureIvar Grimstad
 
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
 
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
 
Modern and Lightweight Cloud Application Development with Jakarta EE 10
Modern and Lightweight Cloud Application Development with Jakarta EE 10Modern and Lightweight Cloud Application Development with Jakarta EE 10
Modern and Lightweight Cloud Application Development with Jakarta EE 10Ivar Grimstad
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse TransformerJakarta_EE
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 
Spring technical interview questions
Spring technical interview questions Spring technical interview questions
Spring technical interview questions SkillPracticalEdTech
 
Easing offline web application development with GWT
Easing offline web application development with GWTEasing offline web application development with GWT
Easing offline web application development with GWTArnaud Tournier
 
Cloud nativemicroservices jax-london2020
Cloud nativemicroservices   jax-london2020Cloud nativemicroservices   jax-london2020
Cloud nativemicroservices jax-london2020Emily Jiang
 

Ähnlich wie Jakarta EE and MicroProfile Tech Talk (20)

Jakarta EE for Spring Developers
Jakarta EE for Spring DevelopersJakarta EE for Spring Developers
Jakarta EE for Spring Developers
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight CloudJakarta EE 10 - Simplicity for Modern and Lighweight Cloud
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
 
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10Attention Java Developers - Everything YOU need to Know About Jakarta EE 10
Attention Java Developers - Everything YOU need to Know About Jakarta EE 10
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
 
Jakarta EE 10: Simplicity for Modern and Lightweight Cloud Applications
Jakarta EE 10: Simplicity for Modern and Lightweight  Cloud ApplicationsJakarta EE 10: Simplicity for Modern and Lightweight  Cloud Applications
Jakarta EE 10: Simplicity for Modern and Lightweight Cloud Applications
 
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 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020
 
Jakarta EE 10 - Feature by Feature
Jakarta EE 10 - Feature by FeatureJakarta EE 10 - Feature by Feature
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 Citizen
 
OpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptxOpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptx
 
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
 
Modern and Lightweight Cloud Application Development with Jakarta EE 10
Modern and Lightweight Cloud Application Development with Jakarta EE 10Modern and Lightweight Cloud Application Development with Jakarta EE 10
Modern and Lightweight Cloud Application Development with Jakarta EE 10
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse Transformer
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Spring technical interview questions
Spring technical interview questions Spring technical interview questions
Spring technical interview questions
 
Easing offline web application development with GWT
Easing offline web application development with GWTEasing offline web application development with GWT
Easing offline web application development with GWT
 
Cloud nativemicroservices jax-london2020
Cloud nativemicroservices   jax-london2020Cloud nativemicroservices   jax-london2020
Cloud nativemicroservices jax-london2020
 

Mehr von Josh Juneau

Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Josh Juneau
 
Jakarta EE Recipes
Jakarta EE RecipesJakarta EE Recipes
Jakarta EE RecipesJosh Juneau
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesJosh Juneau
 
Lightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileLightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileJosh Juneau
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 RecipesJosh 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 MVCJosh Juneau
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the HorizonJosh Juneau
 
Java EE 7 Recipes
Java EE 7 RecipesJava EE 7 Recipes
Java EE 7 RecipesJosh 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 2014Josh Juneau
 

Mehr von Josh Juneau (9)

Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Migrating to Jakarta EE 10
Migrating to Jakarta EE 10
 
Jakarta EE Recipes
Jakarta EE RecipesJakarta EE Recipes
Jakarta EE Recipes
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with Microservices
 
Lightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileLightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfile
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
 
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
 
Java EE 8: On the Horizon
Java EE 8:  On the HorizonJava EE 8:  On the Horizon
Java EE 8: On the Horizon
 
Java EE 7 Recipes
Java EE 7 RecipesJava EE 7 Recipes
Java EE 7 Recipes
 
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
 

KĂŒrzlich hochgeladen

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

KĂŒrzlich hochgeladen (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Jakarta EE and MicroProfile Tech Talk

  • 1. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 1 February 17th, 2021 Josh Juneau & Edwin Derks @javajuneau | @edwinderks Jakarta EE & MicroProïŹle
  • 2. 2 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 2 About Us Josh Juneau Chicago Java Users Group Executive Board Application Developer Database Administrator Author, Blogger, Podcaster Apache NetBeans Committer/Java Champions/Jakarta EE Guardians Edwin Derks Software Architect Author, Blogger, Speaker Contributor for Jakarta EE Committer for MicroProïŹle Member of Jakarta EE Guardians
  • 3. 3 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 3 Agenda - Demonstrate some cool features with Jakarta EE and MicroProïŹle that - are key features - you possibly don't use everyday - We will monitor the Q&A in order to answer your questions and feedback during the session
  • 4. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 9 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  • 5. 5 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Download Payara Server or Payara Micro (Jakarta EE 8, MP 3.3) 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 5 Get Started Today
  • 6. 6 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Namespace Change ● javax.* to jakarta.* SpeciïŹcation Documents Java SE 11 support is not be available out of gate, but will be with Jakarta EE 9.1 6 Jakarta EE 9 Overview
  • 7. 7 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 7 Jakarta CDI
  • 8. 8 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How does one mark a CDI event as asynchronous? Solution: Fire the event calling upon the ïŹreAsync() method, passing the event class. 8 Jakarta CDI - Async
  • 9. 9 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 9 Jakarta JSON Binding
  • 10. 10 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Read a JSON document and convert it into a Java object Utilize default JSON binding mapping to quickly map a POJO. 10 Jakarta JSON Binding
  • 11. 11 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Create JSON from a Java Object 11 Jakarta JSON Binding
  • 12. 12 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) - 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 12 Jakarta JSON Processing
  • 13. 13 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 13 Jakarta JSON Processing
  • 14. 14 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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.. 14 Jakarta Server Faces
  • 15. 15 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) JAX-RS Client The examples utilize JSF views and @ViewScoped controller classes to interact with remote web services to update the database. 15 Jakarta RESTful Web Services
  • 16. 16 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 16 Jakarta RESTful Web Services
  • 17. 17 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 17 Jakarta Security
  • 18. 18 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Validate ïŹeld content using simple annotations - Support for more ïŹ‚exible 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 18 Jakarta Bean Validation
  • 19. 19 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Updated in latest releases: - Streams - Repeatable Annotations - Date-Time API - CDI Injection in AttributeConverters 19 Jakarta Persistence
  • 20. 20 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 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 20 Jakarta WebSockets
  • 21. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) MicroProïŹle
  • 22. 22 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 22 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
  • 23. 23 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 23 MicroProïŹle - ConïŹg Property injection ● This speciïŹcation is not part of Jakarta EE ○ 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
  • 24. 24 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 24 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
  • 25. 25 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 25 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
  • 26. 26 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 26 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
  • 27. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Infrastructure
  • 28. 28 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Ship your dependencies as part of the infrastructure ● Download and ship your project's dependency together with the Docker Image 28 Docker Image
  • 29. 29 COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  • 30. Thank you! COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)