|
Home > Training >
Open Source
>
Programming Languages
>
|
WA1449 Advanced Java using Eclipse Training and Courseware
|
This course teaches how to develop advanced Java applications using Eclipse. The advanced features of Java that developers may be using in many different types of programs are covered. |
|
| Topics |
| |
- JavaBeans
- JUnit
- JDBC
- JPA (Java Persistence)
- Java Logging API
- Internationalization
- The Reflection API
- Architecture
- Threads
- Networking
- Distributed Objects
- Parsing XML with SAX
- Parsing XML with DOM
- JAXB (Java-XML Binding)
- JNI
- Security
- Summary of Recent Java Changes
|
| Practical Work |
| |
The labs cover many advanced topics that students will encounter when programming Java applications. Together these labs give students practical hands-on experience in creating and deploying advanced Java technologies using Eclipse. |
|
| What you will learn |
| |
After completing this course, the student should be able to:
- Test Java code using JUnit
- Understand how to connect to databases and work with data
- Use the logging capabilities built into the Java language
- Use the support for multiple languages provided by Java
- Use the reflection API to programmatically obtain details on Java classes
- Provide better architecture for Java programs
- Work with multi-threaded Java applications
- Use networking and distributed technologies of Java
- Work with XML from Java code
- Use Java capabilities to intergrate with non-Java code
- Use the security APIs provided with the Java language
|
|
| Audience |
| |
This course is intended for programmers who are familiar with Java and want to learn about the advanced features of Java. |
|
| Prerequisites |
| |
A good understanding of object-oriented programming using Java.
|
|
| Duration |
| |
Five days. |
|
|
Course Outline
Chapter 1. Collections and Generics
- What are Collections?
- Arrays vs. Collections
- Main Collections Interfaces
- java.util.Collection
- Main Collection Methods
- Sets
- java.util.List
- java.util.Queue
- Iteration on a Collection
- Iterator vs. For-Each Loop
- Maps
- java.util.Map
- Other Maps
- Collections Implementations
- Abstract Implementations
- Choosing a Collection Type
- Generics
- Generics and Collections
- Generic Collection Example
- Collections and Primitive Types
- Summary
Chapter 2. JavaBeans
- Overview
- Structure
- Life Cycle
- Properties
- Example
- Making a Bean
Chapter 3. JDBC
- Overview
- Types of Drivers
- Making a Connection
- Statements
- Execute, Update and ResultSets
- SQLException
- Prepared Statements
- Stored Procedures
- Transactions
- Connection Pooling
Chapter 4. Entities and Java Persistence API
- Data Persistence
- Java Persistence API
- Entities
- Session Beans Vs Entities
- Entities
- Persisting and Retrieving Data
- Accessing Entities
- EntityManager & Persistence Unit
- Persistence Context
- Entities - Example
- persistence.xml – Hibernate Provider
- persistence.xml – Open JPA Provider
- persistence.xml - Toplink
- Entity Instance Lifecycle
- Creating EntityManager in Session EJB
- Creating EntityManager in a Plain Java Class
- Working With the EntityManager Interface
- Transaction Basics
- Summary
Chapter 5. Internationalization
- Internationalization
- Adoption Stages
- Internationalization
- Locale
- Dates
- User Interface design
- Resource Bundles
- Other Local Customs
- How Java Represents Characters
- Text Files
- Text files
- Summary
Chapter 6. The Reflection API
- Overview
- Dynamic Facilities In Java
- What this Dynamic Aspect Implies
- Considerations
- The Class class
- Examining Classes
- The Example From Last Time
- An Example
- Reflection Allows
- Reflection Also Allows
- When Not to Use Reflection
- Examining Classes
- Manipulating Objects
- Creating Objects
- Getting Field Values
- Setting Field Values
- An example
- Arrays
- Summary
Chapter 7. Architecture
- Tiered Architectures
- Presentation Layer
- Middle Tier
- Model View Controller
- Extensible Markup Language
- XML
Chapter 8. Threads
- Overview of Threads
- Threads in Java Programming
- Write a Runnable Class
- Create Threads
- Another Way of Creating Threads
- Two ways of creating threads
- States in a Thread’s Lifetime
- JVM Scheduler
- Control and Schedule Thread
- Executor Interface
- Callable<V> Interface
- ExecutorService Interface
- Future<T> Object
- Coordinating the Concurrency of Multiple threads
- Synchronization
- How Does the Object Lock Flag Work
- Using the synchronized keyword
- The implication of synchronization
- Example of Synchronization - Producer/Consumer
- Example of Synchronization – MyStack
- Example of Synchronization – Producer
- Example of Synchronization – Consumer
- Example of Synchronization – SyncTest
- But…
- Coordinating Thread Cooperation
- wait() and notify()
- Example of Coordination Producer/Consumer
- Example of Coordination – MyStack
- Results
- Deadlock
Chapter 9. Networking
- Overview
- URL Connections
- Browser Example
- InetAddress
- Socket Classes
- Simple Clients and Servers
- Simple Clients and Servers (cont.)
- Multithreaded Servers
- UDP Sockets
Chapter 10. Parsing XML with SAX
- Obtaining a Parser
- SAX
- How it Works
- Core SAX2 Handler Classes
- SAX2 DefaultHandler
- SAX Events
- Ignorable Whitespace
- XMLReader Interface
- XMLReader Features
- XMLReader Factory
- Prepare SAX Parser Object
- Parse XML with SAX – Steps
- Define an Event Handler
- Prepare SAX Parser Object
- Define an Event Handler – startElement()
- Define an Event Handler – Element Attributes
- Define an Event Handler – Get Number of Attributes
- Define an Event Handler – Get Name of Attributes
- Define an Event Handler – Get Attribute Values
- Define an Event Handler – An Example
- Define an Event Handler – characters()
- Using characters()
- Define an Event Handler – Error Handling
- Define an Event Handler – ErrorHandler interface
- Parse XML Document
- Simple SAX Parser
- Run the SAX Application
- EntityResolver
- Locator
- Document Locator
Chapter 11. Parsing XML with DOM
- DOM
- Limitations of SAX
- XML as an Object Model
- Nodes
- The Basic Node Types
- Less Common Node Types
- Node Interface
- Document Interface
- NodeList Interface
- Element Interface
- Attr Interface
- Text Interface
- DOM Parsing
- Parse XML with DOM – Steps
- Prepare DOM Parser Object
- Parse XML Document
- Parse Exceptions
- Example – SimpleDOMParser
- Writing DOM
Chapter 12. The Java Architecture for XML Binding (JAXB)
- Introduction to JAXB
- Overview of Data Binding
- JAXB Architecture
- Binding Example
- Binding Framework Example
- Java and XML Mapping Overview
- Namespace and Package Name Mapping
- Simple Type Mapping
- Complex Type Mapping
- Customizing Complex Type Mapping
- Property Accessor Customization
- Property Mapping Customization
- XML Element Mapping
- Mapping Java Enums
- Mapping Collections
- Generating Java Class and Schema
- Marshalling and Unmarshalling
- Summary
Chapter 13. Java Logging API
- Java Logging API
- Control Flow of Logging
- Logging Levels
- Logging Handlers
- Loggers
- Logging Example
- Logging Formatters & Log Manager
- Logging Configuration File
- Example Logging Configuration File
- Logging Filters
Chapter 14. Distributed Objects
- Serialization
- Externalizable
- Remote Method Invocation
- Steps to implement RMI
- RMI – Remote Object Registry
- RMI – Dynamic class loading
- RMI and Applets
- Summary
Chapter 15. Security
- Attacks and Dangers
- Overview of JDK Security Features
- Overview of JDK Security Features – cont’
- Basic Concepts of Computer Security
- Encryption
- Cryptography Algorithm
- Message Digest
- Symmetric Ciphers
- Asymmetric Ciphers
- Digital Signature
- Authentication
- Certificate Manipulation
- Java Cryptography Architecture (JCA)
- Java Cryptography Extension
- Using the MessageDigest Class
- Example of Using the MessageDigest Class
- Example of Using MessageDigest Class – cont’
- Using the Signature Class
- Java Security Architecture
- JDK 1.0 Security Model –Sandbox
- JDK 1.1 Security Model – Trusted Signed Code
- JDK 1.2 Security Model – Security Policy
- JDK 1.4 Security Enhancement
- Protection Domains and Security Policies
- ProtectionDomain Class
- Permission Classes
- Using Permission Classes
- Policy Class
- Policy Configuration File
- AccessController Class
- SecurityManager Class
- Using the SecurityManager Class
- Dynamic Class Loader
- Loader Classes
- Example of Security Check in a Class Loader
- Java Security Tools
- Using Java Security Tools – Code Signing
Chapter 16. JNI
- Overview
- JNI Architecture
- Calling C Functions
- The Header File
- Passing Simple Parameters
- Mapping Java Types
- Calling Java Methods
- The Invocation API
- Exception Handling
- Native Exception to Java
- Java Exception In Native Code
- Code Sample
Chapter 17. JUnit
- What is JUnit?
- Why JUnit?
- The xUnit Philosophy
- Test-Driven Design
- A JUnit Test
- Running the Tests
- Swing-based Test Runner
- Text-based Test Runner
- JUnit Basics
- assertTrue
- assertEquals
- assertSame
- assertNull
- The Failure Message
- The Test Class
- The Test Method
- The Test Suite
- JUnit with Annotations
- JUnit 4 Test Suite
- JUnit Design
- Testing Strategies
- Specific Techniques
- Testing Simple Java classes
- Testing with Databases
- Testing Web Applications
- Testing Java EE Web Applications
- JUnit with Ant
- Summary
- JUnit with Eclipse
- Create a Test Case
- Test Case "Stubs"
- Running Tests
- Eclipse Test Runner Icons
- Rerun an Individual Test
- Failure Trace
- Debug with JUnit
- Test Suite Wizard
Chapter 18. Summary of Recent Java Changes
- JDK 1.4 - New Features
- JDK 1.4 - New I/O API
- Buffer
- Channel
- Simple Write Example
- Simple Read Example
- File Locking
- Simple Locking Example
- Memory Mapping File
- Example Memory Mapping
- Regular Expression Search
- JDBC 3.0 Enhancements
- XML Processing Using JAXP
- Example SAX Handler
- Example: Begin Parsing
- Example: Build DOM Document
- Example: Save DOM Document in a File
- XML Serialization Format
- Chained Exception
- JDK 1.4 - Assertions
- When to use Assertions
- Enabling Assertions
- Java 5 - New Features
- Java 5 - Type Safe Enums
- Java 5 – Generics
- Java 5 - Generics and Collections
- Java 5 - Generic Collection Example
- Java 5 – Autoboxing/Unboxing
- Java 5 - Enhanced for loop
- Java 5 - Variable Arguments
- Java 5 - Variable Arguments Example
- Java 5 - Static import
- Java 5 – Annotations
- Java 5 - Library Additions
- Java 6 - New Features
- Java 6 - Web Services
- Java 6 - XML
- Java 6 - Database
|
|
|
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston,
Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
|
|
 |
|
Buy on-site and customized class
Attend a public class
06/25/2012 -
Vancouver
$3,450.00
Enroll
07/09/2012 -
Online Virtual
$2,495.00
Enroll
07/16/2012 -
Calgary
$3,450.00
Enroll
07/23/2012 -
Toronto
$3,450.00
Enroll
07/23/2012 -
Montreal
$3,450.00
Enroll
07/23/2012 -
Ottawa
$3,450.00
Enroll
08/20/2012 -
Toronto
$3,450.00
Enroll
08/20/2012 -
Online Virtual
$2,495.00
Enroll
08/27/2012 -
Montreal
$3,450.00
Enroll
09/17/2012 -
Vancouver
$3,450.00
Enroll
09/17/2012 -
Ottawa
$3,450.00
Enroll
09/24/2012 -
Calgary
$3,450.00
Enroll
10/15/2012 -
Calgary
$3,450.00
Enroll
10/29/2012 -
Toronto
$3,450.00
Enroll
10/29/2012 -
Vancouver
$3,450.00
Enroll
10/29/2012 -
Montreal
$3,450.00
Enroll
11/05/2012 -
Online Virtual
$2,495.00
Enroll
11/26/2012 -
Ottawa
$3,450.00
Enroll
|
|