Search our courses
Training

This Architecting and Designing Java EE Applications training course provides the students with the prerequisite knowledge necessary to use JEE in order to architect robust and maintainable enterprise applications.

Architecting and Designing Java EE Applications

Course Code

GTIT5

Duration

4 Days

Course Fee

POA

Accreditation

N/A

Target Audience

This Architecting and Designing Java EE Applications training course is suitable for Architects, Senior Designers and Development and Product Managers.

Attendee Requirements

Delegates attending this course should have an understanding of OOAD and JEE to succeed in this course.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please Contact Us to discuss your suitability for course attendance.

Expand all

Course Description

This Architecting and Designing Java EE Applications training course provides the students with the prerequisite knowledge necessary to use JEE in order to architect robust and maintainable enterprise applications.

Course Outline

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

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

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

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

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

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

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

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

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

Chapter 12 – REST and JAX-RS Overview

  •     Many Flavors of Services
  •     Where SOAP Shines
  •     Where REST Shines
  •     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

Chapter 13 – JEE Security

  •     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

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

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

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

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

 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

 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)
Learning Path

Please Contact Us for further details.

Ways to Attend
  • Attend a public course, check our schedule
  • Private onsite Team training also available

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

"Absolutely fantastic training. Thoroughly enjoyed it thanks to our highly enthusiastic tutor.  It wouldn't be an understatement to say that it was the best professional training that I have ever received."

 

Customised Linux with Networking

Live Online -  February 2022

 

"The course content was very good. When needed, the Instructor was extending the content of the course with hints and tips to help us understand different topics that were covered in the course."

 

Kubernetes Administration Certification - GTLFK

Live Online June 2021

 

 

 

“The course was held at the highest possible standards, the instructor was excellent, well prepared, well informed, and clearly an SME. Top marks.”

 

Professional Cloud Service Manager - GTC13

Live Online December 2021

 

“Very engaging and practical course so hope to be able to put the learning into practice.”

 

Being Agile in Business - GTBAB

Live Online September 2021

 

“Great instructor, who encouraged active participation. The breakout groups and exercises kept the group engaged and the content relevant to our own products”.

 

Site Reliability Engineering Foundation - GTDSRE

Live Online January 2022

 

 

 

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
  •  
  •  
  •  

 

Upcoming Courses

Kubernetes Administration

28th - 31st May 2024

11th - 24th June 2024

18th - 21st June 2024

 Live Online

 

This Kubernetes Administration Certification training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster

Learn More

RUST

28th - 31st May 2024

11th - 14th June 2024

18th - 21st June 2024

 Live Online

This course will help you understand what Rust applications look like, how to write Rust applications properly, and how to get the most out of the language and its libraries.

Learn More

Introduction to Python 3 

7th - 9th May 2024

4th - 6th June 2024

 

Live Online

This Introduction to Python 3 training course is designed for anyone who needs to learn how to write programs in Python or support/modify existing programs.

 

Learn More

 GO LANG TRAINING

28th - 31st May 2024

11th - 14th June 2024

18th - 21st June 2024

 

Live Online        

 

This Go language programming training course will help you understand how Go works, and immediately be more productive. If you are building a team using Go, this will be a great opportunity to get your team on the same page and speaking the same language. Innovative lab exercises and code samples are provided to reinforce skills and quickly master the topics.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter