Course Description

This course introduces the Java programming language as well as the different types of Java applications present in today’s IT landscape to those in management positions. Students will have introductory lessons on the syntax of the Java programming language, object-oriented programming using Java, server side programming including Servlets as well as the JSP, EJB’s, Struts and JavaServer Faces technologies. Students will also learn the J2EE frameworks that allow efficient application development as well as get introduced to the service oriented architecture (SOA).



2 days


Target Audience

This course is intended for managers and business analysts looking to become familiar with the Java Programming language and related technologies


Course Prerequisites

It would help if the students were familiar with object-oriented principals and the concept of object-oriented programming but it is not necessary.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.


Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.


Course Content

Chapter 1. Overview of Java
History Of Java

Benefits Of Java

What Is Java?

What’s This “Virtual Machine”?

Comparison to Other Languages

Java Programs

Basic Java Development Tools

Java Editions

Example – HelloWorld

Java Classes

Main Methods


Chapter 2. IDEs for Java
What is an IDE?

Eclipse Platform

Eclipse Versions

Eclipse Workspace

Perspectives, Views & Editors

Basic Operations with Eclipse Views and Perspectives

The Java Perspective

The Debug Perspective

Navigator View

Package Explorer

Outline View

Problems View

Eclipse Preferences

Build and Validation

Code Completion, Templates and Snippets

Eclipse Web Tools Platform (WTP)

Eclipse-based IDEs

Common Eclipse Additions



IntelliJ IDEA

Choosing an IDE

Chapter 3. Basic Object Concepts
What Is An Object?




Encapsulation Examples

Classes vs. Objects




Benefits Of Objects

Chapter 4. JUnit
What is JUnit?

Why JUnit?

The xUnit Philosophy

Test-Driven Design

A JUnit Test

Running the Tests

Swing-based Test Runner

Text-based Test Runner

JUnit Basics





The Failure Message

The Test Class

The Test Method

The Test Suite

JUnit with Annotations

JUnit 4 Test Suite

JUnit Design

Testing Strategies

Specific Techniques

Testing Simple Java classes

Testing with Databases

Testing Web Applications

Testing Java EE Web Applications

JUnit with Ant

Chapter 5. Java Enterprise Edition (EE) Overview
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

Chapter 6. JSF and Struts
MVC Model

Problems With “Traditional” Web Applications

What is Struts?

How is Struts Better?

Components in Struts

The Model

The View

The Controller

Struts Flow

Struts 2.x

Introduction to JSF

How is JSF Better?

How Does JSF Work?

Request Processing Lifecycle Phases

Sequence Diagram

JSF vs. Struts

JSF 2.0

Future of JSF and Struts

Chapter 7. Enterprise JavaBeans (EJBs) Overview
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 Container

EJB Server

Enterprise JavaBeans

Session Beans

Entity Beans

Java Persistence API – Entities

Message-Driven Beans (MDBs)

EJB Specification

Chapter 8. Entities and Java Persistence API
Data Persistence

Java Persistence API


Session Beans Vs 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

Chapter 9. Introduction to the Spring Framework
What is the Spring Framework?

Spring Characteristics

Spring Modules

Why Spring?

Problems with EJB

Spring Philosophies

Alternatives to Spring

Simple Example

What is Inversion of Control?

IoC Example

Chapter 10. Introduction to the Seam Framework
What is Seam?

Seam Requirements

Benefits of Seam

Common Technologies with Seam

Comparison of Seam to Spring

Sample Seam Registration Application – Data

Sample Seam Registration Application – Action

Sample Seam Registration Application – JSF Page

Sample Seam Registration Application – Outjection

Chapter 11. Getting Started with XML
Unstructured Text Document

An Employee Document

What is XML ?

Why Study XML?

Data and Document Structure


First XML

Another Example of XML

Well-formed vs. Valid XML Document

Presentation Style

Goals of XML

Usage of XML

Chapter 12. Introduction to Web Services
A Conceptual Look at Services

Defining Services

Service Communication Analogy

Three Key Service Questions

Connecting the Dots

SOA – Runtime Implementation

What is a Web Service?

Enterprise Assets as Services

Advantages of Web Services

Web Service Business Models

Binding via SOAP

SOAP in Protocol Stack

SOAP Structure

Interface via WSDL

WSDL Structure

Locating a Service

UDDI Overview

UDDI Terminology

UDDI Structure

WS-I Overview

WS-I Deliverables

Chapter 13. SOA Fundamentals
Defining Service Oriented Architecture (SOA)

Putting SOA in Context

SOA As an Alignment Strategy

The SOA Umbrella

What’s a Service?

Service Actors

Serving Up SOA

Business Process Management

BPM & Workflow

SOA Governance

SOA Governance Model

SOA Job Role Impact

Before SOA

SOA Re-Organization

What Makes a Good Design?

Is SOA a New Concept?

Service Orienting the Enterprise

Service Oriented Thinking

SOA Is Perfect…NOT!

Service Characteristics

When Do I Need a Service?

About Services in SOA

Contract-Driven Software

SOA Standards

Chapter 14. Introduction to Web 2.0
Web 2.0 – Should I upgrade?

What is Web 2.0?

What Web 2.0 is Not

Understanding By Analogy

Three Key Elements

Web 2.0 Innovations – UI

Web 2.0 Innovations – Collaboration

Web 2.0 Innovations – Data

Hard Data on Web 2.0 Adoption

Chapter 15. Basic Java Syntax
Declaring And Initializing Variables


Coding Tips – Variables

Primitive Data Types

Logical – boolean

Textual – char and String

Integral – byte, short, int, long

Floating Point – float and double

Literal Values


Creating Strings

White Space


Coding Tips – Comments

Java Statements

Coding Tips – Statements

Scope of a Variable


Scanner Class



See more Internet Technologies courses