Audience
This course is for applications developers responsible for the design of distributed software applications. Enterprise architects, Java technology programmers and Java EE software developers are the main beneficiaries.
Prerequisites
Delegates are expected to be experienced Java applications developers who understand Object Oriented modelling techniques such as UML. Experience with Java EE technologies such as Enterprise Java Beans, Java Server Pages and Servlets is also required.
Duration
3 days hands on.
This course is available on site only. Please call for details.
Course Objectives
On completion of this course delegates will:
- Understand the concept of a design pattern.
- Understand the role of Anti-Patterns.
- Understand Java EE patterns role and Java Blueprints intent.
- Be able to assess the suitability of particular patterns in a given design context.
- Be able to use design patterns as part of application design.
- Understand when not to use design patterns.
Course Content
Day 1: OO Design
Introduction and workshop discussion on challenges facing OO designers.
Design Patterns.
GoF & Creational Design Patterns.
Structural Design Patterns.
Behavioural Design Patterns.
Anti-Patterns.
Pattern Mining.
Discussion on Patterns, Anti-patterns and Pattern Mining.
Day 2: Architecture
Software Architecture.
Evolution of Software architectures from 1, 2, 3 and n-tier and motivations and issues introduced.
Workshop discussion around architectural and design challenges in n-tier systems.
Architectural Design Patterns.
Workshop discussion around service based design and its challenges.
SOA Design Patterns.
REST as a Design Pattern.
Day 3: Java EE
Review of the Java EE technologies (inc comparison of Java EE 5 and Java EE 6).
Java EE Design Patterns.
Workshop discussion around issues in Java EE Design.
Java EE Presentation Tier Patterns.
Java EE Business Tier Patterns.
Java EE Integration Tier Patterns.
Java EE BluePrints.