0345 4506120

Developing Applications with Java EE

The Developing Applications with Java EE course introduces delegates to the Java Enterprise Edition API, up to version 7. It explains the core JEE technologies and how they  can be used to build large scale web based applications. It also includes an overview of Enterprise Java Beans, the Java Persistence API and JEE security.

Delegates will learn how to develop Java systems that create front end web pages using tools such as Servlets, Java Server Pages and WebSocket, and develop back-end  components using EJB, CDI and Bean Validation.  In addition, we will show how technologies such as JSON, JMS and Restful Web Services can be integrated into the  overall solution.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

The delegate will learn and acquire skills as follows:

  • Understand the Java Enterprise Architecture
  • Write java programs to interface with databases
  • Write code to generate dynamic HTML pages
  • Create web applications using Servlets
  • Use tag libraries to develop Java Server Pages
  • Transfer data using JSON
  • Use Contexts and Dependency Injection
  • Implement Bean Validation
  • Configure the Java Messaging Service
  • Create business components with the EJB specification
  • Use the Java Persistence API to create entity classes
  • Write restful web services with JAX-RS
  • Implement JEE Security

Who will the Course Benefit?

The Developing Applications with Java EE course is aimed at those who need to develop robust, flexible, extendable and maintainable software using the Java enterprise  architecture. Roles include programmers, designers, architects, testers and anyone who needs a good understanding of the Java Enterprise Edition solution.

Learning Objectives

This course aims to provide the delegate with the knowledge to be able to produce secure, scalable and maintainable enterprise solutions using Java code within the  Java Enterprise Edition environment. This incorporates web-based technologies such as Servlets, JSP and WebSocket, via linking solutions like JSON and CDI, to back  end architectures using EJB, JMS and JPA.

Pre-Requisites

Requirements

Delegates attending this course should have experience programming with Java. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 course.

Pre-Requisite Courses

  • Java Programming 1

Follow-On Courses

  • Java Programming 2
  • Java Web Services
  • Unit Testing using JUnit
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Course Content

Course Contents - DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: OVERVIEW

  • The JEE Environment
  • System Architecture
  • Putting It All Together

Session 2: INTRODUCTION TO JAVA WEB TECHNOLOGY

  • Web Applications, CGI and the Role of Java
  • 3-tier Architecture
  • Understand Model-View-Controller (MVC) Architecture
  • Why Use Servlets and JSP
  • Web Application Structures

Session 3: SERVLETS

  • Servlets and HTTP Requests
  • The HTTP Servlet Model
  • Writing an HTTP Servlet
  • Executing an HTTP Servlet
  • Request Parameters

Session 4: SERVLET PARAMETERS

  • Servlet Initialization Parameters
  • Servlet Context Parameters
  • Web Application State Using Servlets
  • Session Management

Course Contents - DAY 2

Session 5: CONTROLLER FACILITIES

  • The HTTP Servlet Lifecycle
  • Servlet Filters
  • Servlet Listeners

Session 6: SERVLET ISSUES

  • Threading Issues
  • Exception Handling
  • Error pages
  • Using Annotations to Configure Servlets

Session 7: JAVA SERVER PAGES - JSP

  • How Java Server Pages Work
  • Creating a Java Server Page
  • JSP / XML Elements
  • Servlet To JSP Request Dispatching
  • Action Elements
  • Implicit Objects
  • Error Pages

Session 8: JSP TAG LIBRARIES

  • Custom Tags and Tag Libraries
  • Commercially available tag libraries
  • Write JSP Using Standard Tags

Course Contents - DAY 3

Session 9: JSP EXPRESSION LANGUAGE

  • JSP Expression Language
  • EL expressions
  • Variables
  • Functions

Session 10: USING JSON

  • The Java API for JSON Processing
  • The Streaming API
  • The Object Model API

Session 11: WEBSOCKET

  • Why use WebSocket?
  • Annotated and Programmatic Endpoints
  • Client and Server Endpoints
  • Encoders and Decoders

Session 12: ENTERPRISE JAVA BEANS - EJB

  • Why EJBs?
  • The EJB Architecture
  • The EJB Container
  • Session Beans

Course Contents - DAY 4

Session 13: CONTEXTS AND DEPENDENCY INJECTION

  • Bean Discovery Modules
  • Life Cycle Callbacks
  • Qualifiers
  • Producers and Disposers
  • Interception
  • Decoration
  • Events

Session 14: BEAN VALIDATION

  • Built in Constraints
  • Custom Constraints
  • Method Constraints
  • Validation Groups

Session 15: JDBC

  • Connecting to Databases
  • Statements
  • Result Sets
  • Prepared Statement Objects
  • Stored Procedures

Session 16: JAVA TRANSACTION API

  • Java Persistence Specification
  • Object Relational Mapping
  • Creating an Entity Class
  • Controlling the JPA Life Cycle
  • Deploying Entity Classes

Course Contents - DAY 5

Session 17: JAVA MESSAGING SERVICE

  • Message Domains
  • Asynchronous Message Consumption
  • Transactions
  • Creating Message-Driven Beans
  • Utilising Life Cycle Events

Session 18: JAX-RS RESTFUL WEB SERVICES

  • Adding JAX-RS Annotations
  • Using HTTP Request Headers
  • Mapping URLs to Java

Session 19: JAX-WS SOAP WEB SERVICES

  • The Web Services Protocol Stack
  • SOAP, WSDL and UDDI
  • Web Services with JAX-WS

Session 20: JEE SECURITY

  • Container Managed Security
  • Authentication Methods
  • Defining Roles
  • Security Users and Groups

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Our Customers Include