SlideShare a Scribd company logo
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1
Jakarta EE 8 – An Overview of
Features
Josh Juneau
09/10/2019
Juneau001@gmail.com
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0)
AGENDA
2
Brief History of Jakarta EE
Overview of Specifications
Coverage of Newest Features
Looking into the Near Future
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 3
Brief History of Jakarta EE
4COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4
What Exactly is Jakarta EE?
Of course you already know successor to Java EE…but how has it evolved?
• J2EE 1.2 (1999)
• J2EE 1.3 (2001)
• J2EE 1.4 (2003)
• Java EE 5 (2006)
• Java EE 6 (2009)
• Java EE 7 (2013)
• Java EE 8 (2017)
<< Open Sourced to Eclipse Foundation >>
• Jakarta EE is goverened by the Jakarta EE Working Group
• Jakarta EE 8 == Java EE 8
5COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5
What Exactly is Jakarta EE?
• Jakarta EE 8 != Java EE 8
• New Project Naming Convention
• Open Source TCK
• Eclipse GlassFish: Open Source Reference Implementation
• New Specification Process
6COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6
What is EE4J
Top level project in the Eclipse Foundation for all of the projects creating standards to form
the base of Jakarta EE.
EE4J Project Management Committee (PMC) is responsible for maintaining the overall vision
for the top level project, and it will set standards and requirements for releases.
All of the individual projects of the Jakarta EE Platform are under the EE4J umbrella, and
together, they unify to form the Jakarta EE Platform.
7COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7
How to Get Started Today
● Download Eclipse GlassFish 5.1 (Utilize Payara 5.x for JDK 11+ support)
○ https://projects.eclipse.org/projects/ee4j.glassfish
● Incorporate the specifications into your project
● Great examples:
○ https://github.com/juneau001/JakartaEE-Playground
○ https://projects.eclipse.org/projects/ee4j.jakartaee-platform/developer
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8
Overview of Specifications
9COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9
Jakarta EE 8 Projects
o Jakarta Annotations
o Jakarta Authentication
o Jakarta Authorization
o Jakarta Batch
o Jakarta Bean Validation
o Jakarta Concurrency
o Jakarta Connectors
o Jakarta Contexts and
Dependency Injection
o Jakarta EE Platform
o Jakarta Enterprise Beans
o Jakarta Expression Language
o Jakarta Interceptors
o Jakarta JSON Binding
o Jakarta JSON Processing
o Jakarta Mail
o Jakarta Messaging
o Jakarta Persistence
o Jakarta RESTful Web Services
o Jakarta Security
o Jakarta Server Faces
o Jakarta Server Pages
o Jakarta Servlet
o Jakarta Stable APIs
o Jakarta Standard Tag Library
o Jakarta Transactions
o Jakarta WebSocket
o Jakarta XML Web Services
10COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10
Jakarta EE 8 Most Recently
Updated Projects
Maintenance Releases
o Jakarta Contexts and
Dependency Injection (2.0)
o Jakarta JSON Binding (1.0.2)
o Jakarta JSON Processing
(1.1.6)
o Jakarta Servlet (4.0.3)
o Jakarta Faces (JSF) (2.3)
o Jakarta RESTful Web Services
(2.1.6)
o Jakarta Bean Validation (2.0)
o Jakarta Security (1.0.2)
o Jakarta Mail
o Jakarta Persistence
o Jakarta Interceptors
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11
Jakarta EE Project Portfolio
12COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12
Jakarta Annotations Overview
Annotations for common semantic concepts in the J2SE and J2EE platforms that apply
across a variety of individual technologies.
Release 1.3.5
13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13
Jakarta Authentication Overview
The Java Authentication Service Provider Interface for Containers (JASPIC) defines a service
provider interface (SPI) by which authentication providers that implement message
authentication mechanisms may be integrated in client or server message processing
containers or runtimes.
Release 1.1.3
14COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 14
Jakarta Authorization Overview
The Java Authorization Contract for Containers (JACC) defines a contract between a Jakarta
EE application server and an authorization policy provider.
Release 1.6.2
15COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15
Jakarta Batch Overview
The Jakarta Batch project describes the XML-based job specification language (JSL), Java
programming model, and runtime environment for batch applications for the Java platform.
Release 1.0
16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16
Jakarta Bean Validation Overview
The Jakarta Batch project describes the XML-based job specification language (JSL), Java
programming model, and runtime environment for batch applications for the Java platform.
Release 2.0
17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 17
Jakarta Concurrency Overview
Jakarta Concurrency provides a specification document, API and TCK for using concurrency
from application components without compromising container integrity while still
preserving the Jakarta EE platform's fundamental benefits.
Release
1.1.2
18COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18
Jakarta Connectors Overview
The Jakarta EE Connector Architecture defines a standard architecture for Jakarta EE
application components to connect to Enterprise Information Systems.
Release 1.7.3
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19
Jakarta Contexts and Dependency Injection
20COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20
Jakarta CDI Overview
o Key technology for Jakarta EE
o Uniform architecture for dependency injection and lifecycle management
o Leveraged by collaborative technologies
o Event Notification Model
o Web Conversation Context
o Powerful SPI for Portable Extensions
o 3 Parts:
o Core Specification
o Java SE Features
o Jakarta EE Features
Release 2.0
21COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21
Jakarta CDI: Observers Ordering
o Allows one to specify a priority on observers
o Apply the @Priority annotation to observer methods, indicating a
javax.interceptor.Interceptor.Priority
public void onEvent(@Observes @Priority(1) MyEvent event){
// implementation
}
public void onAnotherEvent(@Observes @Priority(2) MyEvent event){
// implementation
}
22COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22
Jakarta CDI: Async Events
o Provides ability for events to process in an asynchronous manner
o Annotate observer method parameter with @ObservesAsync
o Call upon fireAsync() to fire event
@Inject
BeanManager beanManager;
public void doSomething(){
beanManager.fireAsync(new PayLoad());
}
logEvent.fireAsync(new MessageLogger(“This is only a test.”));
public void listenToPayload(@ObservesAsync Payload event){…}
23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23
Jakarta CDI: Other Features
o Java SE Bootstrap
24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24
Jakarta Enterprise Beans Overview
o Jakarta Enterprise Beans is an architecture for the development and deployment of
component-based business applications.
Release 3.2.4
25COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25
Jakarta Enterprise Beans Overview
No XML needed in most cases…easy to create Stateless and Stateful session beans with
annotations.
26COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 26
Jakarta Expression Language Overview
Expression Language (also referred to as the EL) provides an important mechanism for
enabling the presentation layer (web pages) to communicate with the application logic
(managed beans). -- Release 3.0.3
27COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27
Jakarta Interceptors Overview
Interceptors are used to interpose on business method invocations and specific events such
as lifecycle events and timeout events that occur on instances of Jakarta EE components
and other managed classes.
Release 1.2.4
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28
Jakarta JSON Binding
29COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 29
Jakarta JSON Binding Overview
JSON-B is a standard way to convert Java Objects to and from JSON objects. The project
defines a default mapping algorithm for converting Java POJOs to JSON. The developer may
also customize the mapping via the use of Java annotations.
Release 1.0.2
30COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 30
Jakarta JSON Binding - Mapping
Utilize default JSON binding mapping to quickly map a POJO.
31COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 31
Jakarta JSON Binding – Create JSON
Utilize the same Jsonb object to create JSON from an existing Java class.
32COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 32
Jakarta JSON Binding – Create JSON w/ Lists
Utilize the same Jsonb object to create JSON from an existing Java class.
33COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 33
Jakarta JSON Binding – More Details
● JSON-B API provides serialization and deserialization operations for manipulating JSON
documents to Java
● Default mapping, with custom annotation mapping available for compile-time
● JsonConfig class for runtime mapping customizations
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 34
Jakarta JSON Processing
35COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 35
Jakarta JSON Processing Overview
Eclipse Project for JSON-P is a Java API to process (e.g. parse, generate, transform and query)
JSON documents. It produces and consumes JSON in a streaming fashion (similar to StAX
API for XML) and allows to build a Java object model for JSON using API classes (similar to
DOM API for XML).
Release
1.1.6
36COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 36
Jakarta JSON Latest Features
● JSON Pointer and JSON Patch
● Editing/Transformation Operations Added to JSON Object Model
● Alignment with Java SE 8
37COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 37
Jakarta JSON - Pointers
● JSON Pointers can be utilized to find a specific value within a JSON document
38COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 38
Jakarta JSON – Changing Values
Utilize JSON Patch to replace a specified value within a JSON document with another value.
39COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 39
Jakarta JSON – Changing Values
● JSON Document or JsonPatchBuilder
● JSON Pointer is used to find the value or section that will be patched
● A series of operations can be applied
.
40COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 40
Jakarta Mail Overview
Jakarta Mail defines a platform-independent and protocol-independent framework to build
mail and messaging applications.
Release 1.6.4
41COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 41
Jakarta Messaging Overview
Jakarta Messaging is the Jakarta EE project that was formed from the Java Message Service
(JMS) API.
Java Message Oriented Middleware API for sending messages between two or more clients.
It is a programming model to handle the producer-consumer messaging problem.
Release
2.0.3
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 42
Jakarta Persistence
43COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 43
Jakarta Persistence Overview
The Java Persistence API is the Java API for the management of persistence and
object/relational mapping in Jakarta EE and Java SE environments.
Object-relational mapping is the process of mapping a Java object to a database table, such
that each column of the database table maps to a single field or property within the Java
object. Java objects that are used to map against database tables are referred to as entity
classes, and this chapter focuses on the creation and use of entity classes.
Release 2.2.3
44COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 44
Jakarta Persistence New Features
• Stream Query Results
• @Repeatable Annotations
• Support for the Date-Time API
• Support for CDI Injection within AttributeConverters
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 45
Jakarta RESTful Web Services
46COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 46
Jakarta RESTful Web Services Overview
Jakarta RESTful Web Services provides a specification document, TCK and foundational
API to develop web services following the Representational State Transfer (REST)
architectural pattern.
Release 2.1.6
47COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 47
Jakarta RESTful Web Services New Features
• Improved CDI Integration
• Reactive Client API
• Non-Blocking I/O
48COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 48
Jakarta RESTful Web Services SSE
Create an SSE Resource using JAX-RS, and broadcast server messages to connected clients
at will.
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 49
Jakarta Security
50COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 50
Jakarta Security Overview
The Java EE security provides a set of required security functionalities including
authentication, authorization, data integrity, and transport security.
● Standard Authentication (database, LDAP, in-memory, custom)
● Caller Principal Types
● Authentication Session
● Remember Caller (cookie, identity store)
● Group to Role Mapping
● Expression Language Support
● Identity Store
○ LDAP
○ Database
○ Embedded
● Authentication Mechanism
○ Simplified HttpAuthenticationMechanism interface
Release 1.0.2
51COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 51
Jakarta Security – Role Mapping
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 52
Jakarta Server Faces
53COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 53
Jakarta Server Faces Overview
Jakarta Server Faces defines an MVC framework for building user interfaces for web
applications, including UI components, state management, event handing, input validation,
page navigation, and support for internationalization and accessibility.
Release 2.3
54COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 54
Jakarta Server Faces New Features
• Enhanced CDI Alignment
• WebSocket Integration
• Ajax Method Invocation
• Class Level Validation
• Date-Time API Support
• Iterable/Map/Custom UIData Support
• Component search expressions
• Radio Button Component
• Styleclass Added to h:column
• Basic Support for Extensionless URLs
55COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 55
Jakarta Server Faces – Date/Time Support
Utilize Date-Time support via the f:convertDateTime converter.
56COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 56
Jakarta Server Faces – WebSocket Integration
Utilize the WebSocket tag to maintain an open socket for sending communication to clients.
57COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 57
Jakarta Server Pages Overview
JavaServer Pages (JSP) is a technology that helps software developers create dynamically
generated web pages based on HTML, XML, or other document types.
Release 2.3.5
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 58
Jakarta Servlet
59COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 59
Jakarta Servlet Overview
Jakarta Servlet is the foundation technology for interacting with the web on the Jakarta EE
Platform.
Release 4.0.3
60COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 60
Jakarta Servlet New Features
• Request/Response Multiplexing
• Stream Prioritization
• Server Push
• HTTP/2 Support
61COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 61
Jakarta Servlet – Push API
Utilization of the newer Push API allows one to push resources to a client before the page
is loaded. This allows all of the resources to be included in a single response, rather than
multiple.
62COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 62
Jakarta Stable APIs
This project contains stable (legacy) APIs, RIs and TCKs which won't be developed in future.
• Enterprise Deployment (1.7.1)
• JAXR-API (1.0.9)
• JAX-RPC-API (1.1.3)
• Management API (1.1.3)
Release 1.0.1
63COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 63
Jakarta Standard Tag Library
Jakarta Standard Tag Library (JSTL) encapsulates as simple tags the core functionality
common to many Web applications. JSTL has support for common, structural tasks such as
iteration and conditionals, tags for manipulating XML documents, internationalization tags,
and SQL tags. It also provides a framework for integrating existing custom tags with JSTL
tags.
Release 1.2.4
64COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 64
Jakarta Transactions
Jakarta Transactions API (JTA) specifies standard Java interfaces between a transaction
manager and the parties involved in a distributed transaction system: the resource
manager, the application server, and the transactional applications.
Release 1.3.3
65COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 65
Jakarta WebSocket
Jakarta WebSocket defines an API that can be utilized for integration with WebSockets, both
on the server side as well as the client side. The implementation is provided by the Eclipse
Tyrus project.
Release 1.1.2
66COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 66
Jakarta XML Web Services
The Jakarta XML Web Services is a Java programming language API for creating web services,
particularly SOAP services. Jakarta XML Web Services is one of the Java XML programming
APIs. It is part of the Jakarta EE platform.
Release 2.3.2
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 67
Looking into the Near Future
68COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 68
Jakarta Namespaces
• Convert from javax.* to jakarta.*
• Lots of discussion regarding this change...may be incremental or all at once
69COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 69
Jakarta Server Faces 3.0
• Removal of old cruft
• JSF’s own expression language
• Managed Beans
• Move more artifacts towards CDI
• Action Model (Not to compete with Krazo)
• Extensionless Mapping
70COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 70
Jakarta Security 1.1
● CDI-Compatible @RolesAllowed
● Custom authorization roles
● Possibility of Additional Authentication mechanisms (OAuth2 & Open ID Connect)
71COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 71
Jakarta Concurrency 1.1
● Move EJB Timer Service and @Asynchronous into Concurrency
● Make creation of concurrency services, such as managed executor service, more
portable
72COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 72
Jakarta Expression Language 3.1
● Map to Java SE Lambdas
● Ability to obtain more info from Method and Value expressions
73COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73
We, the developers and community for
Jakarta EE, will make the future of this
platform. Contribute where you can,
develop and provide feedback.
Go Forth & Make It Happen!
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73
COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 74
Thank you!

