Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
581 changes: 114 additions & 467 deletions specification/src/main/asciidoc/images/JakartaEEarchitecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ resource of the required type.

Some resources have default mapping rules
specified; see sections <<a2009, Default Data Source>>, <<a2025, Default Jakarta Messaging Connection Factory>>, and
<<a2042, Default Concurrency Utilities Objects>>. By default, a product must map otherwise unmapped
<<a2042, Default Jakarta Concurrency Objects>>. By default, a product must map otherwise unmapped
resources using these default rules. A product may include an option to
disable or override these default mapping rules.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ runtime environments provided by the containers that are a part of the
Jakarta EE platform. The Jakarta EE platform supports three types of
containers corresponding to Jakarta EE application component types:
application client containers; web containers for
servlets, server pages, server faces applications,
Servlets, Pages, Faces, and
RESTful web services applications;
and enterprise bean containers. A Jakarta EE profile may support only a subset
of these component types, as defined by the individual Jakarta EE profile
Expand Down Expand Up @@ -173,6 +173,11 @@ technology will no longer be maintained for future versions of the Platform.
|Y
|N

|Faces
|N
|Y
|N

|Interceptors
|Y
|Y
Expand Down Expand Up @@ -218,11 +223,6 @@ technology will no longer be maintained for future versions of the Platform.
|Y
|Y

|Server Faces
|N
|Y
|N

|Servlet
|N
|Y
Expand Down Expand Up @@ -528,7 +528,7 @@ EE platform.

A Jakarta EE product that supports the following
types of objects must be able to make them available in the
application’s JNDI namespace: _EJBHome_ objects, _EJBLocalHome_ objects,
application’s JNDI namespace:
Enterprise Beans business interface objects, Jakarta Transactions _UserTransaction_ objects, JDBC API
_DataSource_ objects, Jakarta Messaging _ConnectionFactory_ and _Destination_ objects,
Jakarta Mail _Session_ objects, _URL_ objects, resource manager
Expand Down Expand Up @@ -691,9 +691,7 @@ _putValue_ methods:

* _java.io.Serializable_
* _jakarta.ejb.EJBObject_
* _jakarta.ejb.EJBHome_
* _jakarta.ejb.EJBLocalObject_
* _jakarta.ejb.EJBLocalHome_
* _jakarta.transaction.UserTransaction_
* a _javax.naming.Context_ object for the
_java:comp/env_ context
Expand Down Expand Up @@ -1109,38 +1107,38 @@ found at _https://jakarta.ee/specifications/security/_ .

=== Debugging Support for Other Languages 2.0 Requirements

Server pages are usually translated into Java
Jakarta Pages are usually translated into Java
language pages and then compiled to create class files. The Jakarta Debugging Support for Other Languages
specification describes information that can
be included in a class file to relate class file data to data in the
original source file. All Jakarta EE products are required to be able to
include such information in class files that are generated from
server pages.
Jakarta Pages.

The Jakarta Debugging Support for Other Languages
specification can be found at _https://jakarta.ee/specifications/debugging/_ .

=== Standard Tag Library 3.0 Requirements

The Jakarta Standard Tag Library specification defines a standard tag library that
makes it easier to develop server pages. A Jakarta EE product must support
Jakarta Standard Tag Library specification for use by all server pages.
makes it easier to develop Jakarta Pages. A Jakarta EE product must support
Jakarta Standard Tag Library specification for use by all Jakarta Pages.

The Jakarta Standard Tag Library
specification can be found at _https://jakarta.ee/specifications/tags/_ .

=== Server Faces 4.1 Requirements
=== Faces 4.1 Requirements

Jakarta Server Faces technology simplifies
Jakarta Faces technology simplifies
building user interfaces for Jakarta applications. Developers of
various skill levels can quickly build web applications by: assembling
reusable UI components in a page; connecting these components to an
application data source; and wiring client-generated events to
server-side event handlers. In a Jakarta EE product, all Jakarta EE web
containers are required to support applications that use the Jakarta Server
containers are required to support applications that use the Jakarta
Faces technology.

