WA1649 Java EE 5 Programming Using WebLogic 10 Training and Courseware Course Outline

1. Introduction to BEA Workshop for WebLogic

  • Objectives
  • BEA Workshop for WebLogic
  • The Eclipse Platform
  • Eclipse 3.2 Java IDE
  • Views, Perspective and Editor Areas
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Build and Validation
  • Templates and Code Completion
  • Searching
  • BEA Workshop for WebLogic
  • BEA WebLogic Server
  • Summary
 

2. Java Enterprise Edition (EE) Overview

  • Objectives
  • Introduction to Java Platform
  • Java Community Process (JCP)
  • Introduction to Java EE
  • Why Move to Java EE
  • Java EE - New and Enhanced Features
  • Java EE Software Packaging
  • Java EE Technologies
  • Summary
 

3. Servlet Basics

  • Objectives
  • History CGI
  • Server Extension APIs
  • Java Servlet
  • Servlet Container
  • Servlet Responsibilities
  • J2EE and Servlet
  • The Servlet Class
  • The HttpServlet Class
  • An Example Hello World
  • The Servlet Container
  • The Servlet API
  • Life Cycle Initialization
  • Life Cycle Initialization
  • Example Initialization
  • Life Cycle Processing
  • Life Cycle Processing
  • Life Cycle Destroy
  • User Input
  • Example User Input
  • Output to Client
  • Servlet Error Handling
  • Threading Issues
  • Summary
 

4. JavaServer Page (JSP) Basics

  • Objectives
  • JavaServer Pages
  • JavaServer Pages 2.1
  • A Simple Example - Hello.jsp
  • JSP Benefits
  • Evolution of Dynamic Content Technologies
  • How JSP Works
  • JSP Invocation
  • JSP Scripting Elements
  • The XML Syntax
  • JSP Directive
  • page Directive Attributes
  • page Directive an Example
  • page Attribute errorPage
  • page Attribute isErrorPage
  • Using XML Syntax
  • Directives include
  • Include an Example
  • Include an Example
  • Include at compile time vs. at request time
  • Request time inclusion
  • JSP Declarations
  • Declarations an Example
  • JSP Expressions
  • JSP Expressions an Example
  • JSP Scriptlets
  • JSP Scriptlets an Example
  • JSP Scriptlets an Example
  • JSP Comments
  • JSP Predefined Variables
  • The request Object
  • The response Object
  • The out Object
  • Out an Example
 

5. Servlet Interaction Interface

  • Objectives
  • Request
  • Request Parameters
  • Request Attributes
  • Request Headers
  • Request Path
  • Other Request Information
  • Response
  • Cookies
  • Setting Cookies
  • Servlet Context
  • Servlet Context Attributes
  • Resource
  • Session Tracking
  • Tracking Techniques
  • Cookies
  • Cookies an Example
  • HTML Hidden Fields
  • Using HttpSession
  • Session Invalidation
  • An Example of Session Tracking Code...
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • HttpSession - URL Rewriting
  • Summary
 

6. Using Java Beans with JSP

  • Objectives
  • What is a JavaBean?
  • Structure of a JavaBean
  • Life Cycle
  • Properties
  • Very Simple Bean
  • Using Java Beans in JSP
  • The <jsp:useBean> tag
  • Java Bean scope
  • <jsp:useBean> in Action
  • The <jsp:getProperty> tag
  • The <jsp:setProperty> tag
  • Mapping all the request parameters
  • Another Example
  • Mixing Scriptlets and Bean tags
  • Summary
 