More Related Content

What's hot

Vlsi design mosfet
Vlsi design mosfetVlsi design mosfet
Vlsi design mosfet
vennila12
 
Class06 transmission line_basics
Class06 transmission line_basicsClass06 transmission line_basics
Class06 transmission line_basics
s.p.c.e.t.
 
Project report-482
Project report-482Project report-482
Project report-482
SaidurRahmanSabbir1
 
Smart Camera as Embedded System
Smart Camera as Embedded SystemSmart Camera as Embedded System
Smart Camera as Embedded System
Punnam Chandar
 
Chapter 3 Charateristics and Quality Attributes of Embedded System
Chapter 3 Charateristics and Quality Attributes of Embedded SystemChapter 3 Charateristics and Quality Attributes of Embedded System
Chapter 3 Charateristics and Quality Attributes of Embedded System
Moe Moe Myint
 
THIRED YEAR MINI PROJECT PPT
THIRED YEAR MINI PROJECT PPTTHIRED YEAR MINI PROJECT PPT
THIRED YEAR MINI PROJECT PPT
MATHAVAN S
 
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain SpecificChapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
Moe Moe Myint
 
High Electron Mobility Transistor
High Electron Mobility TransistorHigh Electron Mobility Transistor
High Electron Mobility Transistor
RCC Institute of Information Technology
 