The Jakarta Server Faces specification can be
The Jakarta Faces specification can be
found at _https://jakarta.ee/specifications/faces/_ .

=== Annotations 3.0 Requirements
Expand Down Expand Up @@ -1272,7 +1270,7 @@ source is annotations, with the ability to override and extend the
metadata through the use of XML validation descriptors.

The Jakarta EE platform requires that web
containers make an instance of _ValidatorFactory_ available to Jakarta Server Faces
containers make an instance of _ValidatorFactory_ available to Jakarta Faces
implementations by storing it in a servlet context attribute named
_jakarta.faces.validator.beanValidator.ValidatorFactory._

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ generation, transformation, and querying of JSON text. The Jakarta JSON Binding
provides support for mapping between JSON text and Java objects.
* HTML 4.01—This version represents the minimum web
browser standard document format. While all Jakarta EE APIs with the
exception of Jakarta Server Faces are agnostic to the version of the browser document
exception of Jakarta Faces are agnostic to the version of the browser document
format, Jakarta EE web clients must be able to display HTML 4.01 documents.
* Image file formats—The Jakarta EE platform must
support GIF, JPEG, and PNG images. Support for these formats is provided
Expand Down
32 changes: 16 additions & 16 deletions specification/src/main/asciidoc/platform/PlatformOverview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ The arrows represent required access to other
parts of the Jakarta EE platform. The Application Client Container provides
Application Clients with direct access to the Jakarta EE required Database
through the Java API for connectivity with database systems, the JDBC™
API. Similar access to databases is provided to server pages, server faces
applications, and servlets by the Web Container, and to enterprise beans
API. Similar access to databases is provided to Pages, Faces, and
Servlets by the Web Container, and to enterprise beans
by the Enterprise Beans Container.

As indicated, the APIs of the Java™
Expand Down Expand Up @@ -125,15 +125,15 @@ language programs that are typically GUI programs that execute on a
desktop computer. Application clients offer a user experience similar to
that of native applications and have access to all of the facilities of
the Jakarta EE middle tier.
* Servlets, Server Pages, Server Faces applications,
* Servlets, Pages, Faces applications,
Filters, and Web Event Listeners typically execute in a web container
and may respond to HTTP requests from web clients. Servlets, server pages,
server faces applications, and filters may be used to generate HTML pages that
and may respond to HTTP requests from web clients. Servlets, Pages,
Faces applications, and Filters may be used to generate HTML pages that
are an application’s user interface. They may also be used to generate
XML or other format data that is consumed by other application
components. A special kind of servlet may provide support for web services
using the SOAP/HTTP protocol. Servlets, pages created with the
Jakarta Pages technology or Jakarta Server Faces technology, web
Jakarta Pages technology or Jakarta Faces technology, web
filters, and web event listeners are referred to collectively in this
specification as “web components.” Web applications are composed of web
components and other data such as HTML pages. Web components execute in
Expand Down Expand Up @@ -248,7 +248,7 @@ these standard services are actually provided by Java SE.

The HTTP client-side API is defined by the _java.net_ package. The
HTTP server-side API is defined and used by the Jakarta RESTful Web Services,
Jakarta Servlet, Jakarta Pages, and Jakarta Server Faces
Jakarta Servlet, Jakarta Pages, and Jakarta Faces
interfaces and by Jakarta XML Web Services support that is no longer a required part of
the Jakarta EE platform.

Expand Down Expand Up @@ -326,12 +326,12 @@ parts: an application-level interface used by the application components
to send mail, and a service provider interface used at the Jakarta EE SPI
level.

==== Jakarta Activation Framework (JAF)
==== Jakarta Activation

The JAF API provides a framework for handling
The Jakarta Activation API provides a framework for handling
data in different MIME types, originating in different formats and
locations. The Jakarta Mail API makes use of the JAF API. As of Jakarta EE 9,
the Jakarta Activation Framework is now part of the Jakarta EE Platform.
locations. The Jakarta Mail API makes use of the Jakarta Activation API. As of Jakarta EE 9,
Jakarta Activation is now part of the Jakarta EE Platform.

==== XML Processing

Expand Down Expand Up @@ -667,7 +667,7 @@ may customize the business logic of the application’s components at
deployment time. For example, using tools provided with a Jakarta EE
product, the Deployer may provide simple application code that wraps an
enterprise bean’s business methods, or customizes the appearance of a
server pages or server faces page.
Pages or Faces page.

The Deployer’s output is web applications,
enterprise beans, and application clients that have been
Expand Down Expand Up @@ -761,8 +761,8 @@ details on the network protocol support required for interoperability.

The Jakarta EE Product Provider is required to
publish the installed application components on the industry-standard
protocols. This specification defines the mapping of servlets and server
pages to the HTTP and HTTPS protocols, and the mapping of Jakarta Enterprise Beans components
protocols. This specification defines the mapping of Servlets and
Pages to the HTTP and HTTPS protocols, and the mapping of Jakarta Enterprise Beans components
to IIOP and SOAP protocols. Jakarta SOAP with Attachments is no longer required by Jakarta EE 11.
See <<a2333, Removed Jakarta Technologies>>.

Expand Down Expand Up @@ -1013,14 +1013,14 @@ No API updates are expected in Jakarta EE 9.1.
Only the Platform and Web Profile Specifications along with the TCKs and Compatible Implementations should be affected by Jakarta EE 9.1.

=== Changes in Jakarta EE 10
The goal of the Jakarta EE 10 release is to deliver a set of specifications that and adding the support for the Java SE 11 and newer runtimes. The TCKs require support for both Java SE 11 and Java SE 17.
The Jakarta EE 10 release removes support for Java SE 8. It includes support for Java SE 11 and newer runtimes. The TCKs require support for both Java SE 11 and Java SE 17.

Jakarta EE 10 is the first release in the Jakarta EE series to include major and minor component specification updates not limited to the javax to jakarta package namespace change.

Jakarta EE 10 also introduced a new Core Profile to support smaller runtime footprints as often used with microservices.

=== Changes in Jakarta EE 11
The goal of the Jakarta EE 11 release is to deliver a set of specifications that and adding the support for the Java SE 17 and newer runtimes. The TCKs require support for both Java SE 17 and Java SE 21.
The Jakarta EE 11 release removes support for Java SE 11. It includes support for Java SE 17 and newer runtimes. The TCKs require support for both Java SE 17 and Java SE 21.

Jakarta EE 11 removes the following technologies from the platform.

Expand Down
2 changes: 1 addition & 1 deletion specification/src/main/asciidoc/platform/Profiles.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ The following technologies are required:
* Jakarta Dependency Injection 2.0
* Jakarta Enterprise Beans 4.0 (except for Jakarta Enterprise Beans entity beans and associated Jakarta Enterprise Beans QL, and embedded container, which have been made removed)
* Jakarta Expression Language 6.0*
* Jakarta Faces 4.1*
* Jakarta Interceptors 2.2*
* Jakarta JSON Processing 2.1
* Jakarta JSON Binding 3.0
Expand All @@ -204,7 +205,6 @@ The following technologies are required:
* Jakarta RESTful Web Services 4.0*
* Jakarta Security 4.0*
* Jakarta Servlet 6.1*
* Jakarta Server Faces 4.1*
* Jakarta Standard Tag Library 3.0
* Jakarta Transactions 2.0
* Jakarta Validation 3.1*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ _Java™ Platform, Standard Edition, v17 API Specification_. Available at: _http

_Jakarta™ Enterprise Beans Specification, Version 4.0_. Available at: _https://jakarta.ee/specifications/enterprise-beans/4.0/_

_Jakarta™ Server Pages Specification, Version 4.0_. Available at: _https://jakarta.ee/specifications/pages/4.0/_
_Jakarta™ Pages Specification, Version 4.0_. Available at: _https://jakarta.ee/specifications/pages/4.0/_

_Jakarta™ Expression Language Specification, Version 6.0_. Available at: _https://jakarta.ee/specifications/expression-language/6.0/_

Expand Down Expand Up @@ -54,7 +54,7 @@ _Jakarta™ Debugging Support for Other Languages Specification, Version 2.0_. A

