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 > Eclipse IDE > J2EE Architecture and Patterns using Eclipse and JBoss Training

J2EE Architecture and Patterns using Eclipse and JBoss Training

Course#: WA1088

J2EE is a collection of technologies specifically meant to aid development of enterprise class software applications. This course will help architects and senior developers devise a plan that other developers in the team can follow to develop robust, high performance, easy to maintain and secure applications. The material in this class covers the most critical areas of a mission critical application. This course highlights best practices for J2EE application development.
Topics
 
  • What are Patterns?
  • Presentation Tier Patterns and Best Practices
  • Business and Integration Tier Patterns and Best Practices
  • EJB Layer Patterns
  • Transaction Management
  • Performance Patterns
  • Messaging Patterns
  • AntiPatterns
Course Objectives
  Upon completing this course, the students will be able to:
  • Apply J2EE best practices to your applications
  • Use a pattern language for effective communication with other J2EE programmers and architects
  • Know what not to do as much as what to do
  • Find performance bottlenecks and take corrective action
  • Write highly-maintainable applications
Audience
  Senior programmers and architects who need to develop J2EE applications for commercial use or for which performance, scalability, and maintainability levels need to be placed above the typical level for trivial or throw-away applications.
Prerequisites
  Students are expected to have a strong understanding of Java programming and web application programming. More than cursory knowledge of the J2EE specification (at least EJB, JMS) is recommended.
Duration
  Five days.

Outline of WA1088 J2EE Architecture and Patterns using Eclipse and JBoss Training

Chapter 1. Introduction
 
  • Introduction
  • Objectives
  • Java Web Application Architecture
  • J2EE Architecture
  • Web Application Programming Model – MVC
  • Patterns
  • Factory Method
  • Singleton
  • Command
  • Modeling the Structure Aspect of Command Pattern
  • Modeling the Behavior Aspect of Command Pattern
  • Facade
  • Adapter
  • Proxy
  • Publish-Subscribe
  • Modeling the Structural Aspect of the Publish-Subscribe Pattern
  • Modeling the Behavioral Aspect of the Publish-Subscribe Pattern
Chapter 2. Presentation Tier Patterns
 
  • Objectives
  • Why use the intercepting filter pattern?
  • Uses for Filtering
  • What is a filter?
  • Features of filters
  • The Filter interface
  • How a filter works
  • In what order?
  • A simple logging filter
  • Configuring the filter
  • Mapping the filter
  • The Web Deployment Descriptor
  • Common filter tasks
  • Request and Response Wrappers
  • How Struts uses this design pattern?
  • Front Controller Pattern
  • Command and Controller Strategy
  • Advantages of command and controller strategy
  • How Struts uses this strategy?
  • View Helper Pattern
  • Use JavaBean as result bean helper
  • Use JavaBean as command bean helper
  • Use custom tag for display logic written in Java
  • Components of a Tag library
  • JSTL Overview
  • How Struts uses this pattern
  • Problem
  • Solution 1 – use jsp:include
  • Solution 2 – use Struts templates
  • Solution 2 continued
  • Transform View Pattern
  • The Music Collection Example – Sample XML file
  • The Music Collection Example – Retrieving owner details
  • The Music Collection Example – Retrieving the core data
  • The Music Collection Example – Current Output
  • Transformation with Java
  • Reading an XML
  • Transforming to HTML
  • Transforming to System.out
  • Summary
Chapter 3. Presentation Tier Design Considerations
 
  • Objectives
  • HttpSession
  • Why on the server?
  • Session Tracking Options
  • URL Rewriting
  • Do not store large Object Graphs in HttpSession
  • Session and Clustering
  • The problem
  • The design pattern that fixes it
  • A client side fix
  • Struts implementation
  • Typical validation rules
  • Client-side validations
  • Jakarta commons validation framework features
  • Not resetting JavaBeans between requests
  • Passing HttpServletRequest to business tier
  • Summary
Chapter 4. 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
  • Trouble with DTO
  • 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
  • Class MessageCounter
  • Processing the Message
  • Deployment Descriptor Entry
  • Summary
Chapter 5. Business and Integration Tier Best Practices
 
  • Objectives
  • Exception Handling
  • Exception Handling (cont.)
  • Use java:comp to locate resources
  • Example: Defining Data Source Resource Reference in WebSphere Studio
  • Use java:comp to locate resources - continued
  • Use Container Authentication.
  • Use JDBC Connection Pooling
  • Prepared Statement Cache.
  • Release JDBC Resources
  • Optimize database first
  • DB2 Tuning - MaxAppls
  • DB2 Tuning - MaxAgents
  • DB2 Tuning - Buffer Pool Tuning
  • DB2 Tuning - Configuring buffpage
  • DB2 Tuning - Evaluating the buffer pool size
  • DB2 Tuning - Monitoring the database buffer pool
  • DB2 Tuning - reorgchk
  • Using log4j from an Web application
  • Using Log4J
  • Example servlet using log4j
  • Summary
Chapter 6. Other EJB Patterns
 
  • Objectives
  • Session Façade
  • Session Façade Pattern
  • Session Façade
  • Miscellaneous Details
  • Message Façade Pattern
  • Message Façade
  • Message façade pattern shortcomings
  • Version Number pattern
  • Version Number Pattern
  • Sequence Blocks
  • Stored Procedures for Autogenerated Keys
  • Fast Lane Pattern
  • Summary
Chapter 7. Transaction Management
 
  • Topics
  • What is a transaction?
  • ACID properties
  • Transaction demarcation
  • Resource managers
  • Isolation levels
  • Isolation Level
  • WebSphere - Setting Isolation Level for EJB
  • WebSphere - CMP EJB Access Intent
  • WSAD - Setting Access Intent
  • WSAD - Setting Data Source Isolation Level
  • WebLogic – Isolation Level
  • Basics
  • Manage your own transactions
  • Change isolation level
  • EJB Transaction Basics
  • Transaction Propagation
  • Client Managed Transaction
  • Bean Managed Transaction
  • Container Managed Transaction
  • Transaction Outcome
  • Vetoing Transaction
  • Let the container manage transactions
  • CMT and the Session Façade
  • CMT and other EJBs
  • Transactions and Message Driven Beans
  • Distributed transaction
  • Two-phase commit
  • Aborting a global transaction
  • Optimizations
  • Window of doubt
  • JMS, EJB, XA
  • Using XA-enabled data source
  • Increase concurrency by reducing transaction isolation level
  • Keep transactions short
  • Multi-step wizard “the wrong way”
  • What’s wrong?
  • Multi-step wizard “the right way”
  • Summary
Chapter 8. Performance
 
  • Topics
  • Overview
  • Visitor, hit, user
  • Load, throughput, response time
  • Response time
  • Effect of load on the system
  • Saturation and buckle points
  • Scaling
  • Performance and scalability are different!
  • Problem Areas
  • CPU utilization
  • Measure CPU utilization everywhere
  • Symptoms of underutilization
  • What causes underutilization?
  • Network capacity problem?
  • Synchronization problem?
  • Slow external resource?
  • Is the test pushing the system hard enough?
  • Does your system scale?
  • Symptoms of burstiness
  • Infrequent synchronization problem?
  • Test driver synchronization problem?
  • Slow back-end systems?
  • Slow garbage collection?
  • Timeout problems?
  • Erratic network traffic?
  • Symptoms of overutilization
  • The components of CPU usage
  • High User CPU
  • High System CPU
  • High Wait CPU
  • Server hanging
  • Thread dump in WebSphere v5
  • Thread dump file
  • Uneven cluster loading
  • Load balancer configured correctly?
  • Plan of attack
  • Overview
  • What is WPT?
  • Download and install
  • record
  • Configure your system to use record
  • Record a session
  • Output from record
  • Details of running a stress test
  • Best Practices
  • Summary
Chapter 9. Messaging Tier Patterns
 
  • Objectives
  • Java Message Service
  • JMS Programming: Overview
  • The JMS Interfaces
  • JMS PTP Programming: Example
  • One-to-one (Local)
  • One-to-one (Remote)
  • Request-Reply
  • One-to-Many
  • Many-to-one
  • Many-to-one With Reply
  • Many to Many
  • Hub and Spoke
  • Route to different queues based on message content
  • Break a composite message and process separately
  • Combine related messages to a single message
  • Send Large Messages Using the Memento Pattern
  • Summary
Chapter 10. Architecting Security
 
  • Objectives
  • Security Functionality
  • What Can You Secure?
  • Challenge Mechanism
  • Basic Challenge
  • Client Certificates
  • Form-based Authentication
  • Form-based Authentication in J2EE
  • User Registry
  • LDAP User Registry
  • Custom User Registry
  • HTTP Single Sign On (SSO)
  • HTTP Single Sign On (cont.)
  • J2EE Authorization Model
  • WebSphere Authorization Model
  • Protecting Web Resources
  • Protecting EJB Methods
  • EJB Delegation Policies
  • Delegation Scenario
  • Form Based Logout
  • Architecture Guidelines
Chapter 11. Build and Deployment
 
  • What is Ant?
  • Writing a Build Script
  • How to run Ant?
  • Using ant from WSAD
  • Running Ant in WSAD
  • Advanced Task
  • Automating Deployment
  • WebSphere Deployment Tasks
Chapter 12. JUnit and Eclipse
 
  • Objectives
  • What is JUnit?
  • Who uses JUnit?
  • Why JUnit?
  • The xUnit Philosophy
  • A JUnit Test
  • Running the tests
  • Swing-based Test Runner
  • Text-based Test Runner
  • JUnit Basics
  • assertTrue
  • assertEquals
  • assertSame
  • assertNull
  • The failure message
  • The Test Class
  • The Test Method
  • The Test Suite
  • JUnit Design
  • JUnit with Ant
  • JUnit with Eclipse
  • Create a Test Case
  • Running Tests
  • Eclipse Test Runner Icons
  • Rerun an individual test
  • Failure Trace
  • Debug with JUnit
  • Test Suite Wizard
  • Testing Strategies
  • Specific Techniques
  • Testing simple Java classes
  • Testing with databases
  • Testing web applications
  • Test-Driven Design
  • Test-Driven Design
  • Parting Thoughts
  • Summary
Chapter 13. Struts Architecture and Overview
 
  • Objectives
  • Review: MVC Model
  • Review: Request, Session and Application
  • What is Struts?
  • Struts Flow
  • Components in Struts
  • The Model
  • The View
  • The Controller
  • Struts Flow
  • struts-config.xml
  • struts-config.xml Content
  • The <data-sources> element in the struts-config.xml
  • The <form-beans> element in the struts-config.xml
  • The <global-forwards> element in the struts-config.xml
  • The <action-mappings> element in the struts-config.xml
  • Sample struts-config.xml
  • The Role of web.xml for the Application
  • Configuring Struts in the web.xml
  • web.xml Content
  • Steps to Configuring Struts in the web.xml
  • Step 1. Configuring the Action Servlet Instance in the web.xml
  • Action Servlet Config Example
  • Step 2. Configuring the Action Servlet Mapping in web.xml
  • Prefix Mapping Example
  • Extension Mapping Example
  • Step 3. Configuring the Struts Tag Libraries in the web.xml
  • Sample web.xml
  • 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.
*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
Other Details

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.