Arduino based underground cable fault detection
Arduino based underground cable fault detectionArduino based underground cable fault detection
Arduino based underground cable fault detection
Isa Rachman
 
Jsp tag library
Jsp tag libraryJsp tag library
Jsp tag library
sandeep54552
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
anishgoel
 
VLSI Design(Fabrication)
VLSI Design(Fabrication)VLSI Design(Fabrication)
VLSI Design(Fabrication)
Trijit Mallick
 
faults in digital systems
faults in digital systemsfaults in digital systems
faults in digital systems
dennis gookyi
 
Cadence Design Flow.pptx
Cadence Design Flow.pptxCadence Design Flow.pptx
Cadence Design Flow.pptx
KunjPatel615667
 
Vlsi
VlsiVlsi
Three dimensional integrated circuit
Three dimensional integrated circuitThree dimensional integrated circuit
Three dimensional integrated circuit
Arqam Mirza
 
Mosfet unit 2
Mosfet unit 2Mosfet unit 2
Mosfet unit 2
MadhuriMulik1
 
Sih ppt
Sih pptSih ppt
Esd
EsdEsd
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
mgrafl
 

What's hot (20)

Vlsi design mosfet
Vlsi design mosfetVlsi design mosfet
Vlsi design mosfet
 
Class06 transmission line_basics
Class06 transmission line_basicsClass06 transmission line_basics
Class06 transmission line_basics
 
