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

821A Bloor Street West
Toronto, ON
M6G 1M1

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 > Enterprise Architecture (EA) > Architecting and Designing Java EE 6 Applications Training

Architecting and Designing Java EE 6 Applications Training

Quick Enroll

Course#: WA1280
Courseware: Available for sale

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

Objectives
  Upon completion of this course, you should be able to:
  • Use JEE to solve common architectural problems
  • Apply JEE 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
  • JEE Servers
  • JEE Overview
  • JEE Technology choices
  • Requirements, analysis and design workflow
  • Defining the architecture
  • JEE 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 JEE
    • Our course WA1718 addresses the necessary topics
Duration
  Four days.

Outline of WA1280 Architecting and Designing Java EE 6 Applications Training

Chapter 1 - Fundamental Architectural Concepts

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

Chapter 2 - System Architecture Development Guidelines

  • Security Risks
  • 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
  • Secure Communication
  • Distributed Object Technologies
  • What is a Transaction?
  • Bank Example
  • Multiple Users Sharing Data
  • ACID Properties of Transactions
  • Architecture
  • Reference Architecture
  • Patterns
  • Development Methodologies
  • Open Standards
  • Frameworks
  • Summary

Chapter 3 - Quality of Service Requirements

  • 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

Chapter 4 - Software Architecture Tiers

  • 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
  • Three-tier Architecture
  • Three-tier Pros/Cons
  • Three-tier Example
  • N-Tier Architecture
  • N-Tier Pros/Cons
  • N-Tier Example
  • Summary

Chapter 5 - Client Tier Technologies

  • HTML5
  • HTML5 Main Objectives
  • Which Features of HTML 4 Changed
  • New Features of HTML 5
  • New Features of HTML 5
  • Browser-side Data Storage
  • Declaring HTML5
  • Detecting Support for HTML5
  • HTML5 Input Validation Example
  • HTML5 Date Form Widget
  • The Document Object Model
  • The Document Object Model
  • What the DOM is Not
  • Cascading Style Sheets
  • CSS Levels
  • What is JavaScript?
  • Working with JavaScript
  • Working with JavaScript
  • What is jQuery?
  • Benefits of Using a JavaScript Library
  • jQuery Example
  • jQuery Mobile
  • Apache Cordova (Adobe PhoneGap)
  • Apache Cordova History
  • Bootstrap
  • Responsive Web Design
  • Why Responsive Web Design Matters
  • Responsive Web Design Components
  • Mobile First
  • Backbone.js
  • Backbone Modules
  • MVC and Backbone
  • AngularJS
  • Summary

Chapter 6 - Managing Client Tier Considerations

  • 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
  • Compare/Contrast User Interface Devices
  • Application of Reuse to the Client Tier
  • Strategies for Deploying Java Desktop Applications
  • Applet Usage
  • Summary

Chapter 7 - JEE Technology Servers

  • Server Types in JEE
  • JEE Servers
  • Java EE 6 Profiles
  • Popular Java EE Application Servers
  • Java EE Blueprint
  • JEE Containers
  • Enterprise Information Systems
  • ERP Systems
  • Mainframe Transaction Processing Systems
  • Relational and Legacy Databases
  • Legacy Integration
  • Selecting a JEE Server
  • Packaging and Deployment Definitions
  • Roles and Responsibilities
  • EJB Modules
  • EJB Module Packaging
  • Web Modules
  • Web Module Recommendations
  • Deployment Descriptors
  • Summary

Chapter 8 - JEE Technologies

  • Major Programming Technologies of Java EE
  • Servlets
  • Servlets Do the Following
  • The Web Container
  • JSP (Java Server Pages)
  • JSP Elements
  • JSP Standard Tag Library (JSTL)
  • Servlet Filters
  • Uses for Filters
  • JavaServer Faces (JSF)
  • JSF 2.0
  • Contexts and Dependency Injection for Java (CDI)
  • CDI Example
  • Bean Validation
  • Java Message Service (JMS)
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Container
  • Enterprise Java Beans
  • EJBs are Simple!
  • Session Beans
  • Remote vs. Local Session EJBs
  • Asynchronous EJB
  • Singleton EJB
  • Message-Driven Beans
  • Data Persistence
  • Java Persistence API
  • Entities
  • Session EJB vs JPA Entities
  • Java Web Service Implementation Choices
  • Java Architecture for XML Binding (JAXB)
  • Java SOAP Web Services with JAX-WS
  • Java REST Web Services with JAX-RS
  • JCA (JEE Connector Architecture)
  • Summary

