Although you can build Java EE 6 applications with only a fraction of the code that’s necessary with J2EE, many projects are still based on bloated and exaggerated J2EE patterns and best practices. This session discusses how to build lean applications in a productive and maintainable way.

It covers the following pragmatic tools, patterns, and best practices with working source code:

* Mixing CDI, JPA, EJB, JSF, and JAX-RS to save code

* Mocking, unit testing, stress testing, and integration testing

* Continuous integration and build (Maven 3, Git)

* Efficient data access without DAOs

* Asynchronous CDI events for decoupling and pub/sub

* JMX monitoring instead of logging

* Removing layers and indirections for maintainability