<IMG SRC="fla_train.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0>
Click Here for the Outline in PDF Version
Course Outline: Advanced Java

(5 Days) with Hands-On Labs
    Learning Objectives

  • Learn intermediate to advanced Java features such as inner classes, object serialization, reflection, the use of JAR files, and native methods
  • Gain an in-depth understanding of database programming in Java using JDBC
  • Learn Java’s security model and how to do security programming in Java
  • Learn how to do distributed programming in Java using RMI and CORBA


This course description should be used to determine whether the course is appropriate for you based on your current skill and technical training needs. Technical information is provided on the intended audience, course prerequisites, and covered topics. Course content, prices, and availability are subject to change without notice.


Course Audience

This intensive hands-on course explores advanced Java language features and packages. Java programmers will be able to take the content learned and immediately apply it to the problems encountered on the job.

Course Description

The course begins with a discussion of inner classes. Database programming using JDBC is covered in depth. Object serialization is covered. Distributed programming in Java is introduced, including use of both Remote Method Invocation and CORBA. Reflection in Java and JAR files are covered. Server-side Web programming is introduced using servlets. Java security is covered in depth, including both the Java security model and details of the java.security package. Native methods are covered. There is also an introduction to JavaBeans. (For more detail on this last subject, please see our 4-day course “Using and Developing JavaBeans”)

Prerequisites

Java Programming and some Java development experience are required.

TOPICS COVERED IN LECTURE & LAB

Course Introduction

  • Course Objectives
  • Course Overview
  • Suggested References
Inner Classes

  • Nested Object Model
  • Member Classes
  • Local Classes
  • Anonymous Classes
  • Instance Initializers
  • Inheritance vs. Containment Last Topic
  • Inner Classes with the AWT
Introduction to JDBC

  • The JDBC Connectivity Model
  • Database Programming
  • Connecting to the Database
  • Creating a SQL Query
  • Getting the Results
  • Updating Database Data
  • Finishing Up
JDBC SQL Programming

  • Error Checking and the SQLError Class
  • The SQLWarning Class
  • The Statement Interface
  • The ResultSet Class
  • Executing SQL Statements
  • Executing SQL Updates
  • Transaction Management
Advanced JDBC

  • Using a PreparedStatement
  • Parameterized Statements
  • Stored Procedures and Functions
  • ResultSets from Stored Procedures
  • The execute() Method
  • ResultSetMetaData
  • The DriverManager Class
  • Types of JDBC Driver
  • The DatabaseMetaData Class
  • Positioned Updates
  • Large Objects
Object Serialization

  • What is Serialization?
  • Serializable Objects
  • Writing an Object
  • Reading an Object
  • Handling Exceptions
  • Customizing Serialization
  • Controlling Serialization
  • Motivation I: Persistence
  • Motivation II: Distributed Applications
  • Motivation III: Object Storage
Remote Method Invocation

  • Distributed Applications
  • Stubs and Skeletons
  • Steps to Create a Remote Object
  • Local Example
  • Remote Client
  • Remote Server
  • RMI Classes and Interfaces
  • Parameter Passing and Serialization
  • RMI Utilities
CORBA

  • Interface Definition Language
  • IDL-to-Java Compiler
  • Server Code - ImplBase Approach
  • Client Code
  • Running the Application
  • CORBA Review
Reflection

  • The Class Class
  • The reflect Package
  • Dynamic Instantiation
  • Attribute Access
  • Method Determination and Invocation
  • Exception Handling and Reflection
  • Uses of Reflection
JAR Files

  • The Jar Utility
  • Manifest Files
  • Signed JARs
The Event Model

  • Event Listeners
  • Event Sources
  • Event Objects
  • Firing Events
  • Event Casting Models
  • Events and Exceptions
JavaBeans

  • The Basic Bean
  • Bean Properties
  • Bound Properties
  • Constrained Properties
More JavaBeans

  • Bean Persistence
  • Multithreading Considerations
  • Packaging Beans
  • The BeanBox
  • Introspection
  • Customizers
  • JavaBeans and ActiveX
Servlets

  • 3 Ways to Use Servlets
  • Dynamic HTML Symantics
  • GenericServlet API
  • HttpServlet API
  • HTML Servlet Choices
  • Client/Server Communication
  • Client Example
  • Server Example
Managing Security Policy

  • The Java Security Model
  • The Java Virtual Machine
  • Applet Security - The Sandbox
  • Trusted Applets
  • Signatures and Message Digests
  • The javakey Utility
  • Security and JARs
Keys, Signatures and Certificates

  • Java Cryptographic Architecture
  • The Security API
  • The Provider Class
  • Security Classes and Interfaces
  • Generating Keys
  • Managing Keys
  • Access Control Lists
  • Securing Network Traffic - Data Encryption
Native Methods

  • Overview of Java Native Methods and JNI
  • How to Create and Use Native Methods
  • Native Method Declaration
  • Using javah
  • Creating the Implementation Code
  • Compilation
  • Distribution
  • Using the Native Methods
  • JNI
  • Passing Arguments
  • Calling Java Methods in Native Code
  • Embedding a VM in Native Code
Policy