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.
CDI
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.
JPA
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.
Security
Ultimate source on JAAS and JASPIC is Arjan Tijms (and also for JSF and OmniFaces).
Transactions
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.
Messaging
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).
REST
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.
JSF
I think no JSF app can survive without PrimeFaces and OmniFaces. And the book explaining OmniFaces and therefore JSF.
Application Servers
-
Payara - maintained fork of deceased platform reference implementation Glassfish. See also Glassfish Documentation and Payara Documentation
-
Wildfly - open source variant of JBoss EAP 7. See also Development guide for server specifics.
-
TomEE Java EE 6 application server built on top of Tomcat from Tomcat maintainers
-
WebShpere Liberty free version of WebShere with heap limit 2GB (total over all instances)
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
Misc
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).