Project report-482
Project report-482Project report-482
Project report-482
 
Smart Camera as Embedded System
Smart Camera as Embedded SystemSmart Camera as Embedded System
Smart Camera as Embedded System
 
Chapter 3 Charateristics and Quality Attributes of Embedded System
Chapter 3 Charateristics and Quality Attributes of Embedded SystemChapter 3 Charateristics and Quality Attributes of Embedded System
Chapter 3 Charateristics and Quality Attributes of Embedded System
 
THIRED YEAR MINI PROJECT PPT
THIRED YEAR MINI PROJECT PPTTHIRED YEAR MINI PROJECT PPT
THIRED YEAR MINI PROJECT PPT
 
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain SpecificChapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
 
High Electron Mobility Transistor
High Electron Mobility TransistorHigh Electron Mobility Transistor
High Electron Mobility Transistor
 
Arduino based underground cable fault detection
Arduino based underground cable fault detectionArduino based underground cable fault detection
Arduino based underground cable fault detection
 
Jsp tag library
Jsp tag libraryJsp tag library
Jsp tag library
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
 
VLSI Design(Fabrication)
VLSI Design(Fabrication)VLSI Design(Fabrication)
VLSI Design(Fabrication)
 
faults in digital systems
faults in digital systemsfaults in digital systems
faults in digital systems
 
Cadence Design Flow.pptx
Cadence Design Flow.pptxCadence Design Flow.pptx
Cadence Design Flow.pptx
 
Vlsi
VlsiVlsi
Vlsi
 
Three dimensional integrated circuit
Three dimensional integrated circuitThree dimensional integrated circuit
Three dimensional integrated circuit
 
Mosfet unit 2
Mosfet unit 2Mosfet unit 2
Mosfet unit 2
 
Sih ppt
Sih pptSih ppt
Sih ppt
 
Esd
EsdEsd
Esd
 
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
 

Similar to Jakarta EE 8: Overview of Features