7. Servlet Programming Advanced

  • Objectives
  • Key Issues for Web Application Development Productivity
  • Web Application Programming Model MVC
  • Model
  • View
  • Controller
  • What is JDBC?
  • JDBC Architecture
  • JDBC: Basic Steps
  • Loading a Driver
  • DB2 UDB JDBC Drivers
  • Oracle JDBC Drivers
  • Create a Connection
  • Connection
  • Statement
  • PreparedStatement
  • ResultSet
  • ResultSet
  • ResultSet
  • Example JDBC Servlet With Transactions
  • Close the Connection
  • Need for Connection Pooling
  • Connection Pooling in JDBC 2.0
  • Connection Pooling
  • Basic Steps in Using JDBC Connection Pooling
  • Access a DataSource
  • Get a Connection
  • Release Connections
  • Connection Pool Example
  • Resource References
  • JavaBeans
  • MVC Implementation
  • Request Dispatching
  • Request Dispatching - Forward vs. Include
  • HTTP Redirection
  • Dispatch vs. redirection
  • Integrating Servlet and JSP
  • Calling a JSP from a Servlet
  • Request Dispatching - forward Request to JSP
  • Supply Result information to the JSP
  • A Simple Example
  • Display JavaBean Properties in JSP
  • Summary
 

8. JSP Expression Language and Standard Tag Library

  • JSP Expression Language (EL)
  • Basic Usage
  • Unified Expression Language
  • Built-in Objects
  • Working With Arrays and Maps
  • Operators
  • Full Example
  • JSP Standard Tag Library (JSTL)
  • Run Time Version
  • Basic Tags
  • Condition Tags
  • Iterator Tags
  • Internationalization (I18N)
  • Setting Preferred Locale
  • Specifying Resource Bundle
  • Display Translated Text
  • Display Number
  • Display Date
  • JDBC Tags
  • Specify Data Source
  • Performing a Query
  • Display Result
  • Pagination Example
  • Function Tags
  • Function Syntax
  • fn Functions
 

9. Enterprise JavaBeans (EJBs) Overview

  • Objectives
  • Need for EJBs
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Container
  • EJB Server
  • Enterprise JavaBeans
  • Session Beans
  • Entity Beans
  • Java Persistence API - Entities
  • Message-Driven Beans (MDBs)
  • EJB Specification
  • Summary
 

10. Stateless Session Beans

  • Objectives
  • Session Beans
  • Stateless Session Bean
  • Stateless Session Bean Pooling
  • Stateless Session Bean Examples
  • Stateful Session Bean
  • Stateful Session Bean Examples
  • Annotations
  • Stateless Session Bean Components
  • Example: Business Interface
  • Example: Bean Class
  • Alternative Example
  • JNDI - Overview
  • Example: The Client
  • Business Interface Details
  • Bean Class Details
  • Session Bean Lifecycle
  • Stateless Session Bean Lifecycle
  • Summary
 

11. Stateful Session Beans

  • Objectives
  • Stateful Session Bean
  • Stateful Session Beans
  • Session Bean Lifecycle
  • Stateful Session Bean Lifecycle
  • Stateful Session Bean Components
  • Stateful Session Bean Example
  • Stateful Session Bean Client
  • Summary
 

12. EJB References and Dependency Injection

  • Objectives
  • Dependency Injection
  • Annotation Injection
  • Example: Field Level Injection
  • Example: Method Level Injection
  • Deployment Descriptor Injection
  • Example: Deployment Descriptor Injection
  • EJBContext
  • JNDI Lookup with EJBContext
  • Overriding Reference Annotations
  • Default Reference Name
  • Resolving References
  • mappedName Attribute
  • Overloaded Reference Names
  • EJB References
  • EJB Reference Annotations
  • Multiple EJB References
  • EJB References in Deployment Descriptors
  • Resource References
  • Resource Reference Annotations
  • Multiple Resource References
  • Resource References in Deployment Descriptors
  • Reference Lookup
  • Summary
 

