Real World Java EE Patterns Rethinking Best Practices