Java Course » JV003 Advanced Application Development with Java

  Course Code:   LP003   
  Duration:  3 Days Pricing :  22,300 Baht (VAT Included)
  Overview  
 

WTEC’s Advanced Java Programming training course teaches Java developers the latest advanced Java language skills, including generics, annotations, threads, reflections, sockets, RMI, the Java Foundation Classes, and JDBC.


Prerequisites

Students must be able to write, compile, test, and debug simple Java programs, using structured programming techniques, strong data types, and flow-control constructs such as conditionals and loops. Our Beginning Application Development with Java class is recommended.


Hands-on/Lecture Ratio

This Java training course is 70% hands-on, 30% lecture, with the longest lecture segments lasting for 20 minutes.


Software Needed on Each PC

 
  • Any operating system that supports Java 1.5, 1.6, or later
  • Java SE SDK version 1.5, 1.6, or later (downloadable from http://java.sun.com/j2se/downloads.html)
  • The Java development environment the students are likely to use after the class (Eclipse, available free at http://www.eclipse.org/, is recommended)
  • Other free software – please contact us if you have purchased this class

  • Objectives

     
  • 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 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.

  • Outline

    1.  Generics
     
  • Using Generics
  • Type Erasure
  • Type Boundaries
  • Wildcards
  • Generic Methods
  • Strengths and Weaknesses of Generics
  • Legacy Code and Generics
  • 2.  Threads
     
  • Java Thread Model
  • Creating and Running Threads
  • Manipulating Thread State
  • Thread Synchronization
  • Volatile Fields vs. Synchronized Methods
  • wait and notify
  • join and sleep
  • The Concurrency API
  • Atomic Operations
  • 3.  Reflection
     
  • Uses for Meta-Data
  • The Reflection API
  • The Class Class
  • The java.lang.reflect Package
  • Reading Type Information
  • Navigating Inheritance Trees
  • Dynamic Instantiation
  • Dynamic Invocation
  • Reflecting on Generics
  • 4.  Sockets
     
  • The OSI Reference Model
  • Network Protocols
  • The Socket Class
  • The ServerSocket Class
  • Connecting Through URL Objects
  • HTTP and Other TCP Servers
  • Datagram Clients and Servers
  • Non-Blocking Sockets
  • 5.  Overview
     
  • Three Tiers for J2EE
  • Three Tiers for J2SE
  • The Case Study
  • Design Patterns
  • 6.  The Presentation Tier
     
  • The Standalone/Client Application
  • JDesktopPane and JinternalFrame
  • Adapting JList, JTable, and JTree to Services
  • Presentation-Tier Patterns
  • 7.  The Business Tier
     
  • Distributing the Application
  • A Chain of Services
  • Logging
  • Business-Tier Patterns
  • Designing for Latency
  • 8.  The Persistence Tier
     
  • A Database is Not a Persistence Tier!
  • Persistence Frameworks
  • Persistent-Object Strategies
  • Persistence-Tier Patterns
  • Caching
  • 9.  Introduction to JFC
     
  • Abstract Windowing Toolkit Basics
  • Simple Layout Management
  • Simple Event Handling
  • Lightweight Controls
  • JFC Feature Set
  • JFC Architecture and Relationship to AWT
  • 10.  JFC Application Design
     
  • Role of a JFrame
  • Building a Frame-Based JFC Application
  • Panes
  • Using Dialogs
  • 11.  JFC Components
     
  • JFC Component Class Hierarchy
  • JComponent Features
  • Simple Control Types
  • Text Components
  • Menus
  • Managing Look and Feel
  • RMI Architecture
  • Motivation for RMI
  • RMI, EJB, and CORBA
  • 12.  RMI Architecture
     
  • Lifetime of a Remote Method Invocation
  • Registries
  • Naming and URL Resolution
  • Interface Design
  • The Remote Interface
  • Implementation Classes
  • The RemoteObject and RemoteServer Classes
  • The UnicastRemoteObject Class
  • Server Implementation
  • Using the Registry
  • Client Implementation
  • Code Deployment
  • 13.  Database and SQL Fundamentals
     
  • Relational Databases and SQL
  • Database, Schema, Tables, Columns and Rows
  • SQL Versions and Vendor Implementations
  • DDL -- Creating and Managing Database Objects
  • DML -- Retrieving and Managing Data
  • Sequences
  • Stored Procedures
  • Using SQL Terminals
  • 14.  JDBC Fundamentals
     
  • What is the JDBC API?
  • JDBC Drivers
  • Making a Connection
  • Creating and Executing a Statement
  • Retrieving Values from a ResultSet
  • SQL and Java Datatypes
  • Creating and Updating Tables
  • Handling SQL Exceptions and Proper Cleanup
  • Handling SQLWarning
  • 13.  Advanced JDBC
     
  • SQL Escape Syntax
  • Using Prepared Statements
  • Using Callable Statements
  • Scrollable Result Sets
  • Updatable Result Sets
  • Transactions
  • Commits, Rollbacks, and Savepoints
  • Batch Processing
  • 13.  Introduction to Row Sets
     
  • Row Sets in GUI and J2EE programming
  • Advantages of RowSets
  • RowSet Specializations
  • Using CachedRowSets
  • 13.  Conclusion
     
      PREV   NEXT  
    TOP