![]() |
||
|
Advanced
Java Programming (JA3660GB) - 4 Days
|
Description
Move beyond the basics of developing a Java application into the following areas:
Java and distributed objects, Java security, integrating Java with databases
and messaging systems, performance, and testing.
Note: This course is being updated to include more exciting topics for
Java programmers. It will also start to make use of Rational Application Developer
V6 as the Interactive Development Environment beginning with all classes starting
November 1, 2005. The course title at that point will change to Continuing Studies
in Java Development .
This course does not cover servlets, JavaServer Pages (JSP), or Enterprise
JavaBeans (EJB).
Audience
This is an advanced course for experienced Java developers, who want to obtain
more advanced server-side developer skills.
Prerequisites
Previous basic Java experience equivalent to course "Introduction
to Java using IBM Rational Application Developer v6 (JA3560GB)"
Objectives
On completion you will be able to:
Contents
Java editions
introduce the three Java 2 Platform editions
compare and contrast features of J2SE, J2EE and J2ME
describe the resulting technologies of each edition
Coding best practices
describe coding conventions
discuss rebinding parameters in Java
describe Java Big 4
discuss immutable and thread safe objects
describe the proper use of constructors and conditional code blocks
Examining networking with sockets
define and use protocols
define and use sockets
define and use Uniform Resource Locators (URL)
Serialization
describe serialization
describe externalization
compare and contrast serialization and xxternalization
describe the process of versioning a class
Design patterns (part 1)
describe the purpose of using a design pattern in application development
compare and contrast design patterns and an application framework
Distributed objects (part 1)
describe Remote Method Invocation (RMI)
discuss the responsibilities of the RMIClassLoader
describe of dynamic code loading
explain garbage collection in RMI
describe the role of the rmiregistry
describe the different RMI configuration models
describe the process to customize a distributed RMI application to use dynamic
class loading
Design patterns (part 2)
describe and compare the Factory, Singleton, State, Bridge and Flyweight
design patterns
Distributed objects (part 2)
describe the role that Java Interface Definition Language (IDL) plays in
Java application development
explain the major IDL components and their function
understand the relationship between Java IDL and the Common Object Request
Broker Architecture (CORBA)
describe an Object Request Broker (ORB)
describe the Internet Inter-ORB Protocol (IIOP)
describe RMI-IIOP
compare and contrast Java IDL, RMI, and RMI-IIOP
Java Naming and Directory Interface (JNDI)
describe directory and naming services
explain the usefulness of the Lightweight Directory Access Protocol (LDAP)
describe the use of JNDI to provide an interface to different directory service
vendors
Exception handling
describe and understand exception handling concerns
Java for databases
write basic JDBC Java code to query an SQL database
explain the functions of Driver, Connection, Statement, and ResultSet
explain the use of connection pooling and datasources
describe SQL for Java (SQLJ) technology
Java for messaging systems
define basic messaging concepts
describe the parts of a message from a Java perspective
describe Java Message Service (JMS) support
describe JavaMail support
introduce the JavaMail API
describe the JavaBeans Activation Framework
Java resource loading
describe resources
explain class loader responsibilities
describe the java.lang.Class class
explain the loading of resources in Java
define the term Java Archive (JAR) and its use
Internationalization
define and compare globalization, internationalization and localization
define and use Java Locale class
isolate Locale-specific information using resource bundles
format and parse dates, times, numbers and messages
Security
describe the Java Security Model
describe general security concepts
describe Java-related security
understand keys and certificates
explain Java security policies and their creation
Server application construction
discuss how caching helps with server performance scalability
discuss some considerations in building a cache in the server
describe how using a Visitor design pattern helps with server function scalability
use the Visitor design pattern to increase server malleability
JUnit testing
define JUnit
list the advantages that incremental testing provides
Performance
code a Java program to take advantage of better performing code
describe the optimization process
explain how a Just in Time (JIT) compiler works
explain how Java HotSpot performance engine works
Remarks
The lab exercises in this course use WebSphere Studio Application Developer.
Price £1845