Learn your way! Get started

Java SE, Part 4: XML, Security, and JUnit

with expert Susan Bryant


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack
  • Power Pack Plus

Release date Release date 11/19/2010
Level Level Beginner
Runtime Runtime 6h 40m
Closed captioning Closed captioning N/A
Transcript Transcript N/A
eBooks / courseware eBooks / courseware Included
Hands-on labs Hands-on labs Included
Sample code Sample code Included
Exams Exams Included


Enterprise Solutions
Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

This course explores Java SE topics that provide the finishing touches when building professional Java applications using Eclipse. Students will learn about Parsing XML documents using both SAX and DOM methodologies. Students will understand how to take advantage of distributed objects, add security, use the Java Native Interface (JNI) and utilize Test-Driven Design through JUnit. This course concludes with a detailed look at Java features introduced with recent versions of Java like Java SE 5 and Java SE 6.

Prerequisites

This course is intended for programmers who are familiar with Java and want to learn about the advanced features of Java. Students should have a good understanding object-oriented programming using Java.

Learning Paths

This course will help you prepare for the following certifications and exams:
Java EE 6 Enterprise Architect
Java SE 7 Programmer I
Java EE 5 Enterprise Architect
1Z0-867: Java Enterprise Architect Certified Master Assignment for Resubmission
1Z0-865: Java Enterprise Architect Certified Master Assignment
1Z0-807: Java EE 6 Enterprise Architect Certified Master Exam
1Z0-864: Java EE 5 Enterprise Architect Certified Master Exam
1Z0-803: Java SE 7 Programmer I

This course is part of the following LearnNowOnline SuccessPaths™:
Java Development

Meet the expert

Susan Bryant Susan Bryant is an experienced IT trainer and consultant with a broad array of skills. She has over 15 years experience in information systems with roles including systems consulting, project management, staff management, staff mentoring, and certified technical trainer. Susan has a strong technical knowledge of IBM WebSphere Application Server, WebSphere Portal Server, WebSphere Process Server, Lotus Domino, and web application development technologies including, Struts, JSF, EJBs and AJAX.


Course outline



Module 1

Architecture Design (38:26)
  • Introduction (03:00)
  • Tiered Architectures (01:42)
  • 2 Tier Architecture (01:03)
  • 3 Tier Architecture (01:53)
  • N Tier Architecture (01:11)
  • Presentation Layer (02:24)
  • HTML Clients (02:29)
  • Java Server Pages (02:00)
  • Middle Tier (01:55)
  • Java Applications (01:46)
  • Enterprise JavaBeans (03:46)
  • COM/CORBA (01:32)
  • Message Oriented Middleware (02:37)
  • Demo: Whiteboard (10:22)
  • Summary (00:40)
Architecture Technologies (28:11)
  • Introduction (00:35)
  • Model View Controller (02:50)
  • Advantages/Disadvantages (01:57)
  • Model 1 Architecture (01:12)
  • Model 2 Architecture (01:07)
  • Extensible Markup Language (02:37)
  • XML (03:40)
  • Demo: Whiteboard (12:54)
  • Summary (01:15)

Module 2

SAX Parsing (37:09)
  • Introduction (00:56)
  • SAX (01:41)
  • How it Works (01:49)
  • Core SAX2 Handler Classes (01:47)
  • SAX2 DefaultHandler (00:48)
  • SAX Events (02:39)
  • Ignorable Whitespace (00:41)
  • XML Reader Interface (00:47)
  • XMLReader Features (01:36)
  • XMLReader Factory (01:21)
  • Prepare SAX Parser Object (01:04)
  • Parse XML with SAX - Steps (01:12)
  • Define an Event Handler (01:16)
  • Prepare SAX Parser Object (02:18)
  • Demo: SAX Parsing (16:24)
  • Summary (00:42)
SAX Parsing 2 (22:02)
  • Introduction (00:38)
  • Define an Event Handler (00:59)
  • Element Attributes (01:03)
  • Get Number of Attributes (00:52)
  • Get Name of Attributes (01:00)
  • Get Attribute Values (00:44)
  • Get Attribute Types (00:51)
  • Example: Define Event Handler (00:33)
  • Characters (01:22)
  • Using Characters (00:33)
  • Error Handling (00:55)
  • ErrorHandler Interface (02:30)
  • Parse XML Document (01:24)
  • Run the SAX Application (00:26)
  • Entity Resolver (00:30)
  • Locator (00:26)
  • Document Locator (00:51)
  • Demo: SAX Parsing 2 (05:35)
  • Summary (00:42)

Module 3

