ment cycle and attempts to install, run, and just keep it alive. Such an artificially sepa‐
rated model works, but is far away from being optimal. Sometimes it gets even worse,
and signing off documents becomes more important than software quality.
If you are only interested in quick hacks, you will hate Java EE, application servers, and
probably this book altogether. Packaging, deployment, monitoring, and management
sounds like bloat and is bloat, if you are only focusing on development.
However the “DevOps” movement also considers operations and development as a
single unit. Who needs beautiful code that cannot be properly installed in a predefined
environment? DevOps is nothing groundbreaking; rather, it’s a “back to the roots”
This book is not just compatible with the “DevOps” ideals; it pragmatically shows how
to build a Java EE application from scratch and also patches holes in the Java EE spec.
Automation of project and archive creation, pragmatic integration of Maven builds into
the process, and testing on all levels are deeply explained with concrete code. Rather
than focusing on best-case scenarios, this book shows you how to test the inconvenient,
including examples with SMTP servers or Message Driven Beans.