To register online click here, or call
Our Registrars will be happy to assist you.

Java EE Training Course

Java™ EE Web Application Development with Enterprise JavaBeans and Web Services

Duration: 5 days | Price: $2595 *California residents call for pricing. | Class Dates:

Click here for information regarding remote access training.

Students Will Learn:

  • How to write Session, Message-Driven and Entity Beans
  • EJB 3.0 Simplified APIs
  • EJB 3.0 Java Persistence API
  • EJB Security and Transaction Management
  • JAX-WS Web Services
  • Java EE Web Application Architecture
  • Developing Servlets & JSPs
  • Developing and Deploy JSP Tag Libraries

Course Description: This hands-on course provides participants with the knowledge and experience required to develop and deploy Enterprise JavaBeans, Web Services and robust Java EE (Java Enterprise Edition) web applications. The focus of the course is on building components that are deployed to the EJB Container and building web-enabled applications that employ Servlets, JavaServer Pages and Tag Libraries to exploit the services provided by the Java EE platform. This course covers architectural design issues as well as specific coding models for Java EE components, and is up to date with the latest Java EE 5, EJB 3, JAX-WS 2.1, JSP 2.1 and Servlet 2.5 specifications. Security, transaction management, inter-component communication and deployment issues are discussed in detail, with hands-on labs to solidify understanding.

Since coding and deployment files are standardized by the Java EE specifications, students may readily apply the skills learned in this class to write code for any compliant server, including Apache Tomcat, JBoss, WebSphere, Oracle, WebLogic and many others. Students will understand the role and architecture of the most important containers in the Java EE specification: the Web Container (which hosts HTML pages, Servlets and JSP Pages) and the EJB Container (which hosts Enterprise JavaBean components). Participants will learn how to use important Java EE services and protocols including JNDI, JDBC and JMS. Students will learn how to utilize ANT, a flexible and powerful XML-based build utility, to compile, deploy and execute stand-alone and enterprise Java applications. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

Course Prerequisites: Java SE 5 programming experience and an understanding of object-oriented design principles. Fundamental knowledge of XML is helpful but not required. HOTT's course Java Programming or equivalent knowledge provides a solid foundation.

Java EE Web Application Development with Enterprise JavaBeans and Web Services Course Overview:

Introduction to Servlets
  • Servlet Architecture and Advantages
  • The Role of Servlets in Web Application Design
  • Servlet Runtime Environment
  • Servlet Lifecycle
Developing Servlets
  • Servlet Classes and Interfaces
  • Working with Request and Response Objects
  • Processing GET and POST Requests from Web Clients
  • Retrieving Parameters from HTML Client Forms
  • Generating Dynamic HTML Responses
  • Initializing Servlets
  • Destroying and Freeing Resources in Servlets
  • Controlling Single and Multi-Threading in a Servlet
  • Deploying Servlets to a Web Application Server
  • Building the WAR File
  • The web.xml Descriptor File
Using ANT
  • Understanding the ANT Build File
  • Designing ANT Targets
  • Using ANT Standard Tasks
  • Using ANT Properties
  • Compiling and Executing Java Applications
  • Building WAR, EAR and JAR Deployment Files
Developing JavaServer Pages (JSPs)
  • Understanding JSP/Servlet Translation
  • Elements of JSP Syntax
  • JSP Page Directives
  • JSP Declarations
  • Displaying JSP Expressions
  • Writing Scriptlets
  • Deploying JSPs
  • Using JavaBeans in JSPs
  • JavaBean Architecture
  • Creating JavaBeans
  • Using JavaBeans in JSP Pages
  • XML-format JSP Documents
Deploying and Using Tag Libraries
  • Motivation for Tag Libraries
  • Implementing the Model-View Controller Pattern
  • JSP Built-in Actions
  • The JSP Standard Tag Library (JSTL)
  • Deploying and Using Tag Libraries
