Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Java, Java EE and Frameworks > Java EE 5 >

WA1280 Architecting and Designing Java EE Applications Training and Courseware

Quick Enroll

This course provides the students with the prerequisite knowledge necessary to use J2EE in order to architect robust and maintainable enterprise applications.

Objectives
  Upon completion of this course, you should be able to:
  • Use J2EE to solve common architectural problems
  • Apply J2EE patterns effectively
  • Define the architect role and the deliverables
  • Understand the common problems faced in architecting large scale applications
  • Understand the advantages of using an iterative development process
Topics
 
  • Fundamental Architectural Concepts
  • System Architecture Development Guidelines
  • Software Development Processes
  • Data Transfer, Transactions and Security in Distributed Computing
  • Optimizing for Scalability and Maintenance
  • QoS Requirement
  • Prototype Development
  • J2EE Servers
  • J2EE Overview
  • J2EE Technology choices
  • Requirements, analysis and design workflow
  • Defining the architecture
  • J2EE Technology Patterns
Audience
 
  • Architects
  • Senior Designers
  • Development and Product Managers
Prerequisites
 

To succeed fully in this course, students should be able to:

  • Understand OOAD
    • Our course WA1136 addresses the necessary topics
  • Understand J2EE
    • Our course WA1114 addresses the necessary topics
Duration
  Four days.

Course Outline

 

1. Fundamental Architectural Concepts

 
  • Topics
  • What is Architecture?
  • Architecture vs. Design
  • Qualities of Service (QoS)
  • Common Mechanisms
  • Architectural Description
  • What Architecture is Not
  • The Need for Architecture (Cont )
  • The Architect
  • Roles of the Architect
  • Roles of the Architect (Cont )
  • Skills of the Architect
 

2. System Architecture Development Guidelines

 
  • Objectives
  • Security Risks
  • Security Risks (Cont...)
  • Performance & Scalability Risks
  • Availability & Complexity Risks
  • Compatibility & Control Risks
  • Network Considerations
  • Latency and Bandwidth
  • Minimize Number of Network Calls
  • Minimize Network Call Size
  • Firewall Navigation
  • Firewall Navigation (Cont...)
  • Secure Communication
  • Distributed Object Technologies
  • Distributed Object Technologies (Cont...)
  • What is a Transaction?
  • Bank Example
  • Multiple Users Sharing Data
  • ACID Properties of Transactions
  • Architecture
  • Reference Architecture
  • Patterns
  • Development Methodologies
  • Open Standards
  • Frameworks
  • Summary
 

3. Quality of Service Requirements

 
  • Objectives
  • What are Quality of Service Requirements?
  • Qualities of Service and Design
  • Quality of Service Inventory
  • Performance
  • Scalability
  • Reliability
  • Availability
  • Extensibility
  • Maintainability
  • Manageability
  • Security
  • Cultural Adaptability
  • Portability
  • Testability
  • Usability
  • Upgradeability
  • Recoverability
  • Prioritizing Quality of Service Requirements
  • Inspecting QoS Requirements for Trade-off Opportunities
  • Quality of Service Reviews
  • Summary
 

4. Software Architecture Tiers

 
  • Objectives
  • System Architecture
  • Good Architecture
  • Cave Drawings to Modern Day
  • Information Systems Evolution
  • Continued Evolution
  • Present Day
  • Client-Server Computing
  • Client-Server Pros/Cons
  • Client-Server Example
  • Tiered Architectures
  • Single-tier Architecture
  • Single-tier Pros/Cons
  • Single-tier Example
  • Two-tier Architecture
  • Two-tier Pros/Cons
  • Two-tier Example
  • Three-tier Architecture
  • Three-tier Pros/Cons
  • Three-tier Example
  • N-Tier Architecture
  • N-Tier Pros/Cons
  • N-Tier Example
  • Summary
 

5. Managing Client Tier Considerations

 
  • Topics
  • Understand client-tier concerns
  • Types of Clients
  • JEE Client Responsibilities
  • Presenting the user interface
  • Validating user inputs
  • Communicating with the server
  • Managing conversational state
  • Understand Client-Tier Security
  • Client-Tier Security (continued)
  • Compare/contrast user interface devices
  • Application of reuse to the client tier
  • Strategies for deploying Java desktop applications
  • Strategies - continued
  • Summary
 