Cloud Native Java Community Day | EclipseCon Europe 2019
Cloud Native Java Community Day | EclipseCon Europe 2019Cloud Native Java Community Day | EclipseCon Europe 2019
Cloud Native Java Community Day | EclipseCon Europe 2019
Jakarta_EE
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
Jakarta_EE
 
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
Jakarta_EE
 
Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation
Thabang Mashologu
 
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
 
2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report
Thabang Mashologu
 
Building cloud native microservices with project Helidon
Building cloud native microservices with project HelidonBuilding cloud native microservices with project Helidon
Building cloud native microservices with project Helidon
Dmitry Kornilov
 
Iot developer-survey-2019
Iot developer-survey-2019Iot developer-survey-2019
Iot developer-survey-2019
MichaelRodriguesdosS1
 
IoT Developer Survey 2019 Report
IoT Developer Survey 2019 ReportIoT Developer Survey 2019 Report
IoT Developer Survey 2019 Report
Eclipse IoT
 
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro projectAkademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Agustin Benito Bethencourt
 
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
Gaël Blondelle
 
Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)
Thabang Mashologu
 
Jakarta EE 9 Platform Project
Jakarta EE 9 Platform ProjectJakarta EE 9 Platform Project
Jakarta EE 9 Platform Project
Jakarta_EE
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
Edward Burns
 
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
Thabang Mashologu
 
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
Ivar Grimstad
 
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
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
Jakarta_EE
 
OpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptxOpenCloudNative-BeJUG.pptx
OpenCloudNative-BeJUG.pptx
EmilyJiang23
 
Jakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech TalkJakarta EE and MicroProfile Tech Talk
Jakarta EE and MicroProfile Tech Talk
Josh Juneau
 

Similar to Jakarta EE 8: Overview of Features (20)

Cloud Native Java Community Day | EclipseCon Europe 2019
Cloud Native Java Community Day | EclipseCon Europe 2019Cloud Native Java Community Day | EclipseCon Europe 2019
Cloud Native Java Community Day | EclipseCon Europe 2019
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
 
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
 
Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation Cloud Native Java Innovation at the Eclipse Foundation
Cloud Native Java Innovation at the Eclipse Foundation
 
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
 
2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report2019 Jakarta EE Developer Survey Report
2019 Jakarta EE Developer Survey Report
 
Building cloud native microservices with project Helidon
Building cloud native microservices with project HelidonBuilding cloud native microservices with project Helidon
Building cloud native microservices with project Helidon
 
Iot developer-survey-2019
Iot developer-survey-2019Iot developer-survey-2019
Iot developer-survey-2019
 
IoT Developer Survey 2019 Report
IoT Developer Survey 2019 ReportIoT Developer Survey 2019 Report
IoT Developer Survey 2019 Report
 
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro projectAkademy es 2021 the Eclipse Foundation introduction and Oniro project
Akademy es 2021 the Eclipse Foundation introduction and Oniro project
 
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
2019.02 Eclipse Foundation and Eclipse IoT presentation at Eclipse IoT Day Gr...
 
Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)Eclipse Foundation Overview (April 2019)
Eclipse Foundation Overview (April 2019)
 
Jakarta EE 9 Platform Project
Jakarta EE 9 Platform ProjectJakarta EE 9 Platform Project
Jakarta EE 9 Platform Project
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
Eclipse MicroProfile: Accelerating Cloud-Native Application Development with ...
 
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
 
2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)2018.11 eclipse overview (japan meeting)
2018.11 eclipse overview (japan meeting)
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
 
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
 

More from Josh Juneau

Migrating to Jakarta EE 10
Migrating to Jakarta EE 10Migrating to Jakarta EE 10
Migrating to Jakarta EE 10
Josh Juneau
 
Jakarta EE Recipes
Jakarta EE RecipesJakarta EE Recipes
Jakarta EE Recipes
Josh Juneau
 
Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020
Josh Juneau
 
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
 
Lightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfileLightweight Java EE with MicroProfile
Lightweight Java EE with MicroProfile
Josh Juneau
 
Java EE 8 Recipes
Java EE 8 RecipesJava EE 8 Recipes
Java EE 8 Recipes
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
 

More from Josh Juneau (10)

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
 
Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020
 
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
 

Recently uploaded

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 

Recently uploaded (20)

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 

