Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development Peter Späth instant download
Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development Peter Späth instant download
https://ebookmass.com/product/pro-jakarta-ee-10-open-source-
enterprise-java-based-cloud-native-applications-development-
peter-spath/
https://ebookmass.com/product/beginning-cloud-native-development-with-
microprofile-jakarta-ee-and-kubernetes-1st-edition-tarun-telang/
https://ebookmass.com/product/pro-spring-security-securing-spring-
framework-6-and-boot-3-based-java-applications-third-edition-massimo-
nardone/
https://ebookmass.com/product/modern-enterprise-architecture-using-
devsecops-and-cloud-native-in-large-enterprises-1st-edition-jeroen-
mulder/
https://ebookmass.com/product/beginning-ejb-3-java-ee-7-edition-
jonathan-wetherbee/
https://ebookmass.com/product/cloud-native-computing-pethuru-raj/
Pro
Jakarta EE 10
Open Source Enterprise Java-based
Cloud-native Applications Development
—
Peter Späth
Pro Jakarta EE 10
Open Source Enterprise
Java-based Cloud-native
Applications Development
Peter Späth
Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications
Development
Peter Späth
Leipzig, Sachsen, Germany
Introduction������������������������������������������������������������������������������������������������������������xix
v
Table of Contents
vii
Table of Contents
viii
Table of Contents
ix
Table of Contents
Alternatives������������������������������������������������������������������������������������������������������������������������������� 249
Producers���������������������������������������������������������������������������������������������������������������������������������� 251
Scope���������������������������������������������������������������������������������������������������������������������������������������� 253
Interceptors������������������������������������������������������������������������������������������������������������������������������� 255
Decorators�������������������������������������������������������������������������������������������������������������������������������� 255
x
Visit https://ebookmass.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
Table of Contents
xi
Table of Contents
xii
Table of Contents
xiii
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 481
xiv
About the Author
Peter Späth graduated in 2002 as a physicist and became an IT consultant, mainly for
Java-related projects. In 2016, he decided to concentrate on writing books on various
technology-related topics, with his main focus on software development. With two
books about graphics and sound processing, two books about Android app
development, and several books about Java, Späth continues his efforts in writing
software development-related literature.
xv
About the Technical Reviewer
Massimo Nardone has more than 25 years of experience
in security, web/mobile development, cloud, and IT
architecture. His true IT passions are security and Android.
He has been programming and teaching others how to
program with Android, Perl, PHP, Java, VB, Python, C/C++,
and MySQL for more than 20 years. He holds a Master of
Science degree in computing science from the University
of Salerno, Italy. He has worked as a CISO, CSO, security
executive, IoT executive, project manager, software engineer,
research engineer, chief security architect, PCI/SCADA
auditor, and senior lead IT security/cloud/SCADA architect for many years. His technical
skills include security, Android, cloud, Java, MySQL, Drupal, Cobol, Perl, web and
mobile development, MongoDB, D3, Joomla, Couchbase, C/C++, WebGL, Python, Pro
Rails, Django CMS, Jekyll, Scratch, and more. He was a visiting lecturer and supervisor
for exercises at the Networking Laboratory of the Helsinki University of Technology
(Aalto University). He also holds four international patents (in the PKI, SIP, SAML,
and Proxy areas). He is currently working for Cognizant as the head of cybersecurity
and CISO to help clients in areas of information and cybersecurity, including strategy,
planning, processes, policies, procedures, governance, awareness, and so forth. In
June, 2017, he became a permanent member of the ISACA Finland Board. Massimo has
reviewed more than 45 IT books for different publishing companies and is the co-author
of Pro Spring Security: Securing Spring Framework 5 and Boot 2-based Java Applications
(Apress, 2019), Beginning EJB in Java EE 8 (Apress, 2018), Pro JPA 2 in Java EE 8 (Apress,
2018), and Pro Android Games (Apress, 2015).
xvii
Introduction
Java is not just a programming language, it’s also a platform used to host software. As
far as enterprise environments go, Java Enterprise Edition Jakarta EE (formerly JEE) has
an extensive collection of APIs that are particularly useful for addressing corporate IT
requirements.
This book covers advanced topics of Jakarta EE development. This includes pro-
level web tier development, architecture-related matters, advanced XML and JSON
processing, application clients and scripting languages, resource handling, high-level
security enhancements, and advanced monitoring and logging techniques.
The target version of Jakarta EE is version 10. Unless otherwise noted, server scripts
have been tested on Ubuntu 22.04. Switching to Debian, Fedora, or OpenSUSE Leap
should not impose any problems.
The book is for advanced enterprise software developers with knowledge of
Java Standard Edition version 8 or later and some experience in Jakarta EE (or JEE)
development. Having read the book titled Beginning Jakarta EE from the same author
and publisher (ISBN: 978-1-4842-5078-5) will surely help, but it’s not a strict prerequisite.
I keep references to the beginner book at a bare minimum. I also assume that you can
use the online API references, so this book is not a complete reference in the sense that
not all API classes and methods are listed. Instead, the book includes techniques and
technologies that will help professional Java enterprise-level developers deal with topics
and master problems that arise in a corporate environment.
The book uses the Linux operating system as its development platform, although
the code can run on other platforms without requiring complex changes. The server
installations—like version control, continuous integration systems, and operating
instructions—all target the Linux operating system. This book also does not cover
hardware issues, except for some cases where hardware performance has a noticeable
impact on the software.
After finishing this book, you will be able to develop and run Jakarta EE 10 programs
of mid- to high-level complexity.
xix
Introduction
Source Code
All the source code in this book can be found at github.com/Apress/pro-jakarta-ee10.
xx
PART I
Development Workflow
Proposal
CHAPTER 1
Installing a Development
Server
This book uses GlassFish version 7.0.1 as a Jakarta EE server, although I try to avoid
vendor lock-in, so that, unless otherwise noted, you can test all the examples on different
Jakarta EE servers.
For the Eclipse IDE, there is a GlassFish plugin called GlassFish Tools, which you can
use if you want to. I don’t use it in this book for several reasons. First of all, the plugin
can have issues with your Eclipse installation. Second, if you don’t use the plugin and
instead use a terminal to start and stop the server and then use a build tool like Gradle to
install and uninstall Enterprise applications, you are already close to what you need for
integration testing and production setups. Third, it is easier to switch between different
Jakarta EE servers and different IDEs. Fourth, you don’t have to learn how to use that
plugin, including any peculiarities that might arise.
So for now, simply download and install the GlassFish server, version 7.0.1, from this
location:
https://glassfish.org/download.html
Note GlassFish 7.0.1 runs on JDK 11 through 19. You can try higher JDK
versions for GlassFish 7.0.1, but they might not work.
3
© Peter Späth 2023
P. Späth, Pro Jakarta EE 10, https://doi.org/10.1007/978-1-4842-8214-4_1
Visit https://ebookmass.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
Exploring the Variety of Random
Documents with Different Content
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
ebookmasss.com