Advanced Java Programming

Length: 5 days  Price (Excl. GST): $2750.00 per person

This course provides advanced training in developing software using the Java 2 Platform, Standard Edition, or J2SE. It is intended for students with solid experience in structured and object-oriented Java programming, including use of the Collections API and exception handling.

This revision of the course targets the 5.0 version of the Java language and Core API.

The course is organized into five modules. The first covers several general-purpose topics: using Java-5.0 generics, writing multi-threaded applications, the Reflection API and annotations, and network programming using sockets. Then the course takes up the challenge of building multi-tier applications using the standard Java platform. Multi-tier development most frequently uses the Java 2 Platform, Enterprise Edition, or J2EE, and we have a wide range of courses in that area. However it is quite possible to build lightweight multi-tier applications using only J2SE, and for some purposes the J2EE is moure trouble than it's worth.

So the course looks at each of the traditional tiers and the J2SE APIs most suited to developing them: the Java Foundation Classes, or JFC, for building graphical user interfaces (GUIs) for the presentation tier; Java RMI as a way of distributing Java objects in a separate business tier; and JDBC for the persistence tier. A J2SE multi-tier application provides a comprehensive case study that illustrates multi-tier architecture, design patterns, and best practices, and also provides a few challenge labs. Students will complete the course prepared to build distributed Java applications and to pursue JFC, RMI, or JDBC in greater depth.

Learning Objectives

  • Make effective use of Java generic types.
  • Write multi-threaded Java applications.
  • Use the Reflection API for highly generic tasks, discovery, or code-generation.
  • Use standard annotations and develop custom annotations to express meta-data in Java source files.
  • Communicate between processes using network sockets.
  • Understand the roles of JFC, RMI, JDBC, and other Core API packages in the classic multi-tier architecture for distributed systems.
  • Understand the basics of the JFC architecture.
  • Build complex GUIs using various JFC controls.
  • Understand the relationship between RMI and various J2EE technologies such as JNDI, EJB, and CORBA.
  • Implement simple RMI clients and servers.
  • Connect to a database using JDBC and perform a simple query.
  • Update relational data using JDBC to execute updates, inserts and deletes.
  • Use prepared statements to produce reusable database queries and optimize execution time.
  • Use callable statements to access database procedures.
  • Use scrollable and updatable results sets for more robust solutions.
  • Use commit, rollback, and savepoint to build transactional systems.
  • Use batch processing for efficient handling of large datasets.
  • Use the Java 5.0 Core API and related tools to develop robust multi-tier applications.

Course Content

Generics
Threads
Reflection
Annotations
Sockets
J2SE Case Study Overview
The Presentation Tier
The Business Tier
The Persistence Tier
Introduction to JFC
JFC Application Design
JFC Components
RMI Architecture
Practical RMI
Database and SQL Fundamentals
JDBC Fundamentals
Advanced JDBC
Introduction to Row Sets