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, filters, JavaServer Pages, custom JSP tags, JavaBeans, XML deployment descriptors, MVC concepts, Struts and Enterprise JavaBeans. Additionally, the role of the WebSphere Application Server v6.0 for testing, use of WAR 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 J2EE 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 large scale applications using JSPs, servlets, Enterprise JavaBeans using Rational Application Developer v6.0.
Learning Objectives
After completing this course, the student should be able to:
- Understand the role of the RAD v6.0 IDE tool
- Explain the role of RAD projects and perspectives
- Demonstrate the usage of RAD wizards for rapidly
developing components, projects and servers
- Illustrate the J2EE 1.4 component model and
role in designing server-side applications
- Develop, debug and test servlet and JSP components
- Demonstrate usage of custom JSP tags and tag
libraries.
- Understand role of JDBC to establish connectivity
to relational structures
- Illustrate the role of Struts and develop
Struts oriented applications
- Understand the role of Web Services, UDDI
Registries and the Service Oriented Architecture
- Depict the role of JMS and message-oriented-middleware
- Illustrate the J2EE packaging and deployment
strategies
- Demonstrate the usage of JCA and the role
of resource adapters
- Illustrate RAD v6.0 EAR, WAR and JAR packaging
- Deploy applications to the embedded WebSphere
Application Server
Course Duration
5 Days
Course outline
WebSphere v6.0 Overview
- Multitiered 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, Security, RMI, JMS, etc
- J2EE packaging
- Application lifecycle
- WebSphere architecture: Cells, Clusters,
Nodes, Node Agents, Web Services Gateway
- WSAD development environment
RAD IDE
- Understanding Eclipse
- Multiple document interface
- RAD product evolution
- Plug-in architecture
- Java development features
- Web development
- XML capabilities
- Server configuration
- Deployment Descriptors
- Projects and Perspectives
- RAD folder structure
- Import/Export projects
- Utilizing Perspectives
- Navigation panel
RAD Debugger
- Debugger role
- Debug perspective
- Debugger preference settings
- Initiating debugger
- Suspended threads
- Execution controls
- Inspecting expressions
- Breakpoints
- Exception handling
Servlet Development
- Servlet Evolution
- Characteristics
- 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
- Development in RAD
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
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 RAD
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 tag libraries
- Core
- Formatting
- Database
- XML
- JSTL Expression language
Web Services
- Service-oriented architecture
- Web service model
- B2C vs B2B
- Role of XML
- SOAP and SOAP messages
- WSDL
- UDDI registries
- Web Services Gateway
- JCA integration
JMS and Message Middleware
- JMS and JMS Providers
- JMS Clients
- Asynchronous Messaging
- Publish/Subscribe
- Point-to-Point
- Connection Factories
- JMS Destinations
- JMS Listeners
- Listener Managers
- ejb-jar.xml updates
- WebSphereMQ
- Queue Managers and Brokers
- WebSphereMQ Clustering
- Network Deployment implementation
Struts Overview
- Struts and MVC framework
- Benefits of Struts
- Servlet/JSP and JSP models
- Struts architecture
- ActionServlet
- Action
- ActionForm
- ActionForwards
- ActionError
- RAD implementation
- struts-config.xml
- Web Diagram tool
EJB Overview
- EJB benefits
- EJB portability foundation
- EJB container services and responsibilities
- Enterprise Bean types
- Session vs Entity vs Message beans
- Stateful vs Stateless Session
- Managing state data
- CMP vs BMP Entity beans
- EJB Container role
- Bean lifecycle management
- Transactional processing
- Security issues
- Development within RAD
|