Course Description

This intensive, 3-day, hands-on Java Enterprise Edition training course teaches Java™ developers how to develop enterprise applications using the ease of development features introduced in Java EE 5 and 6. Students will learn how to create dynamic web applications with JSP, Java Servlets, JSTL, and JSF. Next, they will learn how to send and receive asynchronous messages with the Java Message Service. Students then learn about session and message-driven EJBs, as well as the Java Persistence API and Java Transaction API. The course ends with XML topics including data binding with JAXB and developing SOAP based web services with JAX-WS.


A sound, working knowledge of the Java programming language and the Java Technology platform at Standard Edition level.  Attendance at our Java Programming Introduction training course will provide the necessary background.

Who is this course for?

This course is for experienced Java developers who need to learn about Java EE.

Further Training

After some further on-the-job programming experience with the JEE platform, we also recommend students attend our Java Programming Advanced training course to gain higher-level skills in the usage of Java.  A more in-depth exposure to EJBs and JPA can be gained by attending our Java Enterprise EJB3 and JPA2 training course.

Course Content

Introduction to Java EE
Introduction to Java EE
Java SE Building Blocks
Web Applications
Web Services
Enterprise JavaBeans
Additional Java EE APIs
POJO, Dependency Injection, & Annotations
The Java EE Platform
Introduction to JSP & JSTL
MVC & Web Applications
JSP As the View
JSP Scripting Elements
Request & Response
Expression Language
EL Operators
include and forwards
Conditionals & Iteration in JSTL
JSTL Variables and Output
Introduction to Java Servlets & Java Beans
Java Servlets as the Controller
JavaBeans as the Model
Bean Scopes
WAR File
Introduction to Java Server Faces
JSF Benefits
JSF Tag Libraries
Managed Beans
Event handling
Validators & Converters
JSF Application Structure
Messaging Concepts
What is JMS ?
Message Object
Creating the Client
EJB3 Overview
The Enterprise JavaBean
EJB Benefits
A Simple EJB
Local & Remote EJB Access
Creating a Client
Assembly & Deployment of EJBs
Session Beans & Message-Driven Beans
A Session Bean
Stateless Session Beans
PostConstruct & PreDestroy
Lifecycle of a Stateless Session Bean
Stateful Session Beans
Lifecycle of a Stateful Session Bean
Lifecycle Callbacks
Singleton Session Beans
Lifecycle of a Singleton Session Bean
Dependency Injection
Message-Driven Beans
MDB Lifecycle
Sending a Message
Introduction to the Java Persistence API
What is Java Persistence?
Persistence Objects & Metadata
Creating an Entity Class
The Persistence Unit
The Entity Manager
Looking up Entities
Persisting Entities
EntityManager & Persistence Context
Managed and Detached Entities
Creating and Removing Entities
Bulk Updates and Deletes
Mapping Entities to Tables
Primary Keys
Entity Relationships
The Java Transaction API
The UserTransaction Interface
Transactions in Java EE
Bean-Managed Transactions
Container-Managed Transactions
Transaction Attributes
Transaction Rollbacks
Data Binding with JAXB
W3C XML Schema
XML Data Binding Basics
JAXB Architecture
Compiling Schema to Java
Custom Binding Declarations
Java API for XML-Based WebServices (JAX-WS)
Creating a Web Service Endpoint
The Service Implementation
The Service Interface
Generating Artifacts
Generated Files
Packaging & Deploying the Application
A JAX-WS Client
Case Study
Stateless Session Bean
Web Tier Client: HTML
Web Tier Client: Controller Servlet
Web Tier Client: Data Transfer
Web Tier Client: JSP
Web Tier Client: web.xml
Message-Driven Bean
JMS Client
JAX-WS Endpoint
Web Service Client
Appendix A - Underlying Technologies: RMI and JDBC
Steps to Create a Remote Object
An RMI Client
An RMI Server
RMI Utilities
The JDBC Connectivity Model
Connecting to the Database
Creating a SQL Query
Getting the Results
Updating the Database Data
Appendix B - JavaMail
Mail Systems and JavaMail
The javax.mail Packages
Establishing a Session
The MimeMessage Class
Sending a Message
Retrieving Email Messages
Multi-part Messages