UMBC Training Centers logo

Java EE Design Patterns with WebSphere and RAD 7.5


Course Description | Outline | IT Home

1. Introduction to Software Patterns
* What are patterns?
* Why do we need patterns?
* Documenting a pattern. Describe the format in which each pattern is described.
* Model View Controller pattern
* Implementing MVC in Java EE:
o Basic Servlet/JSP way.
o Using JSF.
o Using Struts. Cover this only if you can do this quickly by using existing content. Struts is low priority right now.
* Factory Method
* Singleton
* Command

2. Presentation Tier Patterns
* Intercepting Filter
o Implementation in Servlet, Struts and JSF
* Front Controller
o Implementation in Servlet, Struts and JSF
* Composite View
o Tiles, Facelet and portlet
* View Helper
* Service to Worker
* Dispatcher View
* Context Object
* Application Controller

3. Presentation Tier Design Considerations
* Problem with Servlet session management
* Alternatives to Servlet session management
* Session and clustering
* Session persistence
* Session synchronization
* Client side input validation
* Multi-page transaction (wizard interface)
* Dynamic caching
* Understanding web container class loading architecture

4. Business Tier Patterns
* Business Delegate
* Session Facade
* Service Locator
* Transfer Object
* Composite Entity
* Transfer Object Assembler
* Value List Handler
* Business Object
* Application Service

5. Integration Tier Patterns
* Data Access Object
* Service Activator
* Domain Store
* Web Service Broker

6. Other EJB Patterns
* Message façade
* Command
* Data Transfer Object (DTO)
* Version number
* Identity primary key generation
* Fast lane

7. Business and Integration Tier Design Considerations
* Error handling and transaction management
* Logging and tracing
* Connection pooling
* Database locking and isolation level
* Read for update
* Distributed and local transaction

8. 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

9. Ajax Patterns
* Introduction to Ajax
* Advantages of Ajax
* Implementing MVC using Ajax.
* Common Ajax patterns
o Partial page update
o Auto-completion
o Progress bar

10. Web Services Patterns
* Introduction to web services.
* When to use web services?
* Top-down development using JAX-WS
* Bottom-up development using JAX-WS
* Developing a client using JAX-WS
* Advanced Web Services interaction patterns. Just describe the basics.
o Asynchronous web service invocation using WS-Addressing.
o Implementing WS-Addressing in JAX-WS
o Guaranteed delivery using WS-ReliableMessaging
o Publish/subscribe using WS-Notification
* Common SOA patterns

11. Web Tier Security Patterns and Best Practices
* SANS top 10 security threats and how to avoid them.
* Java EE authentication pattern
* Application based authentication pattern
* Java EE authorization pattern
* Secure base action pattern
* Single Sign On pattern
* Database encryption