in Java EE ~ read.

Java EE 7 Training resources

I’ve done a training with two-day Java EE overview. This is annotated browser history of the things I showed.

At the training we followed book Beginning Java EE 7 from Antonio Goncalves.

The code

We followed code samples from the book troughout the training.

Other general resources

Java EE 7 javadoc lists all of the relevant APIs defined by Java EE spec.

Adam Bien’s book Real World Java EE Patterns – Rethinking Best Practices will help you put EJB and CDI in practice.

Java EE 7 samples demonstrates Java EE 7 features in Arquillian-based tests.

Arquillian helps testing parts of your Java EE applications within container - be it just Weld, embedded Payara or remote standalone servers.


Read Weld Reference Documentation for in-depth details about all CDI features.

Apache Deltaspike is collection of CDI extensions covering various infrastructure aspects of your application.


For in-depth look into JPA, design of the entities and trade-offs of the features, read Pro JPA 2 by Mike Keith and Merrick Schincariol.

Another great source of JPA knowledge is Vlad Mihalcea.

Instead of Criteria API, consider using QueryDSL.

For managing of database schema I recommend FlyWay.


Ultimate source on JAAS and JASPIC is Arjan Tijms (and also for JSF and OmniFaces).


To understand cases, where distributed transactions are not a good choice, read Your Coffee Shop Doesn’t
Use Two-Phase Commit
by Gregor Hohpe.

Also good source for understanding distributed systems, that usually reach outside scope of Java EE, look at Distributed Systems for Fun and Profit by Mikito Takada.


Even though Java Serialization is very comfortable, for high performance systems consider other serialization libraries that might give you smaller payloads, less CPU usage, and better interface evolution options.

For building business processes based on message passing you may want to read Enterprise Integration Patterns by Gregor Hohpe (yes, the one of the coffee shop article).


The origin of the term is in Roy Fieldings’ disertation, where it says it’s not just about HTTP, but also about hypermedia.

Serialization frameworks from above may also be a good option for message exchange over REST.


I think no JSF app can survive without PrimeFaces and OmniFaces. And the book explaining OmniFaces and therefore JSF.

Application Servers

Standards’ specifications

All Java EE specifications are governed by Java Comunity Process as Java Speficication Requests (JSRs). The list of Java EE 7 JSR with links to spec downloads is available at Oracle’s site


At heart of every server there is bytecode manipulation library like ASM. Other good use cases are writing tests, that verify correctness of the code (e. g. security check is invoked in every method).

comments powered by Disqus