DOM Parsing (21:09)
  • Introduction (01:04)
  • DOM (02:42)
  • Limitations of SAX (01:18)
  • XML as an Object Model (00:38)
  • DOM Parsing (00:46)
  • Parse XML with DOM - Steps (00:56)
  • Prepare DOM Parser Object (00:41)
  • Parse XML Document (01:17)
  • Parse Exceptions (00:43)
  • Example: SimpleDOMParser (01:34)
  • Demo: DOM Parsing (08:44)
  • Summary (00:40)
DOM Parsing Elements (33:31)
  • Introduction (00:32)
  • Nodes (00:40)
  • Basic Node Types (00:40)
  • Less Common Node Types (00:58)
  • Node Interface (03:31)
  • Document Interface (01:56)
  • NodeList Interface (01:19)
  • Element Interface (01:39)
  • Attr Interface (01:47)
  • Text Interface (00:54)
  • Writing DOM (01:29)
  • Demo: DOM Parsing Elements (17:17)
  • Summary (00:43)

Module 4

Distributed Objects RMI (39:55)
  • Introduction (00:53)
  • Serialization (03:33)
  • Example: Serialization (02:10)
  • Externalizable (00:51)
  • Remote Method Invocation (03:11)
  • Steps to implement RMI (06:08)
  • Remote Object Registry (00:49)
  • Dynamic Class Loading (01:42)
  • RMI and Applets (01:07)
  • Demo: Distributed Objects RMI (18:40)
  • Summary (00:47)

Module 5

Java Security (33:55)
  • Introduction (00:47)
  • Attacks and Dangers (01:31)
  • JDK Security Features (03:01)
  • Concepts of Computer Security (00:40)
  • Encryption (00:24)
  • Cryptography Algorithm (00:50)
  • Message Digest (01:16)
  • Symmetric Ciphers (01:23)
  • Asymmetric Ciphers (00:38)
  • Digital Signature (01:05)
  • Authentication (00:38)
  • Certificate Manipulation (00:33)
  • Java Cryptography Architecture (01:04)
  • Java Cryptography Extension (00:43)
  • Using the MessageDigest Class (00:41)
  • Example: MessageDigest Class (01:41)
  • Demo: Java Security (16:16)
  • Summary (00:39)
Java Security Architecture (34:57)
  • Introduction (00:45)
  • Using the Signature Class (01:22)
  • Java Security Architecture (00:23)
  • JDK 1.0 Security Model (01:37)
  • JDK 1.1 Security Model (00:34)
  • JDK 1.2 Security Model (00:58)
  • JDK 1.4 Security Enhancement (01:22)
  • Protection Domains & Security (00:52)
  • ProtectionDomain Class (01:10)
  • Permission Classes (01:02)
  • Using Permission Classes (01:39)
  • Policy Class (00:47)
  • Policy Configuration File (01:34)
  • AccessController Class (00:42)
  • SecurityManager Class (01:06)
  • Using the SecurityManager Class (00:45)
  • Dynamic Class Loader (01:46)
  • Example: Security Check (00:31)
  • Java Security Tools (01:09)
  • Using Java Security Tools (01:15)
  • Demo: Security Architecture (12:37)
  • Summary (00:50)

Module 6

Java Native Interface (27:05)
  • Introduction (00:48)
  • JNI Overview (00:58)
  • JNI Architecture (01:04)
  • Calling C Functions (01:46)
  • The Header File (01:14)
  • Passing Simple Parameters (01:40)
  • Mapping Java Types (00:59)
  • Calling Java Methods (01:13)
  • The Invocation API (01:39)
  • Exception Handling (01:13)
  • Native Exception to Java (00:41)
  • Java Exception in Native Code (00:54)
  • Code Sample (01:44)
  • Demo: Java Native Interface (10:33)
  • Summary (00:32)

Module 7

JUnit Basics (43:21)
  • Introduction (01:06)
  • What is JUnit (01:04)
  • Why JUnit (02:47)
  • The xUnit Philosophy (01:13)
  • Test-Driven Design (02:04)
  • A JUnit Test (01:11)
  • Running the Tests (00:48)
  • Swing-based Test Runner (02:01)
  • Text-based Test Runner (01:01)
  • JUnit Basics (01:21)
  • assertTrue (01:44)
  • assertEquals (01:57)
  • assertSame (00:51)
  • assertNull (00:17)
  • The Failure Message (00:49)
  • The Test Class (01:22)
  • The Test Method (01:24)
  • Demo: JUnit (19:14)
  • Summary (00:58)
Test Suite and Test Strategies (41:12)
  • Introduction (00:49)
  • The Test Suite (01:52)
  • JUnit with Annotations (02:19)
  • JUnit 4 Test Suite (00:54)
  • JUnit Design (01:20)
  • Testing Strategies (05:00)
  • Testing Simple Java Classes (00:54)
  • Testing with Databases (02:44)
  • Testing Web Applications (01:58)
  • JUnit with Ant (01:22)
  • Demo: Test Suite & Strategies (21:04)
  • Summary (00:50)