0845 757 3888 · info@xpertise.co.uk

On-line training course catalogue

J2EE Patterns: A Pattern-Based Approach to Effective J2EE Application Design

Type of course: Classroom

Course details
Fee£1195
Days3
Course code JVJ2EEP


We currently do not have public dates scheduled for this course.
If you have a requirement for this course, please contact us for the latest course information.

Print this page | Download as Word document |

Overview

There is a lot of technology in the Java 2 Enterprise Edition (J2EE) platform. To successfully design applications for the J2EE platform requires a good understanding of these technologies – from Enterprise JavaBeans through to JavaServer Pages.

However, it is not enough just knowing the mechanics of the different technologies. As people have deployed J2EE-based applications, many good practices have been identified (and quiet a few bad ones).

These good practices have been encapsulated in several J2EE pattern catalogs and blueprints. This course examines the primary patterns from these catalogs and explores how J2EE applications can be built around these patterns.

This course is suitable for architects, designers and developers who need to design and implement J2EE applications.

Prerequisites

An understanding of Java/J2EE and OO Principles

Delegates will learn how to

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

Outline

Context of J2EE Applications

  • J2EE technology quick refresher
  • Target application types for J2EE
  • J2EE application architecture
  • Hardware context: layers and tiers
  • Improving the “ilities” (scalability, availability, etc.)

J2EE Patterns and Blueprints

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

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

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 J2EE 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

Business Component Patterns

  • Business components and the J2EE 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

Persistence and Integration Patterns

  • What can go bad in the Persistence Layer: yet another bad example
  • Types of data
  • Structuring data access: Data Access Object, Row Data Gateway, Active Record, Data Mapper,
  • Object to relational mapping patterns
  • Primary key generation 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
  • Applications, J2EE Blueprints and Patterns
  • The refactored example application
  • Application issues: security, logging, exceptions, code structure, testing
  • J2EE Blueprint application: Java Pet Store
  • J2EE Blueprint application: Adventure Builder
  • A balanced view: Java Pet Store and the .NET Pet Shop

J2EE, Web Services and Patterns

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

Xpertise – J2EE Patterns: A Pattern-Based Approach to Effective J2EE Application Design training courses

Xpertise provides J2EE Patterns: A Pattern-Based Approach to Effective J2EE Application Design training courses from 22 UK locations: in Aberdeen Scotland, Altrincham Manchester, Birmingham West Midlands, Bristol South West, Edinburgh Scotland, Glasgow Scotland, Hinckley East Midlands, Leeds Yorkshire, Leeds Yorkshire (Ring Road), London King William Street, London Middlesex Street, London Rosebery Avenue, London Tabernacle Street, Maidenhead Berkshire, Malmesbury Wiltshire, Manchester (Exchange Quay), Milton Keynes Buckinghamshire, Newcastle Tyne and Wear, Reading Berkshire, Stockport Manchester, Swindon Wiltshire and Washington Tyne and Wear – and at 44 partner locations nationwide.


Xpertise Training reserves the right to improve the specification and format of its courses for the benefit of its customers without notice to the customer.