Overview
This course will integrate a combination of instructor-led discussions and interactive workshops to demonstrate the development and testing of server-side applications using J2EE component model. This course will focus on illustrating the use of the Rational Application Developer product for developing servlets, JavaServer Pages and Enterprise JavaBeans. Additionally, the role of the WebSphere Application Server v6.1 for testing, use of WAR, JAR and EAR files, debugging and deployment will be highlighted. Each student will learn the best practices solution for developing J2EE applications using Model-View-Controller framework and the separation of servlets, JSPs and JavaBean components.
Prerequisites
Each student should have a basic understanding of the internet and have been exposed to the Java programming language.
Class Format
Lecture and Lab
Audience
Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using JavaServer Pages, servlets, Enterprise JavaBeans using Rational Application Developer.
Learning Objectives
After completing this course, the student should be able to:
- Understand the role of the RAD tool
- Depict the usage of RAD projects and perspectives
- Illustrate the J2EE 1.5 component model and
role in designing server-side applications
- Develop, debug and test servlet components
with Servlet v2.4
- Depict development of servlet filters
- Illustrate usage of JavaServer Pages using
JSP v2.0
- Integrate JavaBeans with the servlet/JSP
development model
- Demonstrate usage of custom JSP tags and tag
libraries
- Understand role of JDBC to establish connectivity
to relational structures
- Management of state data using sessions and
request objects
- Role of Session Manager for storing state
or shopping cart information
- Use of existing Enterprise JavaBeans for
application business logic (Entity, Session
and Message)
- Administer and manage WebSphere Application
Server using the Server perspective in RAD
- Demonstrate packaging of JAR, WAR and EAR
components
- Deploy Enterprise applications to WebSphere
Application Server in RAD
Course Duration
5 Days
Course outline
WebSphere
Overview
- N-tier architecture
- Model-View-Controller
- WebSphere products
- Browser role
- HTTP Server
- Application Server
- Standalone vs Network Deployment administration
- RAD Suite
- J2EE platform
- J2EE APIs
- J2EE services:
- JNDI
- JDBC
- JMS
- Security
- JTA/JTS
- J2EE packaging
- Application lifecycle
JavaServer
Pages
- JSP Components
- JSP & Servlet integration
- Servlet/JSP model
- JSP request cycle
- Operational model
- JSP translations
- Forwarding
- JSP methods: jspInit, jspService and
jspDestroy
- JSP Tags and scripting elements
- Implicit objects
- Directives
- Declarations
- Expressions
- Scriptlets
- JSP Action tags
- JavaBean integration
- useBean
Scope attribute
- Development using WSAD
RAD IDE
- Understanding Eclipse
- Multiple document interface
- RAD product family
- Plug-in architecture
- Java development features
- Web development
- XML capabilities
- Server configuration
- Deployment Descriptors
- Projects and Perspectives
- RAD folder structure
- Java and XML editor
- Search capabilities
- Web Services toolset
- Import/Export projects
- Utilizing Perspectives
- Navigation panel
JavaBeans
- Bean types: Visual, Non-visual and Repository
- JavaBean rules
- Implementation strategies
- Components: properties, methods and
events
- Evolution of JavaBeans
- Integration with Web Services
- Servlet/JSP model usage
- Use with HttpSessions
- JavaBeans and JSPs
- Use of JSP action tags
- useBean
- getProperty
- setProperty
- Role of Scope
RAD Debugger
- Debugger role
- Debug perspective
- Debugger preference settings
- Initiating debugger
- Suspended threads
- Execution controls
- Inspecting expressions
- Breakpoints
- Exception handling
JSP Tag Libraries
- Custom Tag libraries
- Tag Handler classes
- Tag Library Descriptor file
- taglib
page directive
- Defining TLD entries
- Deploying Tag libraries
- Using web.xml aliases
- JSP Standard Tag Libraries
- JSTL Expression language
Servlet
Development
- Servlet Evolution
- Characteristics
- Statement blocks
- Stateless vs Stateful
- Servlet message structure:
HTTP header & FORM data
- Web Container: Instance Pool, JVM and
JRE roles
- Lifecycle
- HTML FORM interaction: ACTION and METHOD
parameters
- POST vs GET processing
- Reading POST data
- Java Servlet API
- init
and
destroy methods
- Parameters vs Attributes
- Development in RAD
- Servlet Operational model
- Deployment and testing
JDBC Concepts
- JDBC API
- Role of JDBC drivers
- Type 1-4 Drivers
- Standard vs XA drivers
- Two-phase commit compliant
- Defining JDBC resource provider to WebSphere
application server
- JDBC v2.0 vs JDBC v3.0
- Connection pooling
- Min & max settings
- Timeout
- Statement caching
- Reap settings
- Use of DataSource objects
- Namespace lookups
- Creating Connections
- Managing ResultSets
- Data type conversions
Exception Handling
- Defining Exceptions
- Error vs Exception classes
- Runtime exception errors
- throws
statement
- try/catch
blocks
- finally
block
- Execution patterns
- throw
statement
- Creating Exception classes
Struts Applications
- MVC design pattern
- Servlet/JSP and JSP models
- Struts architecture
- ActionServlet
- Action
- ActionForm
- ActionForwards
- ActionError
- WSAD implementation
- struts-config.xml
- Web Diagram tool
J2EE
Applications
- Web Application structure
- Context paths
- WEB-INF files
- Servlet Context
- web.xml
entries
- Servlet mapping
- Taglib alias
- Security constraints
Security Concepts
- WebSphere Security overview
- Security Model
- JAAS
- LTPA
- SWAM
- Tag Authenticator Interceptors
- LDAP/Local OS
- CSIv2
- Security Roles
- Defining Security Constraints
- web.xml security tags
- Mapping roles to groups
Session Data
- Session support
- WebSphere Session management
- Retrieve HttpSession
- Invalidation
- Accessing existing sessions
- RequestDispatcher
- Servlet Contexts
- Session configuration
- Persistent Session types
- WebSphere internal messaging: Peer-to-Peer
vs Client/Server
- Session affinity
- Cookies
Servlet
Filters
- Filter model and API
- Configuring filters
- Filter mapping using web.xml
- Development using RAD
- Request & Response wrappers
|