Writing Tag Handlers
  • Analyzing Tag Library Descriptor Files
  • Creating Tag Library Descriptor Tags
  • Using Tag Handler Methods to Generate Dynamic Web Content
  • Handling Tag Attributes and Attribute Validation
  • Processing Tag Body Content
  • Working with the TagExtraInfo Class
  • Developing and Deploying Tag Files
Session Management and Communication Between Web Components
  • Storing Shared, Scoped Information
  • Java EE Session Management
  • Maintaining Sessions via URL Rewriting
  • Using Cookies
  • Using Hidden Form Fields to Track Session IDs
  • Using the HttpSession Interface
  • Transferring Control via Request Dispatching
  • Request Redirection
Developing Secure Web Applications
  • Understanding JAAS Concepts
  • Java EE Authentication and Authorization
  • Defining Security Roles
  • Declaring Security Constraints
  • Using Programmatic Security
  • Using Java SE Security Features
  • Encryption, Message Digests and Keys
Java Naming and Directory Interface (JNDI)
  • Role of JNDI in the Java EE Architecture
  • JNDI Service Providers
  • Importing and Utilizing JNDI Packages
  • Binding Objects with JNDI
  • Looking up Objects with JNDI
  • Using the Environment Naming Context (ENC)
  • Declaring Resource References
Object Serialization
  • Purpose of Serialization in the Java EE Framework
  • Creating Serializable Objects
  • Reading and Writing SerializableObjects
  • Controlling Serialization
Advanced Topics - Filters, Listeners and Resource Injection
  • Using Filters to Process Requests and Responses
  • Controlling the Filter Chain
  • Writing Filters
  • Wrapping Requests and Responses
  • Writing and Deploying Listeners
  • Using Annotations in Servlet 2.5 Applications
  • Controlling Resource Injection
  • Using Special Resource Types
Accessing Databases with JDBC
  • Understanding the JDBC Connectivity Model
  • Accessing Data Sources through JNDI
  • Connecting to a Database
  • Executing SQL Queries and Updates
  • Processing Result Sets
  • Using Scrollable and Sensitive Result Sets
  • Working with ResultSetMetaData Classes
  • Utilizing Parameterized Statements
  • Calling Stored Procedures
  • Handling SQLExceptions
  • Controlling Transactions
  • Using Batch Updates
Using the Java Messaging Service (JMS)
  • Architecture of JMS
  • Using Classes and Interfaces in the JMS API
  • Developing a JMS Producer and Consumer
Introduction to Enterprise JavaBeans
  • Session Beans
  • Message-Driven Beans
  • Entity Beans
  • EJB Feature History
  • Writing EJBs
  • Annotations and EJB 3.0
  • Annotation Syntax
  • Annotation Placement
Stateless Session Beans
  • Stateless Session Bean Life Cycle
  • Writing a 2.1 Session Bean
  • The Remote Interface
  • The Remote Home Interface
  • Session Bean Implementation
  • Writing Lifecycle Methods
  • The Session Context
  • Packaging EJBs
  • EJB 2.1 Deployment Descriptors
  • Using a Session Bean
  • Client EJB Refs
  • EJB Remote Communication
  • Removing Bean References
Stateful Session Beans
  • Stateful Session Bean Life Cycle
  • Passivation/Activation
  • Time-Outs
EJB 3.0 Session Beans
  • Session Bean Annotations
  • Callback Annotations
  • Java EE 5 Dependency Injection
  • Injection Targets
  • Class-based Injection
Message Driven Beans
  • Message-Driven Bean Life Cycle
  • EJB 2.1 Message-Driven Bean
  • The Message-Driven Context
  • EJB 2.1 Deployment Descriptor
  • EJB 3.0 Message-Driven Bean
  • EJB 3.0 Annotations for MDBs
