You are previewing Professional Java EE Design Patterns.
O'Reilly logo
Professional Java EE Design Patterns

Book Description

Master Java EE design pattern implementation to improve your design skills and your application's architecture

Professional Java EE Design Patterns is the perfect companion for anyone who wants to work more effectively with Java EE, and the only resource that covers both the theory and application of design patterns in solving real-world problems. The authors guide readers through both the fundamental and advanced features of Java EE 7, presenting patterns throughout, and demonstrating how they are used in day-to-day problem solving.

As the most popular programming language in community-driven enterprise software, Java EE provides an API and runtime environment that is a superset of Java SE. Written for the junior and experienced Java EE developer seeking to improve design quality and effectiveness, the book covers areas including:

  • Implementation and problem-solving with design patterns

  • Connection between existing Java SE design patterns and new Java EE concepts

  • Harnessing the power of Java EE in design patterns

  • Individually-based focus that fully explores each pattern

  • Colorful war-stories showing how patterns were used in the field to solve real-life problems

  • Unlike most Java EE books that simply offer descriptions or recipes, this book drives home the implementation of the pattern to real problems to ensure that the reader learns how the patterns should be used and to be aware of their pitfalls.

    For the programmer looking for a comprehensive guide that is actually useful in the everyday workflow, Professional Java EE Design Patterns is the definitive resource on the market.

    Table of Contents

    1. FOREWORD
    2. INTRODUCTION
      1. WHO THIS BOOK IS FOR
      2. WHAT THIS BOOK COVERS
      3. HOW THIS BOOK IS STRUCTURED
      4. WHAT YOU NEED TO USE THIS BOOK
      5. MOTIVATION FOR WRITING
      6. CONVENTIONS
      7. SOURCE CODE
      8. ERRATA
      9. P2P.WROX.COM
      10. CONTACT THE AUTHORS
      11. NOTES
    3. PART I INTRODUCTION TO JAVA EE DESIGN PATTERNS
      1. CHAPTER 1 A BRIEF OVERVIEW OF DESIGN PATTERNS
        1. WHAT IS A DESIGN PATTERN?
        2. DESIGN PATTERN BASICS
        3. ENTERPRISE PATTERNS
        4. SUMMARY
        5. NOTES
      2. CHAPTER 2 THE BASICS OF JAVA EE
        1. MULTITIER ARCHITECTURE
        2. THE CLIENT TIER
        3. THE MIDDLE TIER
        4. THE EIS TIER
        5. JAVA EE SERVERS
        6. THE JAVA EE WEB PROFILE
        7. CORE PRINCIPLES OF JAVA EE
        8. CONVENTION OVER CONFIGURATION
        9. CONTEXT AND DEPENDENCY INJECTION
        10. INTERCEPTORS
        11. SUMMARY
        12. EXERCISES
    4. PART II IMPLEMENTING DESIGN PATTERNS IN JAVA EE
      1. CHAPTER 3 FAÇADE PATTERN
        1. WHAT IS A FAÇADE?
        2. IMPLEMENTING THE FAÇADE PATTERN IN PLAIN CODE
        3. IMPLEMENTING THE FAÇADE PATTERN IN JAVA EE
        4. WHERE AND WHEN TO USE THE FAÇADE PATTERN
        5. SUMMARY
        6. EXERCISES
        7. NOTES
      2. CHAPTER 4 SINGLETON PATTERN
        1. WHAT IS A SINGLETON?
        2. IMPLEMENTING THE SINGLETON PATTERN IN JAVA EE
        3. WHERE AND WHEN TO USE THE SINGLETON PATTERN
        4. SUMMARY
        5. EXERCISES
        6. NOTES
      3. CHAPTER 5 DEPENDENCY INJECTION AND CDI
        1. WHAT IS DEPENDENCY INJECTION?
        2. IMPLEMENTING DI IN PLAIN CODE
        3. IMPLEMENTING DI IN JAVA EE
        4. SUMMARY
        5. EXERCISES
        6. NOTES
      4. CHAPTER 6 FACTORY PATTERN
        1. WHAT IS A FACTORY?
        2. FACTORY METHOD
        3. ABSTRACT FACTORY
        4. IMPLEMENTING THE FACTORY PATTERN IN JAVA EE
        5. WHERE AND WHEN TO USE THE FACTORY PATTERNS
        6. SUMMARY
        7. EXERCISES
        8. NOTES
      5. CHAPTER 7 DECORATOR PATTERN
        1. WHAT IS A DECORATOR?
        2. IMPLEMENTING THE DECORATOR PATTERN IN PLAIN CODE
        3. IMPLEMENTING THE DECORATOR PATTERN IN JAVA EE
        4. WHERE AND WHEN TO USE THE DECORATOR PATTERN
        5. SUMMARY
        6. EXERCISES
        7. NOTES
      6. CHAPTER 8 ASPECT-ORIENTED PROGRAMMING (INTERCEPTORS)
        1. WHAT IS ASPECT-ORIENTED PROGRAMMING?
        2. IMPLEMENTING AOP IN PLAIN CODE
        3. ASPECTS IN JAVA EE, INTERCEPTORS
        4. WHERE AND WHEN TO USE INTERCEPTORS
        5. SUMMARY
        6. NOTES
      7. CHAPTER 9 ASYNCHRONOUS
        1. WHAT IS ASYNCHRONOUS PROGRAMMING?
        2. IMPLEMENTING ASYNCHRONOUS PATTERN IN PLAIN CODE
        3. ASYNCHRONOUS PROGRAMMING IN JAVA EE
        4. WHERE AND WHEN TO USE ASYNCHRONOUS PROGRAMMING
        5. SUMMARY
        6. EXERCISES
        7. NOTES
      8. CHAPTER 10 TIMER SERVICE
        1. WHAT IS THE TIMER SERVICE?
        2. IMPLEMENTING A TIMER IN JAVA EE
        3. SUMMARY
        4. EXERCISES
        5. NOTES
      9. CHAPTER 11 OBSERVER PATTERN
        1. WHAT IS AN OBSERVER?
        2. IMPLEMENTING THE OBSERVER PATTERN IN PLAIN CODE
        3. IMPLEMENTING THE OBSERVER PATTERN IN JAVA EE
        4. WHERE AND WHEN TO USE THE OBSERVER PATTERN
        5. SUMMARY
        6. EXERCISES
        7. NOTES
      10. CHAPTER 12 DATA ACCESS PATTERN
        1. WHAT IS A DATA ACCESS PATTERN?
        2. OVERVIEW OF THE DATA ACCESS PATTERN
        3. IMPLEMENTING THE DATA ACCESS PATTERN IN JAVA EE
        4. WHERE AND WHEN TO USE THE DATA ACCESS PATTERN
        5. SUMMARY
        6. EXERCISES
        7. NOTES
      11. CHAPTER 13 RESTFUL WEB SERVICES
        1. WHAT IS REST?
        2. THE SIX CONSTRAINTS OF REST
        3. RICHARDSON MATURITY MODEL OF REST API
        4. DESIGNING A RESTFUL API
        5. REST IN ACTION
        6. IMPLEMENTING REST IN JAVA EE
        7. HATEOAS
        8. WHERE AND WHEN TO USE REST
        9. SUMMARY
        10. EXERCISES
        11. NOTES
      12. CHAPTER 14 MODEL VIEW CONTROLLER PATTERN
        1. WHAT IS THE MVC DESIGN PATTERN?
        2. IMPLEMENTING THE MVC PATTERN IN PLAIN CODE
        3. IMPLEMENTING THE MVC PATTERN IN JAVA EE
        4. THE FACESSERVLET
        5. MVC USING THE FACESSERVLET
        6. WHERE AND WHEN TO USE THE MVC PATTERN
        7. SUMMARY
        8. EXERCISES
        9. NOTE
      13. CHAPTER 15 OTHER PATTERNS IN JAVA EE
        1. WHAT ARE WEBSOCKETS?
        2. WHAT IS MESSAGE-ORIENTATED MIDDLEWARE
        3. WHAT IS THE MICROSERVICE ARCHITECTURE?
        4. FINALLY, SOME ANTI-PATTERNS
        5. NOTES
    5. PART III SUMMARY
      1. CHAPTER 16 DESIGN PATTERNS: THE GOOD, THE BAD, AND THE UGLY
        1. THE GOOD: PATTERNS FOR SUCCESS
        2. THE BAD: OVER AND MISUSE OF PATTERNS
        3. …AND THE UGLY
        4. SUMMARY
        5. NOTES
    6. TITLEPAGE
    7. COPYRIGHT
    8. DEDICATION
    9. ABOUT THE AUTHORS
    10. ABOUT THE TECHNICAL EDITOR
    11. CREDITS
    12. ACKNOWLEDGMENTS
    13. ADVERT
    14. WILEY END USER LICENSE AGREEMENT