Java Course

Synopsis

This comprehensive five-day course begins with an introduction to object-oriented programming in Java, progressing to cover databases, graphical user interfaces, web applications, web services and enterprise beans.

The theory is reinforced by building an application with both web and desktop user interfaces. The desktop application connects to a database via a web service, while the web application comprises Java Server Pages, Servlets and Enterprise Beans.

Each delegate has the use of a computer; course hours are 9:00 to 5:00.

Course Dates and Fee

8 - 12 September, £950
27 - 31 October, £950
15 - 19 December, £950

In addition to the above public courses, we can provide customised and in-house training

Prerequisites

No existing knowledge of Java is assumed, but to succeed fully in the course, previous use a programming or scripting language is recommended.

Course instructor

The course instructor is Simon Dineen, a Sun Certified Java Developer with eight years experience in Java development and training.

Course Content

Introduction
  • Java technology and the Java Runtime Environment
  • Integrated Development Environments
  • Building a simple command line application
  • Overview of the Java Development Kit (JDK 6) documentation
Object-oriented programming
  • Define a class comprising fields and methods
  • Packages and encapsulation
  • Build an object and invoke its methods
  • Constructors and method overloading
Java Language Syntax
  • Keywords and primitive types
  • Conversion, casting and autoboxing
  • Operators and their precedence
  • Declare arrays of primitive or class types
  • Conditionals and loops
  • Catching and throwing exceptions
  • Enumerated types
Class Design
  • Diagramming object structure with Unified Modelling Language (UML)
  • Inheritance compared with composition
  • Invoke a specific base class constructor
  • Method overriding and Polymorphism
  • Abstract classes and interfaces
Collections and Generics
  • Core interfaces in the Collections framework
  • Build a generic collection
  • Iterate through a collection with the enhanced for loop
Storing and Retrieving Data with File I/O
  • Byte streams and character streams
  • Read and write text from a file
  • Write the state of an object to a file as XML
  • Retrieve an object previously saved as XML
Relational Databases
  • Connect to a database with the JDBC API
  • Map between SQL and Java types
  • Interrogate and update a database with the ResultSet and PreparedStatement classes
Java Persistence
  • Define an entity class using annotations
  • The persistence context and managed entities
  • Persist, retrieve, remove and merge entities
  • Use Java Persistence Query Language to retrieve entities
      Developing GUIs
  • Outline of Swing components, containers and layout managers
  • Overview of the Swing packages and classes
  • Build a simple GUI comprising a TextField and a Button
  • Display data in a Table with an associated TableModel
  • Registering event handlers
  • Anonymous inner classes
  • The Swing single thread model and starting additional threads
Build and Deploy desktop applications
  • Generate API documentation with the Javadoc tool
  • Automate build tasks with Apache Ant
  • The Java Archive (JAR) utility
  • Digitally signing a JAR file
  • Deploying an application with Java Web Start
Web Applications
  • Java EE 5 application servers and web containers
  • HTML forms and HTTP methods
  • Build a Servlet and configure the deployment descriptor
  • Java Server Pages (JSPs) and their relation to Servlets
  • Instantiate worker beans with a specified scope
  • Use the Java Standard Tag Library to format data as an HTML table
  • Configure web application security, including authentication and authorisation
  • The Java Server Faces (JSF) Web application framework
  • Use JSF components, managed beans and navigation
Web services
  • The purpose of a web service
  • Overview of web service protocols including WSDL and SOAP
  • Deploy a JAX-WS service
  • Connect a JAX-WS client to a web service
Enterprise Beans (EJB 3.0)
  • The EJB container and resource injection
  • Entity beans and associations between entities
  • Stateful and stateless session beans
  • Instance pooling and passivation
  • Reference a session bean from the web container