J2EE Development using Rational Application Developer v6.0
Onsite/Virtual Instructor-Led Format



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.
   

Duration

5 Days
   
Course Abstract
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.
   
Objectives

Upon conclusion participants will have acquired these skills:

  • 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
   
Class Format Lecture and Lab
   
Prerequisites

Each student should have a basic understanding of the internet and have been exposed to the Java programming language.

Course Topics

The following list represents the sections and topics discussed in this virtual instructor-led course offering.

 

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

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

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

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

RAD Debugger

  • Debugger role
  • Debug perspective
  • Debugger preference settings
  • Initiating debugger
  • Suspended threads
  • Execution controls
  • Inspecting expressions
  • Breakpoints
  • Exception handling

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

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

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

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

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