| Java Training   Overview 
 
 
				
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. The course software also includes an optional overlay of workspace and project files to support use of the Eclipse IDE in the classroom. (This requires that the instructor be experienced in use of Eclipse and able to walk students through basic tasks in the IDE.)
 This revision of the course targets the 5.0 version of the Java language and Core API. (Java 5.0 is also known as Java 1.5, as this revision effects a transition to a new numbering scheme for the Java environment.) It has been rebuilt thoroughly, not only to cover new 5.0 language features, but also to comb out old programming techniques in favor of new ones. For training within the Java 1.4 environment, please see version 1.4 of this course
 
 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.
 
 Java Training   Prerequisites
 
 Solid Java programming experience is essential -- especially object-oriented use of the language. Language features and techniques that are integral to some lab exercises include interfaces and abstract classes, threading, generics and collections, and recursive methods. Course  "Java Programming," is excellent preparation.
 
 Java Training   Learning Objectives
 After successfully completing this course, you will be able to:
 
Java Training   Course durationMake 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. 
 5 Days
 
 Java Training   Course outline
 
 Module 1. Advanced Java
 
 Chapter 1. Generics
 
Chapter 2. ThreadsUsing GenericsType ErasureType BoundariesWildcardsGeneric MethodsStrengths and Weaknesses of GenericsLegacy Code and Generics 
Chapter 3. ReflectionJava Thread ModelCreating and Running ThreadsManipulating Thread StateThread SynchronizationVolatile Fields vs. Synchronized Methodswait and notifyjoin and sleepThe Concurrency APIAtomic Operations 
Chapter 4. AnnotationsUses for Meta-DataThe Reflection APIThe Class<T> ClassThe java.lang.reflect PackageReading Type InformationNavigating Inheritance TreesDynamic InstantiationDynamic InvocationReflecting on Generics 
Chapter 5. SocketsAspect-Oriented Programming and JavaThe Annotations ModelAnnotation Types and AnnotationsBuilt-In AnnotationsAnnotations vs. Descriptors (XML) 
Module 2. J2SE Case StudyThe OSI Reference ModelNetwork ProtocolsThe Socket ClassThe ServerSocket ClassConnecting Through URL ObjectsHTTP and Other TCP ServersDatagram Clients and ServersNon-Blocking Sockets 
 Chapter 1. Overview
 
Chapter 2. The Presentation TierThree Tiers for J2EEThree Tiers for J2SEThe Case StudyDesign PatternsDomain and Service Models 
Chapter 3. The Business TierThe Standalone/Client ApplicationJDesktopPane and JinternalFrameAdapting JList, JTable, and JTree to ServicesPresentation-Tier Patterns 
Chapter 4. The Persistence TierDistributing the ApplicationA Chain of ServicesLoggingBusiness-Tier PatternsDesigning for Latency 
Module 3. The Java Foundation ClassesA Database is Not a Persistence Tier!Persistence FrameworksPersistent-Object StrategiesPersistence-Tier PatternsCaching 
 Chapter 1. Introduction to JFC
 
Chapter 2. JFC Application DesignAbstract Windowing Toolkit BasicsSimple Layout ManagementSimple Event HandlingLightweight ControlsJFC Feature SetJFC Architecture and Relationship to AWT 
Chapter 3. JFC ComponentsRole of a JFrameBuilding a Frame-Based JFC ApplicationPanesUsing Dialogs 
Module 4. Remote Method InvocationJFC Component Class HierarchyJComponent FeaturesSimple Control TypesText ComponentsMenusManaging Look and Feel 
 Chapter 1. RMI Architecture
 
Chapter 2. Practical RMIMotivation for RMIRMI, EJB, and CORBARMI ArchitectureLifetime of a Remote Method InvocationRegistriesNaming and URL ResolutionInterface DesignThe Remote InterfaceImplementation ClassesThe RemoteObject and RemoteServer ClassesThe UnicastRemoteObject ClassServer ImplementationUsing the RegistryClient ImplementationCode Deployment 
Module 5. Java Database ConnectivityRMI MarshalingPassing ObjectsThe Factory PatternSerialization vs. Remote ReferenceDesigning for LatencyThe Transfer Object PatternControlling Object LocationException Handling 
 Chapter 1. Database and SQL Fundamentals
 
Chapter 2. JDBC FundamentalsRelational Databases and SQLDatabase, Schema, Tables, Columns and RowsSQL Versions and Vendor ImplementationsDDL -- Creating and Managing Database ObjectsDML -- Retrieving and Managing DataSequencesStored ProceduresUsing SQL Terminals 
Chapter 3. Advanced JDBCWhat is the JDBC API?JDBC DriversMaking a ConnectionCreating and Executing a StatementRetrieving Values from a ResultSetSQL and Java DatatypesCreating and Updating TablesHandling SQL Exceptions and Proper CleanupHandling SQLWarning 
Chapter 4. Introduction to Row SetsSQL Escape SyntaxUsing Prepared StatementsUsing Callable StatementsScrollable Result SetsUpdatable Result SetsTransactionsCommits, Rollbacks, and SavepointsBatch Processing 
Appendix A. Learning ResourcesRow Sets in GUI and J2EE programmingAdvantages of RowSetsRowSet SpecializationsUsing CachedRowSets 
 
 Hardware/Software Requirements
 
 Hardware – minimal
 Hardware – recommended 500MHz, 256 meg RAM, 500 meg HD.
 Operating system1.5 GHz, 512 meg RAM, 1 gig disk space
	
 SoftwareTested on Windows XP Professional. Course software should be viable on all systems which support a J2SE 1.4 SDK.
	 
 
 All free downloadable tools
 
 |