Java EE Patterns

Contact Us for Dates
3 days practical workshop for up to 12 people.

Only £1185 per person

Contact us for Onsite Price

A Pattern-Based Approach to Effective Java EE Application Design. There is a lot of technology in the Java EE platform. To


This training course consists of lectures, demonstrations, exercises and discussions. A rolling case study is used during the exercises to simulate the application of the

Training Course Objectives

  • List many of the principal Java EE patterns
  • Assess the suitability of a particular pattern in a given context
  • Describe how these patterns can be implemented
  • Use Java EE patterns as part of application design
  • Describe the Java EE Blueprints and how these use patterns
  • Understand the current state of Java EE patterns and list the major Java EE pattern resources

Who it is for

Architects, designers and developers who need to design and implement Java EE applications.

Training Course Prerequisites

  • Familiarity with the Java Programming Language
  • Experience with the Java EE platform


Chapter 1 Context of Java EE Applications

  • Java EE technology quick refresher
  • Target application types for Java EE
  • Java EE application architecture
  • Hardware context: layers and tiers
  • Improving the

Chapter 2 Java EE Patterns and Blueprints

  • Pattern forms and relationships
  • Why the GoF (and POSA, etc.) are not enough
  • Benefits and dangers of patterns
  • Java EE patterns and where they fit in
  • Quick tour of major Java EE patterns
  • Patterns and refactoring
  • Java EE blueprints: what are they and why are they there?

Chapter 3 Distributed Pattern Principles

  • Why are distributed systems different?
  • Reducing data flow: Data Transfer Object
  • Minimizing roundtrips: Batch Method and Combined Method
  • Proxies, decoupling and caching
  • Flexibility through dynamic discovery: Service Locator
  • Server-side decoupling: Remote Facade
  • Dependency Injection with CDI

Chapter 4 Web Presentation Patterns

  • Applying the Web processing model
  • What can go bad in the Presentation Layer: a bad example
  • Factoring out: Front Controller, View Helper, Template View
  • Model View Controller in a Java EE Web application
  • MVC variations: Page Controller, Dispatcher View, Service to Worker, Intercepting Filter
  • Building the output: Composite View, Two Step View, Transform View
  • Controlling the flow: Application Controller
  • Session state: the issue, Client Session State, Server Session State, Database Session State
  • Bad example refactored

Chapter 5 Business Component Patterns

  • Business components and the Java EE model
  • What can go bad in the Business Layer: another bad example
  • Splitting domain and business logic: Transaction Script, Domain Model, Service Layer
  • Business components, EJBs and transactions
  • Distribution and decoupling: Session Fašade, Business Interface
  • Asynchronous interaction: Message Fašade, Service Activator
  • Client interaction: Business Delegate, EJB Command
  • Managing business data: Composite Entity
  • Data in and out: Data Transfer Object Factory
  • Bad example refactored

Chapter 6 Persistence and Integration Patterns

  • What can go bad in the Persistence Layer: yet another bad example
  • Object relational mapping patterns
  • Improving performance: Fast Lane Reader, Value List Handler, Lazy Load
  • State, updates and transactions: Unit of Work
  • Distributed locking: Optimistic Offline Lock, Pessimistic Offline Lock
  • Enterprise application integration: Channel patterns, message patterns, routing patterns
  • Bad example refactored

Chapter 7 Java EE, Web Services and Patterns

  • Web Service interaction and protocols
  • Java EE Web Service architecture
  • Effect of Web Services on patterns
  • Service orientation, state management and loose coupling
  • Data transfer
  • Web Services and the Java EE Blueprints