Mastering JEE Design Patterns

COURSE OUTLINE:

Description

Technologies such as JPA and EJB3, as well as frameworks such as Spring, web services, and rich interfaces, have significantly impacted previous generations of design patterns. Many of these technologies were heavily influenced by the very problems that previous design patterns addressed. While the basic patterns still ring true, the more advanced patterns have evolved into more robust solutions for secure, stable and scalable enterprise applications.

In this is a lab-intensive Java/JEE design patterns training course, you will explore the many sophisticated JEE-oriented design patterns and how to use these patterns to develop solid, robust, and reusable JEE applications. Working in a hands-on environment, you will explore key patterns in each of the different JEE layers and how they are used most effectively in building robust, reusable JEE applications. This course combines the use of hands-on coding labs with several 'mini-projects' to be completed throughout the training to get you using and reviewing the Patterns in a practical manner.

You will be led through an extended project whose solution includes the application of the various patterns as well as several cross-cutting patterns addressing issues such as security, transactions, and auditing. Throughout the course you will explore the Crosscutting, Presentation Tier, Business Tier, and Integration Tier pattern categories. You will compare and contrast these patterns and explore the advantages and disadvantages of using certain patterns for explicit development functions in the JEE framework.

Audience

Designers and architects needing to relate real problems to JEE-based solutions

Prerequisites

Practical experience developing basic JEE applications

1. Design Patterns

  • Patterns
  • Why Patterns?
  • Crucial Qualities of Good Patterns
  • Classifying and Describing Patterns
  • Patterns by Category

2. Gang of Four Patterns

  • Gang of Four
  • Factory Pattern Family
  • Singleton Pattern
  • Fa�ade Pattern
  • Iterator Pattern

3. Base Patterns

  • Composite Pattern
  • Adaptor Pattern
  • Proxy Pattern
  • Observer Pattern
  • Command Pattern
  • Gateway Pattern
  • Separated Interface Pattern
  • Registry Pattern
  • Special Case Pattern

4. Applying Patterns

  • Selecting the Right Pattern
  • Adapting an Existing Pattern
  • Creating a New Pattern
  • Implementation Considerations
  • Challenges in Working with Patterns
  • Anti-Patterns

5. Business Tier

  • Impact of JEE on Business Tier Patterns
  • Domain Model
  • Dependency Injection
  • Business Delegate

6. Integration Tier

  • Data Transfer Object
  • Data Access Object

7. Presentation Tier

  • Model View Controller
  • Front Controller
  • Application Controller
  • Context Object
  • Intercepting Filter
  • View Helper
  • Composite View
  • Dispatcher View
  • Service to Worker

8. Crosscutting

  • Security Enforcer
  • Security Interceptor
  • Audit Interceptor
  • Doman Service Transaction

9. Exploring Frameworks and Patterns

  • Reuse and Productivity
  • Spring
  • Struts 2.0
  • JSF

Appendix: EJB3

  • Role of EJBs in JEE
  • EJB3 Architecture