0% found this document useful (0 votes)
11 views

Java EE 8 Application Development (1)

The review discusses 'Java EE 8 Application Development' by David R. Heffelfinger, highlighting its focus on major Java EE technologies and their updates. While the writing is clear and the book is generally useful, it contains some outdated recommendations and occasional errors. It is best suited for Java enterprise developers looking to update their knowledge rather than beginners.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Java EE 8 Application Development (1)

The review discusses 'Java EE 8 Application Development' by David R. Heffelfinger, highlighting its focus on major Java EE technologies and their updates. While the writing is clear and the book is generally useful, it contains some outdated recommendations and occasional errors. It is best suited for Java enterprise developers looking to update their knowledge rather than beginners.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Search Java Magazine

Menu

Topics Issues Downloads Subscribe

Book Reviews

Java EE 8 Application Development


Reviewed by Andrew Binstock

One of the questions readers might ask is: Why do I primarily review
books to which I give positive reviews? The answer is found in a dictum
known as Sturgeon’s Law.

Theodore Sturgeon was an American science-fiction writer, who was part


of a panel at a convention in 1951 and was asked by an attendee why
90% of science fiction is garbage. He replied, “90% of everything is crud.”
I view this ratio as being true of programming books as well. So, part of
Java EE 8 Application my job is to select books worthy of your time and describe their benefits
Development and drawbacks, rather than spending time castigating books that aren’t
worth a look. The notable exception to this rule would be a bad book
By David R. Heffelfinger
372 pages
written by a famous author. I would want to share that the volume was
not up to the author’s usual standards. But with that exception, I do focus
on the books that are worthy of your time and money.

This triage means that I generally favor books from publishers or imprints
who have earned good reputations, such as O’Reilly, Manning,
Pearson/Addison-Wesley, Wiley, Pragmatic Programmers, and very few
others. Rarely do I include books from publishers not in the top tier;
however, the volume being reviewed here, which is published by Packt, is
a notable exception due in large part to the expertise of the author, David
Heffelfinger, a Java Champion and established cognoscente in Java EE
programming.

Heffelfinger’s book is an overview of Java EE 8. It is easy to overlook


Java EE 8 because of the delay in its release and the subsequent advent
of Jakarta EE. But as the recent article in this magazine elegantly
explained, much of what is in Java EE 8 is applicable to Jakarta EE with
only minor tweaks.

In his book, Heffelfinger goes over each of the major Java EE


technologies, emphasizing the components that were introduced or
substantially upgraded in Java EE 8. For example, the new CDI 2.0
implementation receives a full 20-page discussion, and the then-new
JSON-B receives another 20 pages. Persistence via Java Persistence
API (JPA) 2.2 is accorded 40 pages. Other topics include JavaServer
Faces (JSF) 2.3, EJB 2.2, Java Message Service (JMS) 2.0, JAX-RS 2.1,
Servlet 4.0, and their many related technologies, such as WebSocket.

The chapters present small standalone applications for which the majority
of code is made available in the publisher’s download area. Only the
illustrative snippets are shown and explained in the book. This makes for
easy reading.

In addition to the constituent technologies of Java EE 8, Heffelfinger also


develops a microservice implementation built on Payara Micro and
discusses the issues around shoehorning Java EE into small footprints.
However, he does not cover the Eclipse MicroProfile project, which had
only just come into being at the time this book was published.
Heffelfinger’s writing is clear and he generally provides the information
you need. However, there are some areas for concern and some
occasional sloppiness. In the former category are some out-of-date
recommendations in the JSF chapter, such as to urge the reader to use
tables throughout. This is an old approach that has been universally
replaced today by the use of CSS in HTML5.

The omission of conditional rendering is a more serious omission; even


the poor man’s solution to conditional rendering, the <c:if> tag, is
never mentioned. So, insofar as JSF is concerned, readers will be not be
up to date on the best practices, even though they will understand the
advances in the technology itself.

There were occasional sloppy errors in the book. For example, the
section on JMS mistakenly believes the acronym stands for “Java
Messaging Service,” and so prints that incorrect wording as the header
on all its pages. Like the other errors, this one will not interfere with the
main instruction, but it is disquieting.

Overall, I found the book to be useful and a surprisingly pleasant read. It


is not quite introductory enough for a Java programmer wishing for a
beginner’s primer on Java EE or Jakarta EE. However, it is ideal for Java
enterprise developers whose knowledge stops at an earlier release of
Java EE and who want to come up to speed on what has changed since
then.

Andrew Binstock
Andrew Binstock (@platypusguy) was formerly the
editor in chief of Java Magazine. Previously, he was
the editor of Dr. Dobb's Journal. He co-founded the
company behind the open-source iText PDF library,
which was acquired in 2015. His book on algorithm
implementation in C went through 16 printings
before joining the long tail. Previously, he was the
editor in chief of UNIX Review and, earlier, the
founding editor of the C Gazette. He lives in Silicon
Valley with his wife. When not coding or editing, he
studies piano.

Contact About Us Downloads and Trials News and Events


US Sales: +1.800.633.0738 Careers Java for Developers Acquisitions
Global Contacts Communities Java Runtime Download Blogs
Support Directory Company Information Software Downloads Events
Subscribe to Emails Social Responsibility Emails Try Oracle Cloud Newsroom

© Oracle Site Map Terms of Use & Privacy Cookie Preferences Ad Choices

You might also like