6. JEE Technology Servers

 
  • Objectives
  • Server Types in JEE
  • JEE Servers
  • JEE Servers (Cont )
  • JEE Containers
  • Enterprise Information Systems
  • ERP Systems
  • Mainframe Transaction Processing Systems
  • Relational and Legacy Databases
  • Legacy Integration
  • Selecting a JEE Server
  • Selecting a JEE Server (Cont )
  • Packaging and Deployment Definitions
  • Roles and Responsibilities
  • EJB Modules
  • EJB Module Packaging
  • EJB Module Recommendations
  • Web Modules
  • Web Module Recommendations
  • Deployment Descriptors
  • Deployment Descriptors (Cont )
  • Summary
 

7. JEE Technologies

 
  • Objectives
  • Servlets
  • Servlets do the following
  • The Web Container
  • Servlet API
  • Session Management
  • Servlet Thread Issues
  • JSP (Java Server Pages)
  • How JSPs Work
  • JSP Elements
  • Using JavaBeans in JSP
  • Custom Tags
  • Filters
  • Filters and the Processing Pipeline
  • Filter API
  • Uses for Filters
  • Event Listeners
  • Event Listeners (Cont )
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Architecture Components
  • EJB Container
  • EJB Container - Persistence
  • EJB Container - Transactions
  • Enterprise Java Beans
  • Session Beans
  • Entity Beans
  • Message-Driven Beans
  • EJB Classes and Interfaces
  • EJB Container - Relationships
  • Remote vs. Local EJBs
  • Web Services
  • Web Service Implementation in JEE
  • Web Service Deployment in JEE
  • JCA (JEE Connector Architecture)
  • Application Level Contract
  • System Level Contracts
  • Summary
 

8. JEE Technology Choices

 
  • Objectives
  • Client Session State
  • Client Managed State
  • Web Tier Managed State
  • EJB Tier Managed State
  • Business Objects
  • When to Use EJB
  • When to Use Entity Beans
  • CMP vs. BMP
  • Client Types
  • Web Browser Clients
  • Java Clients
  • Model View Controller
  • Model View Controller in the Web-Tier
  • Model View Controller in the Web-Tier (Cont )
  • Web Application Frameworks
  • Web Presentation Layout
  • Web Presentation Layout (Cont )
  • Java Presentation Layout
  • Message-Oriented Middleware and JMS
  • Messaging Domains
  • Messaging Domains (Cont )
  • Characteristics of MOM
  • Advantages of Asynchronous Communication (e.g. MOM)
  • Advantages of Synchronous Communication (e.g. RMI/IIOP)
  • Summary
 

9. Java Connector Architecture (JCA)

 
  • Objectives
  • JCA Overview
  • Resource Adapter
  • System Contracts
  • Outbound Contracts
  • Inbound Contracts
  • Lifecycle Contracts
  • Common Client Interface (CCI)
  • Advantages of JCA
  • Resource Adapter Packaging
  • Connection Management
  • Transaction Management
  • Transaction Scenario
  • Client Interaction
  • Summary
 

10. SOA Concepts

 
  • Objectives
  • Anatomy of an Enterprise
  • IT Nightmare
  • Understanding by Analogy
  • Service Oriented Architecture
  • Componentization and Reuse
  • Benefits of Service Orientation
  • Defining SOA
  • Aligning the Enterprise
  • What s a Service?
  • Service Actors
  • Service Layering
  • Is SOA a Flash in the Pan?
  • Service Orienting the Enterprise
  • Service Oriented Thinking
  • Summary
 

11. JAX-WS Introduction

 
  • Objectives
  • JAX Attack
  • JAX-WS Origins
  • JAX-WS Architecture and Tools
  • Providing a Service
  • Service Source (Option 1)
  • Service-enabling Java
  • Service Source (Option 2)
  • Calling a Service
  • Client Source (Option 1)
  • Client Source (Option 2)
  • Advanced Features
  • Summary
 

12. JEE Security

 
  • Objectives
  • JEE Authentication mechanisms
  • Basic authentication
  • Form-based authentication
  • Client certificate authentication
  • JEE Authorization
  • Declarative security on Web Resources
  • Programmatic security on Web Resources
  • Security role reference
  • Defining security roles using annotations
  • Delegation
  • Declarative security on EJB Resources
  • Protecting beans using annotations
  • Protecting beans using the deployment descriptor
  • Programmatic security on EJB Application
  • Delegation
  • Summary
 