Chapter 9 - JEE Technology Choices

  • Client Session State
  • Client Managed State
  • Web Tier Managed State
  • EJB Tier Managed State
  • Business Objects
  • When to Use EJB
  • Persistence Data Options
  • Client Types
  • Web Browser Clients
  • Java Clients
  • Model View Controller
  • Model View Controller in the Web-Tier
  • Web Application Frameworks
  • Web Presentation Layout
  • Java Presentation Layout
  • Message-Oriented Middleware and JMS
  • Messaging Domains
  • Characteristics of MOM
  • Advantages of Asynchronous Communication (e.g. MOM)
  • Implementing Asynchronous EJBs
  • Advantages of Synchronous Communication (e.g. RMI/IIOP)
  • Remote Access to Business Logic
  • Summary

Chapter 10 - SOA Concepts

  • 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

Chapter 11 - Introduction to JAX-WS

  • What is JAX-WS?
  • Advantages of JAX-WS
  • Why Do We Need a Programming Model?
  • Basic Java to WSDL Mapping
  • Developing a Service Provider
  • The Service Implementation Class
  • The Service Endpoint Interface (SEI)
  • Service Implementation Options
  • Developing a Consumer
  • Static Client Development
  • The Service Class
  • The BindingProvider Interface
  • Summary

Chapter 12 - REST and JAX-RS Overview

  • Many Flavors of Services
  • Where SOAP Shines
  • Where REST Shines
  • REST vs SOAP Summary
  • Understanding REST
  • Principles of RESTful Services
  • Example: Catalog Service
  • Create a New Product
  • Retrieve a Product
  • Update a Product
  • Delete a Product
  • Introduction to JAX-RS
  • The Resource Class
  • The Entity Class
  • Retrieve a Product
  • Create a Product
  • Update and Delete
  • Content Negotiation
  • Retrieving a JSON Representation
  • Sending a JSON Representation
  • REST Service Clients
  • AJAX and XML
  • AJAX and JSON
  • Java REST Clients
  • Summary

Chapter 13 - JEE Security

  • JEE Authentication Mechanisms
  • Basic Authentication
  • Form-based Authentication
  • Client Certificate Authentication
  • JEE Authorization
  • Sample Role Mapping
  • 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

Chapter 14 - 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

Chapter 15 - Prototypes

  • What is a Prototype?
  • Conceptual Prototypes
  • Architectural Prototypes
  • Advantages of Prototyping
  • 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

Chapter 16 - Describing and Evaluating Software Architecture

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

Appendix A - Data Transfer in Distributed Computing

  • Data Transfer in Java Local Computing
  • Data Transfer in Java Distributed Computing
  • Comparing Data Transfer in Local and Distributed Computing
  • Summary

Appendix B - Transactions in EJB

  • Need for Transactions
  • Transactions
  • ACID Properties
  • Transaction Components
  • Distributed Transactions
  • Distributed Transaction Components - Two Phase Commit
  • Java Transaction API (JTA)
  • EJB Transaction Basics
  • Transaction Propagation
  • Transaction Outcome
  • Container-Managed Transaction
  • Transaction Attributes
  • Container-Managed Transaction Settings
  • Interacting with Container-Managed Transactions
  • Container-Managed Transaction – Example
  • Application Exceptions in Container-Managed Transactions
  • Transaction Attributes Support
  • Bean-Managed Transaction Management Type
  • Summary

Appendix C - Business Tier Patterns - 1

  • Facade Pattern
  • Business Object Pattern
  • Application Service Pattern
  • Service Locator Pattern
  • Remote Service Locator Example
  • Dependency Injection in Servlets
  • Business Delegate Pattern
  • Summary

Appendix D - Business Tier Patterns - 2

  • Data Transfer Object (DTO) Pattern
  • JPA Entity as DTO
  • JPA Lazy Loading
  • Message Facade
  • Fast Lane Pattern
  • Pagination (Value List Handler) Pattern
  • Version Number Pattern
  • Read for Update Pattern
  • Primary Key Generation
  • Data Access Object (DAO)
  • Summary
Address Start Date End Date
Instructor Led Virtual 07/17/2017 07/20/2017
Instructor Led Virtual 08/28/2017 08/31/2017
Instructor Led Virtual 11/06/2017 11/09/2017
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.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

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

Thank you!.

more details
buy this course

07/17/2017 - Online Virtual
$2,395.00
Enroll

08/28/2017 - Online Virtual
$2,395.00
Enroll

11/06/2017 - Online Virtual
$2,395.00
Enroll


 

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.