_Jakarta™ Standard Tag Library Specification, Version 3.0_. Available at: _https://jakarta.ee/specifications/tags/3.0/_

_Jakarta™ Server Faces Specification, Version 4.1_. Available at: _https://jakarta.ee/specifications/faces/4.1/_
_Jakarta™ Faces Specification, Version 4.1_. Available at: _https://jakarta.ee/specifications/faces/4.1/_

_Jakarta™ Persistence Specification, Version 3.2_. Available at: _https://jakarta.ee/specifications/persistence/3.2/_

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -476,8 +476,8 @@ Standard

Standard

|Jakarta Server Faces
|managed classes footnote:[See the Jakarta™ Server Faces
|Jakarta Faces
|managed classes footnote:[See the Jakarta™ Faces
specification section Jakarta Faces Managed Classes and Jakarta EE Annotations” for
a list of these managed classes.]
|Standard
Expand Down Expand Up @@ -1246,7 +1246,7 @@ public void changePhoneNumber(...) {
// Obtain the default initial JNDI context.
Context initCtx = new InitialContext();

// Look up the home interface of the EmployeeRecord
// Look up the interface of the EmployeeRecord
// enterprise bean in the environment.
EmployeeRecord result = (EmployeeRecord) initCtx.lookup("java:comp/env/ejb/EmplRecord");
...
Expand Down
16 changes: 8 additions & 8 deletions specification/src/main/asciidoc/platform/Security.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,15 @@ returns the result of the original URL request, as shown in
.Fulfilling the Original Request
image::Step4.svg[]

In our example, the response URL of a server page
In our example, the response URL of a Pages page
is returned, enabling the user to post form data that needs to be
handled by the business logic component of the application.

Invoking Enterprise Bean Business Methods::

The server page performs the remote method call to
The Pages page performs the remote method call to
the enterprise bean, using the user’s credential to establish a secure
association between the server page and the enterprise bean (as shown in
association between the Pages page and the enterprise bean (as shown in
<<a269, Invoking an Enterprise Bean Business Method>> ).
The association is implemented as two related
security contexts, one in the web server and one in the Jakarta Enterprise Beans container.
Expand All @@ -157,11 +157,11 @@ authorized” outcome when the container is able to map the caller’s
credential to a role. A “not authorized” outcome is reached if the
container is unable to map the caller to any of the permitted roles. A
“not authorized” result causes an exception to be thrown by the
container, and propagated back to the calling server page.
container, and propagated back to the calling Pages page.

If the user is authorized, the container
dispatches control to the enterprise bean method. The result of the
bean’s execution of the call is returned to the server page, and ultimately to
bean’s execution of the call is returned to the Pages page, and ultimately to
the user by the web server and the web client.

=== Security Architecture
Expand Down Expand Up @@ -530,7 +530,7 @@ feature of the Jakarta EE platform.
The look and feel of a login screen cannot be
varied using the web browser’s built-in authentication mechanisms. This
specification introduces the ability to package standard HTML or
servlet, server pages, or server faces based forms for logging in, allowing customization of
Servlet, Pages, or Faces based forms for logging in, allowing customization of
the user interface. The form based authentication mechanism introduced
by this specification is described in the Servlet specification.

Expand Down Expand Up @@ -877,10 +877,10 @@ single application within a single Jakarta EE product, the principal name
returned by the _EJBContext_ method _getCallerPrincipal_ or the
_SecurityContext_ method _getCallerPrincipal_ must be the same as that
returned by the first enterprise bean in the call chain. If the first
enterprise bean in the call chain is called by a servlet or server page,
enterprise bean in the call chain is called by a servlet or Pages page,
the principal name must be the same as that returned by the
_HttpServletRequest_ method _getUserPrincipal_ or the _SecurityContext_
method _getCallerPrincipal_ in the calling servlet or server page.
method _getCallerPrincipal_ in the calling servlet or Pages page.
(However, if the _HttpServletRequest_ or _SecurityContext_ method
_getCallerPrincipal_ returns _null_ , the principal used in calls to
enterprise beans is not specified by this specification, although it
Expand Down
Loading