13. Web Services Security (WS-Security)

 
  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Certificates
  • Overview of Web Services Security
  • SOAP Message Security
  • Message Integrity
  • Message Confidentiality
  • Symmetric Encryption Example
  • Authentication Using Identity Token
  • Authentication
  • Transport Level Security
  • Audit Tracking
  • Identity Assertion Using SAML
  • SAML SOAP Example
 

14. Prototypes

 
  • Objectives
  • What is a Prototype?
  • Conceptual Prototypes
  • Architectural Prototypes
  • Advantages of Prototyping
  • Advantages of Prototyping (Cont )
  • Deciding Whether to Build a Prototype or Not
  • Prototypes and the Software Development Lifecycle
  • Prototype Roles and Responsibilities
  • Throw-away vs. Evolutionary Prototypes
  • Spikes
  • Testing a Prototype
  • Summary
 

15. Describing and Evaluating Software Architecture

 
  • Objectives
  • Architecture Description
  • Architectural Views
  • Architectural Views (Cont )
  • Subsystems
  • Layers
  • Example: Subsystems with Layers
  • Components
  • Decomposing the System Into Components
  • Software Partitioning Strategies
  • Software Partitioning Strategies (Cont )
  • Managing Dependencies
  • Managing Dependencies (Cont )
  • Component Diagrams
  • Component Diagrams (Cont )
  • Deployment Diagrams
  • Deployment Diagrams (Cont )
  • Tiered Architectures
  • Tiered Architectures (Cont )
  • Managing Complexity
  • Evaluating the Architecture
  • Evaluating the Architecture (Cont )
  • Summary
 

Appendix A. Data Transfer in Distributed Computing

 
  • Topics
  • Data Transfer in Java Local Computing
  • Data Transfer in Java Distributed Computing
  • Comparing Data Transfer in Local and Distributed Computing
  • Comparing Data Transfer in Local and Distributed Computing (Cont )
 

Appendix B. Transactions

 
  • Objectives
  • Need for Transactions
  • Transactions
  • ACID Properties
  • Transaction Components
  • Distributed Transactions
  • Distributed Transaction Components - Two Phase Commit
  • Java Transaction API (JTA)
  • Object Transaction
  • EJB Transaction Basics
  • Transaction Propagation
  • Transaction Outcome
  • Container Managed Transaction
  • Container Managed Transaction Settings
  • Interacting with Container Managed Transactions
  • Container Managed Transaction - Example
  • Transaction Attributes Support
  • Bean Managed Transaction
  • Bean Managed Transaction - Example
  • Client Managed Transaction
  • Transaction Isolation
  • Isolation Level
  • Summary
 

Appendix C. Business and Integration Tier Patterns

 
  • Objectives
  • Business Delegate Pattern
  • How it works
  • Data Transfer Object Pattern
  • DTO Example (Output)
  • DTO Example (Input)
  • Role of DTO in MVC
  • Access Beans
  • Types of Access Beans
  • Data Class Access Bean
  • Data Class Programming Model
  • Access Bean Constructor
  • Generating Access Beans
  • Generating a Data Class
  • Generating an EJB Factory
  • Using EJB Factory and Data Class
  • Deleting the Access Bean
  • Value Object Pattern
  • Multiple Value Objects
  • Best Practice derive EJB from the Value Object
  • Composite Entity Pattern
  • An example
  • Class Diagram
  • How the client interacts
  • Value Object Assembler
  • Value List Handler
  • How does it work?
  • How does it work - continued
  • Design Considerations
  • Service Locator
  • Data Access Object (DAO)
  • DAO Implementation Guidelines
  • Service Activator
  • MDB- Integrating JMS and EJB
  • Message-Driven Beans Are Different From Other EJBs
  • Message-Driven Beans are Stateless
  • Message-Driven Bean Interfaces
  • Example: Message Counter
  • Class MessageCounter
  • Processing the Message
  • Deployment Descriptor Entry
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline
Setup Guide Lab Setup Guide

Buy on-site and customized class

Attend a public class

07/09/2012 - Toronto
$2,850.00 Enroll

07/09/2012 - Ottawa
$2,850.00 Enroll

07/16/2012 - Vancouver
$2,850.00 Enroll

07/23/2012 - Calgary
$2,850.00 Enroll

07/23/2012 - Montreal
$2,850.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.