Advanced Java Programming with Distributed Objects Using WebSphere Studio V5.1
Length: Contact for duration
Course Code: JA369
List Price:
$2,250
TrainingPage Price: $2,193
TAP Eligible
Get $150 NFLShop Gift Card and more
View Dates & Enroll OnlinePlease Note: This class is subject to a ten percent increase. Please contact a TrainingPage representative for verification of price increase.
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.
This course does not cover servlets, JavaServer Pages (JSP), or Enterprise JavaBeans (EJB).
Course Materials
The course material moves 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 using IBM WebSphere Studio Application Developer V5.1.
Hands-On Labs
Fourteen labs are included to address the skills transfer 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 using IBM WebSphere Studio Application Developer V5.1.
What's Next
Ready for the next step in Java 2 Platform, Enterprise Edition (J2EE) development? See Servlet and JSP Development using WebSphere Studio Application Developer V5.x (WF311) and take the courses recommended in the WebSphere Development (J2EE) training path:
http://www.ibm.com/services/learning/ites.wss/us/en?pageType=page&contentID=a0000588
Note: This course uses WebSphere Studio V5.1 as the Interactive Development Environment (IDE) for hands-on labs. If you wish to use IBM Rational Application Developer as the IDE please see the updated and soon to be released course code JA361 (Continuing Studies in Java Development).
IACET Continuing Education Units: 3.6
Audience:
This is an advanced course for experienced Java developers, who want to obtain more advanced server-side developer skills.
Objectives:
- Define services and Application Programming Interfaces (API) used for developing distributed Java applications.
- Describe design patterns used to create reusable Java classes for server-side programming
- Develop and design classes to utilize Java integration to databases
- Describe the Java 2 platform security model
- Examine the many alternatives in the ways that exceptions can be used and subclassed for particular applications
- Set locale using the Locale class
- Describe some considerations in server application construction
- Describe Java 2 Platform, Standard Edition (J2SE), J2EE, and Java 2 Platform, Micro Edition (J2ME)
Prerequisites:
You should complete:
- Developing and Testing OO Applications with Java (JA341)
- or have equivalent Java experience
You should also have experience developing Java classes and debugging with WebSphere Studio Application Developer, Version 5.0. At least three to six months of project experience working on Java development projects is strongly recommended.
Topics:
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