A completely rewritten, second, iteration of the Real World Java EE Patterns--Rethinking Best Practices book is available.
Although I tried to prune as much content as possible, the book has now 431 pages--171 pages more than the first iteration. The reason for the extensive size growth is the discussion of several new Java EE 6 patterns and utilities like: Plugins, HTTP Events, Re-Injector, Custom Scope, Parallelizer (…).
The "Rethinking" book also comes with a transactional JCA 1.6 connector implementation--a simplistic key-value store. Most of the patterns are a "clean room" extraction from things that worked well in my daily consulting work. Some patterns are directly extracted from my open source projects like: http://lightfish.adam-bien.com or http://x-ray.adam-bien.com.
A Table of Contents says more than thousand words :)
- A Brief History of Java EE
- Understanding Java EE Core Concepts
- Rethinking the Business Tier
- Boundary (Application Service)
- Control (Service/Session Façade)
- Entity (Business Object)
- Fluid Logic
- Paginator and Fast Lane Reader
- Async Worker (Service Activator)
- HTTP Events
- Transparent Cache Integrator
- Transaction Progress Listener
- Binary REST Serializer
- Retired Patterns
- Rethinking the Integration Tier
- Data Access Object
- Transfer Object and Data Transfer Object
- EJB 2 Integration and Migration
- Legacy POJO Integrator
- Generic (File) JCA
- Infrastructural Patterns and Utilities
- Service Starter
- Bean Locator
- Thread Tracker
- Payload Extractor
- Resource Binder
- Context Holder
- Custom Scope
- Telemetry Provider
- Logger Injector
- Self-Invoking Beans
- Late Starter
- Pragmatic Java EE Architectures
The sample projects are already checked-in into: http://kenai.com/projects/javaee-patterns
Feedback is, as always, highly appreciated. But: I spent several days in word processor formatting the final version of the book, so all negative comments about formatting are going to be marked as spam :-).
See you at airhacks.com!
NEW MUC Airport Workshop: Migrating Java Client (Swing / Java FX) to Web Standards