JV20    Java Advanced Topics
 
Length/Format
1-3 days per module (flexible scheduling based on modules included)
Lecture, discussion, demos and hands-on labs
Description
This course presents intermediate and advanced coding techniques and distributed technologies including JDBC, RMI, Servlets/JSP, network programming, windows and multi-threading. Client and server-side topics are covered with significant lab assignments. The material may be delivered on either UNIX or Windows platforms.
Audience
The intensive 3-10 day course modules detailed below are intended for programmers who have attended JV11 "Java Programming" or equivalent experience. Servlet topics assume some knowledge of HTML.
Key Topics
JAVA EE OVERVIEW -
Overview, Definitions, MVC Design Pattern, Server Products; Platform Servers, Containers, Client Technologies; API Services, Servlet, JSP, EJB, JNDI, JDBC, JTA, JMS, JAXP, JCA, JAAS; WebApps Processing Cycle; Deployment Objects, JAR/WAR/EAR; Server Component Directory Structure, XML Descriptors; Development Roles; Sample Apps.

DATABASES AND JDBC -
Overview, Packages, Coding Essentials, Drivers, Connections, Statements and ResultSets; Making Connections, Driver Types, Loading Drivers, Connection String URLs; Statements and ResultSets, Executing Queries/Updates, Accessing Rows/Columns, Handling Nulls, Exceptions; PreparedStatement and Efficiencies; Stored Procedures, CallableStatement; Advanced ResultSets, Scrollable Cursors, Updatable Rows; Transactions, commit/rollback; APPENDIX: ResultSet and Database MetaData

DISTRIBUTED OBJECTS & RMI -
Overview, Distributed Objects, RMI vs DCOM vs Corba; RMI Architecture, Stubs & Skeletons, RRL & Transport Layers, Naming Service & Registry, Memory Mgmt, Development checklist; RMI Servers, Remote Interfaces, RemObj Implementation, Servers, Binding; RMI Clients; Deployment Issues, Compiling/Testing, ClassLoaders & Servers, Classpaths; BiDirectional Messaging; Object Activation, rmid, Setup programs;

DEVELOPING SERVLETS -
Overview, Request/Response systems, HTTP, Browser/Server protocols; Servlet Architecture, Interfaces & Classes, Generic/HTTP Servlet classes, LifeCycle, Property files, Configuration & Context info; Coding Servlets, Request/Response classes/methods, GET & POST processing; File/DB Processing; Maintaining State, Cookies, HTTPSession object; Servlet Collaboration, Including & Forwarding Responses & Requests; Interacting with Applets, Serving Images;

DEVELOPING JAVASERVER PAGES -
Overview, API package, AppServers, Classes & Translation Phases, Example; JSP Coding, Tag Syntax, Directives Page/Include; Scripting Elements, Expressions, Declarations, Scriptlets; Actions, useBean, get/setProperty, include/forward; JSP Design Patterns, Model I/II, Page-Centric vs MVC; Example Application

ENTERPRISE JAVABEANS -
Overview, Versions, EJB Types, Servers & Containers, Deployment Descriptors; Architecture, Home/Remote Interfaces, Bean Implementation Classes, Deployment, Client Views, Example; Developing EJBs, Steps & Roles, Coding Restrictions, JNDI Contexts & Lookup, Remote/Home Interfaces; Entity Beans, BMP vs CMP, Primary Keys, Interfaces, Bean Class, Create/Finder Methods, Lifecycle Methods, Deployment Descriptor, Clients, Examples; Session Beans, Stateless vs Stateful, Interfaces, Bean Class, Create & Lifecycle Methods, Examples; EJB 2.0

JAVA XML PROCESSING -
Overview, Standards, Parsers, APIs, SAX & DOM Features, Sun Java APIs; XML Overview, Modeling/Presentation/Processing SW, Technologies; XML Syntax, ProcInstructions, Declarations, Elements/Attributes; Examples XML, DTD, XSD; Coding SAX, Overview/Steps, Xerces & JAXP API & packages, XMLReader, Content & Error Handlers, Event Callback Methods, Properties & Features, Examples; Coding DOM, Overview/Steps, Xerces & JAXP API & packages, DOMParser, DOMImplementation, Document object, Collections; DOM Classes; Mutability, Node/Element Methods, Document Methods, Creating Nodes, DocTypes; Serialization; Examples

JFC and SWING -
Overview, AWT vs Swing; Architecture, Containers, Components, LayoutManagers Program Structure and Coding; Containers, JFrame/Dialog/Window, Size/Position, Color/Font, Window Events; JComponents, Buttons, Labels, Text, Check/Radio, List/Combo; Layout Managers, Flow, Grid, Border, null, Box; Dialog Factories, OptionPane, FileChooser; Menus;
Overview Event Delegation Model, Sources, Objects & Listeners; Program Structure and Coding, Implementing Interfaces, Inner Classes, Anonymous Adapters;

JAVA NETWORKING AND SOCKETS -
Overview, Network Stack and Protocols, IP/TCP/UDP/Appl, Services; Package Classes and Exceptions; INET Address Translations; URL and URLConnections, HTTP Header Info, Downloading FileData; Socket Programming, Client vs Server Coding, Threading; APPENDIX: Datagram Sockets and UDP; CGI-like GET/POST Processing

USING JAVA THREADS -
Overview, Process vs Thread; Object Threading Model, Thread Class, Data, run() code; Creating Threads, Runnable Interface vs Extending Thread Class; Thread States, New, Runnable, Blocked, Dead; Thread Class Methods, start/stop, suspend/resume, yield, sleep; Thread Priority & Scheduling, Daemons, Groups; Synchronization and Thread Safe Coding, Locks; Producer/Consumer Model, wait/notify Processing; APPENDIX: SE5 Concurrency Package, Executors, ThreadPools, Scheduling, Callables

CREATING JAVA APPLETS -
Overview, Applet Class Anatomy & LifeCycle, init/destroy, start/stop Methods; Using Images & Audio; Applet Messaging, Context Methods; URL Streams
 
Copyright 2011 AJC Information Solutions     http://www.ajcis.com    info@ajcis.com     973.605.8373