13. Entities and Java Persistence API

  • Objectives
  • Data Persistence
  • Java Persistence API
  • Entities
  • Session Beans Vs Entities
  • Entities
  • Persisting and Retrieving Data
  • Accessing Entities
  • EntityManager & Persistence Unit
  • Persistence Context
  • Entities - Example
  • persistence.xml Hibernate Provider
  • persistence.xml Open JPA Provider
  • persistence.xml - Toplink
  • Entity Instance Lifecycle
  • Creating EntityManager in Session EJB
  • Creating EntityManager in a Plain Java Class
  • Working With the EntityManager Interface
  • Transaction Basics
  • Entity Lifecycle
  • When is an Entity Managed or Detached?
  • Implementing the CRUD Pattern
  • Accessing Entities Using Stateless Session Beans
  • Inserting Data
  • Retrieving Data
  • Updating Data
  • Deleting Data
  • Merging Entities
  • Life-Cycle Callbacks
  • Example: Internal callback
  • External Callback Class
  • Listener Class - Example
  • Synchronizing with Databases
  • Entity Lookup
  • EJBQL (EJB Query Language)
  • Summary
 

14. Introduction to EJB Design Patterns

  • Objectives
  • Patterns Overview
  • EJB Design Patterns
  • EJB Design Pattern
  • EJB Layer Patterns
  • Session Facade Pattern
  • Common Issues and Mistakes
  • Message Facade Pattern
  • Command Pattern
  • Common Issues and Mistakes
  • Summary
 

15. More EJB Design Patterns

  • Objectives
  • Inter-Tier Data Transfer Patterns
  • Data Transfer Object Pattern
  • Custom Data Transfer Object Pattern
  • Cached RowSet Pattern
  • Common Mistakes and Issues
  • Transaction and Persistence Patterns
  • Version Number pattern
  • Version Number Pattern
  • Fast Lane Pattern
  • Read for Update Pattern
  • Summary
 

Appendix A. Message-Driven Beans

  • Objectives
  • The Trouble with RMI/IIOP
  • Messaging to the Rescue
  • Messaging Features
  • Message-Oriented Middleware
  • Messaging Domains
  • Publish/Subscribe
  • Point-to-Point
  • Java Message Service
  • JMS Programming: Overview
  • JMS Programming: Overview
  • The JMS Interfaces
  • Integrating JMS and EJB
  • Message-Driven Beans Are Different From Other EJBs
  • Message-Driven Beans Cannot Talk to Their Clients
  • Message-Driven Beans are Stateless
  • Durable Subscription
  • Message-Driven Bean Interfaces
  • javax.jms.MessageListener
  • javax.jms.Message
  • Specialized Message Types
  • Lifecycle
  • Message Driven Bean - Example
  • Message Driven Bean - Client Example (JSP)
  • Transactions
  • Security
  • Load Balancing
  • Clustering and Topics
  • Clustering and Queues
  • A Few Tips
  • Poison Messages
  • How the Programmer Can Avoid Poison Messages
  • How the System Administrator Can Avoid Poison Messages
  • Building a Response
  • Potential Problems
  • A Simple Alternative
  • Type Checking and Messages
  • Testing Message-Driven Beans
  • Summary
  • References
 

Appendix B. JSP Custom Tag Development

  • Objectives
  • What is Custom Tag?
  • Why Develop Custom Tags?
  • The Nature of a Custom Tag
  • Tag Body
  • Fragment Attribute
  • Dynamic Attributes
  • Tag Library Descriptor (TLD)
  • Tag Implementation Options
  • The Simple Tag API
  • Example Tag Class
  • Life Cycle of a Simple Tag
  • The JspContext Object
  • Dealing With the Body
  • Implementing an Iteration Tag
  • Accessing a Parent Tag
  • Working With Fragment Attributes
  • The TLD File
  • Defining a Tag
  • Packaging a Tag Library
  • Using a Tag Library
  • The Tag File Approach
  • Example Tag File
  • The Tag Directive
  • Defining Attributes
  • Working With Variables
  • Working With Fragment Attributes
  • Packaging Tag Files
  • Creating the TLD File
  • Using a Tag File From a JSP
 

Appendix C. JMS Overview

  • Objectives
  • Messaging Intro
  • Messaging Example
  • Messaging Components
  • Messaging Types
  • JMS (Java Messaging Service)
  • Message Driven Beans (MDB)
  • MDB as Message Consumer
  • JMS Resources
  • JMS Messaging Configuration Questions
  • JMS Messaging Configuration Answers