Java Enterprise Edition 6 Training

We offer private customized training for groups of 3 or more attendees.

Course Description

This intense four-day course teaches Javaâ?¢ programmers 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.
Course Length: 4 Days
Course Tuition: $1690 (US)


Java Programming

Course Outline


Course Introduction
Course Objectives
Course Overview
Using the Workbook
Suggested References

Introduction to Java EE 5
Introduction to Java EE
Java SE Building Blocks
Web Applications
Web Services
Enterprise JavaBeans
Additional Java EE APIs
POJO, Dependency Injection, and Annotations
The Java EE Platform

Introduction to JSP and JSTL
MVC and Web Applications
JSP As the View
JSP Scripting Elements
Request and Response
Expression Language
EL Operators
include and forwards
Conditionals and Iteration in JSTL
JSTL Variables and Output

Introduction to Java Servlets and JavaBeans
Java Servlets as the Controller
JavaBeans as the Model
Bean Scopes
WAR File

Introduction to JavaServer Faces
JSF Benefits
JSF Tag Libraries
Managed Beans
Event handling
Validators and Converters
JSF Application Structure

Messaging Concepts
What is JMS ?
Message Object
Creating the Client

EJB3 Overview
The Enterprise JavaBean
EJB Benefits
A Simple EJB
Java Enterprise Edition
Java Enterprise Edition
Local and Remote EJB Access
Creating a Client
Assembly and Deployment of EJBs
Creating a Client
Assembly and Deployment of EJBs

Session Beans and Message-Driven Beans
A Session Bean
Stateelss Session Beans
PostConstruct and 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 and Metadata
Creating an Entity Class
The Persistence Unit
The Entity Manager
Looking up Entities

Persisting Entities
EntityManager and Persistence Context
Entity Lifecycle
Creating and Removing Entities
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 2.0
W3C XML Schema
XML Data Binding Basics
JAXB Architecture
Compiling Schema to Java
Custom Binding Declarations

Java API for XML-Based Web Services (JAX-WS)
Creating a Web Service Endpoint
The Service Implementation
The Service Interface
Generating Artifacts
Generated Files
Packaging and 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 JavaBean
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, JNDI, 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
Java Enterprise Edition

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

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Java Programming Uses & Stats

Java Programming is Used For:
Android & IOS Development Software Products Video Games Desktop GUI's
Year Created

Most Commonly Used: 
According to Oracle, three billion devices run on Java.  And, because of its real-world applications, it consistently ranks at the top of the TIOBE Programming Community Index. 

Great Career Choice: 
Some of the fastest-growing salaries in the U.S. in 2018 are for Java developers.  (Glassdoor)  

Android Apps Development:
Developers predominatly use their Java skills in building apps for Google's Android. The Android platform is the number one mobile paltform in the world

It Can Run On Any Platform:
Java can compile on Windows and run the same compiled file on Linux, Windows and Mac.

Great Supporting IDE's:
Over the years, coding in Java has become simpler with the introduction of open source development tools, i.e. Eclipse and NetBeans that use Java capabilities for debugging.  


Uses a Lot of Memory:
Performance can be significantly slower with Java and more memory-consuming than natively compiled languages such as C or C++.

Difficulty in Learning: 
Learning Java can be a bit challenging if you are a beginner.  However, once you get the hang of Object Oriented Programming and a decent grasp of the syntax, you will be well on your way.

Slow Start Up Times:
There is quite a bit of one-time initialization done by JDK classes before compiling as well as loading classes and verification (making sure code doesn't do evil things, all of which takes longer that some other languages such as C. 

Verbose and Complex Code:
Long, over-complicated sentences make code less readable and scannable. Compare to let's say Python, we can see how clear Python code appears: It doesn’t require semicolons; uses “and,” “or,” and “not” as operators instead of Java’s “&&,” “||,” and “!”; and generally has fewer bells and whistles such as parentheses or curly braces.

Commercial License Cost:
Companies have to prepare for the changes that Oracle will institute in 2019 . Today, the current version of Java is free and available for redistribution for general purpose computing. However, If you are a DEVELOPER, Oracle recommends you review the roadmap information for Java SE 8 and beyond and take appropriate action depending on the type of application you develop and your distribution mode.

Java Programming Job Market
Average Salary
Job Count
Top Job Locations

New York City 
San Jose
Washington D.C, 

Complimentary Skills to have along with Java Programming

- If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally.  As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development.  Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings...

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.