Jakarta EE 8: Overview of Features

  • 1. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 1 Jakarta EE 8 – An Overview of Features Josh Juneau 09/10/2019 Juneau001@gmail.com
  • 2. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) AGENDA 2 Brief History of Jakarta EE Overview of Specifications Coverage of Newest Features Looking into the Near Future
  • 3. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 3 Brief History of Jakarta EE
  • 4. 4COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 4 What Exactly is Jakarta EE? Of course you already know successor to Java EE…but how has it evolved? • J2EE 1.2 (1999) • J2EE 1.3 (2001) • J2EE 1.4 (2003) • Java EE 5 (2006) • Java EE 6 (2009) • Java EE 7 (2013) • Java EE 8 (2017) << Open Sourced to Eclipse Foundation >> • Jakarta EE is goverened by the Jakarta EE Working Group • Jakarta EE 8 == Java EE 8
  • 5. 5COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 5 What Exactly is Jakarta EE? • Jakarta EE 8 != Java EE 8 • New Project Naming Convention • Open Source TCK • Eclipse GlassFish: Open Source Reference Implementation • New Specification Process
  • 6. 6COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 6 What is EE4J Top level project in the Eclipse Foundation for all of the projects creating standards to form the base of Jakarta EE. EE4J Project Management Committee (PMC) is responsible for maintaining the overall vision for the top level project, and it will set standards and requirements for releases. All of the individual projects of the Jakarta EE Platform are under the EE4J umbrella, and together, they unify to form the Jakarta EE Platform.
  • 7. 7COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 7 How to Get Started Today ● Download Eclipse GlassFish 5.1 (Utilize Payara 5.x for JDK 11+ support) ○ https://projects.eclipse.org/projects/ee4j.glassfish ● Incorporate the specifications into your project ● Great examples: ○ https://github.com/juneau001/JakartaEE-Playground ○ https://projects.eclipse.org/projects/ee4j.jakartaee-platform/developer
  • 8. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 8 Overview of Specifications
  • 9. 9COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 9 Jakarta EE 8 Projects o Jakarta Annotations o Jakarta Authentication o Jakarta Authorization o Jakarta Batch o Jakarta Bean Validation o Jakarta Concurrency o Jakarta Connectors o Jakarta Contexts and Dependency Injection o Jakarta EE Platform o Jakarta Enterprise Beans o Jakarta Expression Language o Jakarta Interceptors o Jakarta JSON Binding o Jakarta JSON Processing o Jakarta Mail o Jakarta Messaging o Jakarta Persistence o Jakarta RESTful Web Services o Jakarta Security o Jakarta Server Faces o Jakarta Server Pages o Jakarta Servlet o Jakarta Stable APIs o Jakarta Standard Tag Library o Jakarta Transactions o Jakarta WebSocket o Jakarta XML Web Services
  • 10. 10COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 10 Jakarta EE 8 Most Recently Updated Projects Maintenance Releases o Jakarta Contexts and Dependency Injection (2.0) o Jakarta JSON Binding (1.0.2) o Jakarta JSON Processing (1.1.6) o Jakarta Servlet (4.0.3) o Jakarta Faces (JSF) (2.3) o Jakarta RESTful Web Services (2.1.6) o Jakarta Bean Validation (2.0) o Jakarta Security (1.0.2) o Jakarta Mail o Jakarta Persistence o Jakarta Interceptors
  • 11. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 11 Jakarta EE Project Portfolio
  • 12. 12COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 12 Jakarta Annotations Overview Annotations for common semantic concepts in the J2SE and J2EE platforms that apply across a variety of individual technologies. Release 1.3.5
  • 13. 13COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 13 Jakarta Authentication Overview The Java Authentication Service Provider Interface for Containers (JASPIC) defines a service provider interface (SPI) by which authentication providers that implement message authentication mechanisms may be integrated in client or server message processing containers or runtimes. Release 1.1.3
  • 14. 14COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 14 Jakarta Authorization Overview The Java Authorization Contract for Containers (JACC) defines a contract between a Jakarta EE application server and an authorization policy provider. Release 1.6.2
  • 15. 15COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 15 Jakarta Batch Overview The Jakarta Batch project describes the XML-based job specification language (JSL), Java programming model, and runtime environment for batch applications for the Java platform. Release 1.0
  • 16. 16COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 16 Jakarta Bean Validation Overview The Jakarta Batch project describes the XML-based job specification language (JSL), Java programming model, and runtime environment for batch applications for the Java platform. Release 2.0
  • 17. 17COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 17 Jakarta Concurrency Overview Jakarta Concurrency provides a specification document, API and TCK for using concurrency from application components without compromising container integrity while still preserving the Jakarta EE platform's fundamental benefits. Release 1.1.2
  • 18. 18COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 18 Jakarta Connectors Overview The Jakarta EE Connector Architecture defines a standard architecture for Jakarta EE application components to connect to Enterprise Information Systems. Release 1.7.3
  • 19. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 19 Jakarta Contexts and Dependency Injection
  • 20. 20COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 20 Jakarta CDI Overview o Key technology for Jakarta EE o Uniform architecture for dependency injection and lifecycle management o Leveraged by collaborative technologies o Event Notification Model o Web Conversation Context o Powerful SPI for Portable Extensions o 3 Parts: o Core Specification o Java SE Features o Jakarta EE Features Release 2.0
  • 21. 21COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 21 Jakarta CDI: Observers Ordering o Allows one to specify a priority on observers o Apply the @Priority annotation to observer methods, indicating a javax.interceptor.Interceptor.Priority public void onEvent(@Observes @Priority(1) MyEvent event){ // implementation } public void onAnotherEvent(@Observes @Priority(2) MyEvent event){ // implementation }
  • 22. 22COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 22 Jakarta CDI: Async Events o Provides ability for events to process in an asynchronous manner o Annotate observer method parameter with @ObservesAsync o Call upon fireAsync() to fire event @Inject BeanManager beanManager; public void doSomething(){ beanManager.fireAsync(new PayLoad()); } logEvent.fireAsync(new MessageLogger(“This is only a test.”)); public void listenToPayload(@ObservesAsync Payload event){…}
  • 23. 23COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 23 Jakarta CDI: Other Features o Java SE Bootstrap
  • 24. 24COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 24 Jakarta Enterprise Beans Overview o Jakarta Enterprise Beans is an architecture for the development and deployment of component-based business applications. Release 3.2.4
  • 25. 25COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 25 Jakarta Enterprise Beans Overview No XML needed in most cases…easy to create Stateless and Stateful session beans with annotations.
  • 26. 26COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 26 Jakarta Expression Language Overview Expression Language (also referred to as the EL) provides an important mechanism for enabling the presentation layer (web pages) to communicate with the application logic (managed beans). -- Release 3.0.3
  • 27. 27COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 27 Jakarta Interceptors Overview Interceptors are used to interpose on business method invocations and specific events such as lifecycle events and timeout events that occur on instances of Jakarta EE components and other managed classes. Release 1.2.4
  • 28. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 28 Jakarta JSON Binding
  • 29. 29COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 29 Jakarta JSON Binding Overview JSON-B is a standard way to convert Java Objects to and from JSON objects. The project defines a default mapping algorithm for converting Java POJOs to JSON. The developer may also customize the mapping via the use of Java annotations. Release 1.0.2
  • 30. 30COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 30 Jakarta JSON Binding - Mapping Utilize default JSON binding mapping to quickly map a POJO.
  • 31. 31COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 31 Jakarta JSON Binding – Create JSON Utilize the same Jsonb object to create JSON from an existing Java class.
  • 32. 32COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 32 Jakarta JSON Binding – Create JSON w/ Lists Utilize the same Jsonb object to create JSON from an existing Java class.
  • 33. 33COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 33 Jakarta JSON Binding – More Details ● JSON-B API provides serialization and deserialization operations for manipulating JSON documents to Java ● Default mapping, with custom annotation mapping available for compile-time ● JsonConfig class for runtime mapping customizations
  • 34. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 34 Jakarta JSON Processing
  • 35. 35COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 35 Jakarta JSON Processing Overview Eclipse Project for JSON-P is a Java API to process (e.g. parse, generate, transform and query) JSON documents. It produces and consumes JSON in a streaming fashion (similar to StAX API for XML) and allows to build a Java object model for JSON using API classes (similar to DOM API for XML). Release 1.1.6
  • 36. 36COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 36 Jakarta JSON Latest Features ● JSON Pointer and JSON Patch ● Editing/Transformation Operations Added to JSON Object Model ● Alignment with Java SE 8
  • 37. 37COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 37 Jakarta JSON - Pointers ● JSON Pointers can be utilized to find a specific value within a JSON document
  • 38. 38COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 38 Jakarta JSON – Changing Values Utilize JSON Patch to replace a specified value within a JSON document with another value.
  • 39. 39COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 39 Jakarta JSON – Changing Values ● JSON Document or JsonPatchBuilder ● JSON Pointer is used to find the value or section that will be patched ● A series of operations can be applied .
  • 40. 40COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 40 Jakarta Mail Overview Jakarta Mail defines a platform-independent and protocol-independent framework to build mail and messaging applications. Release 1.6.4
  • 41. 41COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 41 Jakarta Messaging Overview Jakarta Messaging is the Jakarta EE project that was formed from the Java Message Service (JMS) API. Java Message Oriented Middleware API for sending messages between two or more clients. It is a programming model to handle the producer-consumer messaging problem. Release 2.0.3
  • 42. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 42 Jakarta Persistence
  • 43. 43COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 43 Jakarta Persistence Overview The Java Persistence API is the Java API for the management of persistence and object/relational mapping in Jakarta EE and Java SE environments. Object-relational mapping is the process of mapping a Java object to a database table, such that each column of the database table maps to a single field or property within the Java object. Java objects that are used to map against database tables are referred to as entity classes, and this chapter focuses on the creation and use of entity classes. Release 2.2.3
  • 44. 44COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 44 Jakarta Persistence New Features • Stream Query Results • @Repeatable Annotations • Support for the Date-Time API • Support for CDI Injection within AttributeConverters
  • 45. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 45 Jakarta RESTful Web Services
  • 46. 46COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 46 Jakarta RESTful Web Services Overview Jakarta RESTful Web Services provides a specification document, TCK and foundational API to develop web services following the Representational State Transfer (REST) architectural pattern. Release 2.1.6
  • 47. 47COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 47 Jakarta RESTful Web Services New Features • Improved CDI Integration • Reactive Client API • Non-Blocking I/O
  • 48. 48COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 48 Jakarta RESTful Web Services SSE Create an SSE Resource using JAX-RS, and broadcast server messages to connected clients at will.
  • 49. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 49 Jakarta Security
  • 50. 50COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 50 Jakarta Security Overview The Java EE security provides a set of required security functionalities including authentication, authorization, data integrity, and transport security. ● Standard Authentication (database, LDAP, in-memory, custom) ● Caller Principal Types ● Authentication Session ● Remember Caller (cookie, identity store) ● Group to Role Mapping ● Expression Language Support ● Identity Store ○ LDAP ○ Database ○ Embedded ● Authentication Mechanism ○ Simplified HttpAuthenticationMechanism interface Release 1.0.2
  • 51. 51COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 51 Jakarta Security – Role Mapping
  • 52. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 52 Jakarta Server Faces
  • 53. 53COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 53 Jakarta Server Faces Overview Jakarta Server Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility. Release 2.3
  • 54. 54COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 54 Jakarta Server Faces New Features • Enhanced CDI Alignment • WebSocket Integration • Ajax Method Invocation • Class Level Validation • Date-Time API Support • Iterable/Map/Custom UIData Support • Component search expressions • Radio Button Component • Styleclass Added to h:column • Basic Support for Extensionless URLs
  • 55. 55COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 55 Jakarta Server Faces – Date/Time Support Utilize Date-Time support via the f:convertDateTime converter.
  • 56. 56COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 56 Jakarta Server Faces – WebSocket Integration Utilize the WebSocket tag to maintain an open socket for sending communication to clients.
  • 57. 57COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 57 Jakarta Server Pages Overview JavaServer Pages (JSP) is a technology that helps software developers create dynamically generated web pages based on HTML, XML, or other document types. Release 2.3.5
  • 58. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 58 Jakarta Servlet
  • 59. 59COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 59 Jakarta Servlet Overview Jakarta Servlet is the foundation technology for interacting with the web on the Jakarta EE Platform. Release 4.0.3
  • 60. 60COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 60 Jakarta Servlet New Features • Request/Response Multiplexing • Stream Prioritization • Server Push • HTTP/2 Support
  • 61. 61COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 61 Jakarta Servlet – Push API Utilization of the newer Push API allows one to push resources to a client before the page is loaded. This allows all of the resources to be included in a single response, rather than multiple.
  • 62. 62COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 62 Jakarta Stable APIs This project contains stable (legacy) APIs, RIs and TCKs which won't be developed in future. • Enterprise Deployment (1.7.1) • JAXR-API (1.0.9) • JAX-RPC-API (1.1.3) • Management API (1.1.3) Release 1.0.1
  • 63. 63COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 63 Jakarta Standard Tag Library Jakarta Standard Tag Library (JSTL) encapsulates as simple tags the core functionality common to many Web applications. JSTL has support for common, structural tasks such as iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags. It also provides a framework for integrating existing custom tags with JSTL tags. Release 1.2.4
  • 64. 64COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 64 Jakarta Transactions Jakarta Transactions API (JTA) specifies standard Java interfaces between a transaction manager and the parties involved in a distributed transaction system: the resource manager, the application server, and the transactional applications. Release 1.3.3
  • 65. 65COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 65 Jakarta WebSocket Jakarta WebSocket defines an API that can be utilized for integration with WebSockets, both on the server side as well as the client side. The implementation is provided by the Eclipse Tyrus project. Release 1.1.2
  • 66. 66COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 66 Jakarta XML Web Services The Jakarta XML Web Services is a Java programming language API for creating web services, particularly SOAP services. Jakarta XML Web Services is one of the Java XML programming APIs. It is part of the Jakarta EE platform. Release 2.3.2
  • 67. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 67 Looking into the Near Future
  • 68. 68COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 68 Jakarta Namespaces • Convert from javax.* to jakarta.* • Lots of discussion regarding this change...may be incremental or all at once
  • 69. 69COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 69 Jakarta Server Faces 3.0 • Removal of old cruft • JSF’s own expression language • Managed Beans • Move more artifacts towards CDI • Action Model (Not to compete with Krazo) • Extensionless Mapping
  • 70. 70COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 70 Jakarta Security 1.1 ● CDI-Compatible @RolesAllowed ● Custom authorization roles ● Possibility of Additional Authentication mechanisms (OAuth2 & Open ID Connect)
  • 71. 71COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 71 Jakarta Concurrency 1.1 ● Move EJB Timer Service and @Asynchronous into Concurrency ● Make creation of concurrency services, such as managed executor service, more portable
  • 72. 72COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 72 Jakarta Expression Language 3.1 ● Map to Java SE Lambdas ● Ability to obtain more info from Method and Value expressions
  • 73. 73COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73 We, the developers and community for Jakarta EE, will make the future of this platform. Contribute where you can, develop and provide feedback. Go Forth & Make It Happen! COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 73
  • 74. COPYRIGHT (C) 2019, ECLIPSE FOUNDATION, INC. | MADE AVAILABLE UNDER THE ECLIPSE PUBLIC LICENSE 2.0 (EPL-2.0) 74 Thank you!