EJB 2.1 Entity Beans
  • Persistence Mechanisms - BMP, CMP
  • Local Interfaces
  • Local and Local Home Interfaces
  • Entity Bean Implementation
  • Entity vs. Session Bean
  • An Entity Bean Client
  • Entity Bean Lifecycle Methods
  • Entity Bean Lifecycle
  • The Entity Context
  • Create / Remove
  • Load / Store
  • Passivation / Activation
  • Defining Primary Keys
Container-Managed Persistence (CMP)
  • Lifecycle Methods and CMP
  • Persistent Properties
  • Deploying a CMP Entity Bean
  • CMP Entity Bean Deployment Descriptor
  • Container-Managed Relationships (CMR)
  • Implementing Finder Methods
  • Writing EJB-QL Statements
EJB 3.0 Entities and the Java Persistence API
  • JPA Philosophy
  • EJB 2.1 CMP vs EJB 3.0 Entities
  • Open Source JPA Persistence Providers
  • Using JPA Overview
  • Persistence Units
  • persistence.xml
  • Managed Classes
Entity Classes
  • Object-Relational Mapping
  • Persistent Fields/Properties
  • Mapping Persistent Fields
  • Mapping Annotations
  • Primary Key
  • Subclassing Entities
  • Embedded Objects
  • Composite Primary Keys
  • Entity Relationships
  • Relationship Annotations
Using the JPA Entity Manager
  • EntityManager Methods
  • Synchronizing Entities
  • Detached Entities
The Query Interface
  • Java Persistence Query Language
  • Named Queries
  • Query Input Parameters
  • Native SQL Queries
JPA Optimization Features
  • Optimistic Locking
  • Lazy Fetching
  • Lifecycle Callbacks
The Java Transaction API (JTA)
  • Transaction Demarcation
  • Transaction Status
  • Bean-Managed Transactions
  • Container-Managed Transactions
  • EJB 2.1 Deployment Descriptor for CMT
  • EJB 3.0 Transaction Annotations
  • Voting to Roll Back
  • Transactions and Entity Beans
  • Transactions and JPA Entities
  • Transactions and Message-Driven Beans
  • Transactions and Stateful Session Beans
EJB Security
  • JAAS Concepts
  • Java Security
  • Java EE Authentication
  • Java EE Authorization
  • Role-Based Authorization for EJBs
  • Principal Propagation
  • Declaring Security Roles
  • Using Security Roles
  • Programmatic Security
  • Assigning Security Roles to a Bean
  • EJB 3.0 Security Annotations
  • Enterprise Security Strategies
EJB Advanced Topics
  • EJB Timer Service
  • Accessing the Timer Services
  • EJB 3.0 Timer Annotations
  • Interceptors
  • EJB 3.0 Interceptor Annotations
JAX-WS Web Services
  • Typical Web Services Scenario
  • Advantages and Issues in Web Services
  • Web Services Technologies: SOAP and WSDL
  • Web Services in Java EE and Java SE
  • "JAX" Specifications
  • Java Web Services Specifications
  • Writing a JAX-WS Web Service
  • The Service Implementation Bean
  • JAX-WS Deployment Descriptors
  • JAX-WS Client-Side Programming
  • JAX-WS Tools
  • RESTful Web Services
Introduction to Java EE Web Applications
  • Server-Side Application Development using Java EE
  • The Role of Java EE Containers, Components and Services
  • Using Web-Based Components in Application Design
  • Structure of Java EE Web Components
  • Deploying Web Applications
  • Java EE Web Container Services

Student Testimonials

"Very useful and informative. I'll be a person with much more competence when I step in the office on Monday. I just can't believe I learned so many things in such a short duration."
– M.G., LL Bean

"This class was a great introduction to Java EE development. The instructor possessed excellent Java knowledge as well as a thorough understanding of computer science. I will definitely consider HOTT for my next training."
– D.S., Premiere Global Services

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Multiple Training Locations - Convenience and Cost Control

Regularly Scheduled Courses in more than 100 Cities Across North America and the United Kingdom