Introduction to Java and Java Enterprise Using Rational Application Developer v7.5

5 Days

Description

This course introduces the Java programming language and how to develop Java applications using RAD v7.5. Students learn the syntax of the Java programming language, object-oriented programming using Java, exception handling, file input/output (I/O), along with servlets and JavaServer Pages. During the course, students will develop and test Java applications using RAD v7.5.

Topics

  • Java basics
  • Basic introduction to Rational Application Developer
  • Branching and looping
  • Objects
  • Advanced class concepts
  • Arrays
  • Exceptions
  • Collections and Generics
  • Stream I/O
  • Basic introduction to servlets
  • Using RAD WebSphere Test Environment
  • Basic introduction to JavaServer Pages
  • Overview of Enterprise JavaBeans

Practical work

Extensive practical exercises take students through all major aspects of the design and development of Java programs. Students will be introduced to various wizards and tools available from RAD.

What you will learn

After completing this course, the student should be able to:

  • Apply OOP principles
  • Design OO applications using abstraction, encapsulation, modularity and hierarchy
  • Use Java exceptions to guarantee graceful error recovery for your application
  • Create and use inner classes in your program to make them concise and clear
  • Do input/output using Java
  • Create servlets and JavaServer Pages
  • Use RAD for Java application development

Audience

This course is intended for programmers who are interested in adding Java to their skills.

This course provides an introduction to Java and Java Enterprise. This course is ideal for those that will not be taking a more in-depth course on Java Enterprise. For those that will also be taking an in-depth course on Java Enterprise technologies the following course may be a more appropriate introduction to Java.

Upcoming Classes

Virtual Classroom Live
December 18, 2017

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Virtual Classroom Live
February 12, 2018

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

Chapter 1 - Overview of Java

  • History Of Java
  • Benefits Of Java
  • What Is Java?
  • What's This "Virtual Machine"?
  • Comparison to Other Languages
  • Java Programs
  • Basic Java Development Tools
  • Java Editions
  • Example  HelloWorld
  • Java Classes
  • Main Methods
  • Statements
  • Summary

Chapter 2 - Introduction to Rational Application Developer (RAD) v7.5

  • The RAD 7.5 Product
  • Eclipse Platform
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v7.5
  • Key Features in RAD v7.5
  • Key Features in RAD v7.5
  • Views, Perspective, and Editor Areas
  • Basic Operations with RAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task and Problems View
  • Build and Validation
  • Import and Export Project
  • Code Completion, Templates and Snippets
  • Code Completion, Templates and Snippets
  • Searching
  • Setup Compiler Class Path
  • JRE Switching
  • Refactoring
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull Up and Push Down Methods
  • Migrating Workspace from RAD v6 or WSAD v5.1.2
  • Project Interchange Feature
  • References
  • Summary
  • Eclipse Platform
  • Eclipse Workspace
  • Perspectives, Views & Editors
  • Perspectives, Views & Editors
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Problems View
  • Eclipse Preferences
  • Build and Validation
  • Code Completion, Templates and Snippets
  • Searching
  • Configure Compiler Class Path
  • JRE Switching

Chapter 3 - Basic Object Concepts

  • What Is An Object?
  • State
  • Behavior
  • Encapsulation
  • Encapsulation Examples
  • Classes vs. Objects
  • Inheritance
  • Interfaces
  • Polymorphism
  • Benefits Of Objects
  • Summary

Chapter 4 - Basic Java Syntax

  • Declaring And Initializing Variables
  • Keywords
  • Coding Tips  Variables
  • Primitive Data Types
  • Logical - boolean
  • Textual - char and String
  • Integral - byte, short, int, long
  • Floating Point - float and double
  • Literal Values
  • Strings
  • Creating Strings
  • White Space
  • Comments
  • Coding Tips - Comments
  • Java Statements
  • Coding Tips - Statements
  • Scope of a Variable
  • System.out/System.in
  • Scanner Class
  • Summary

Chapter 5 - Operations and Making Decisions

  • Operator Categories
  • Special Situations
  • Binary Operators
  • Integer Division
  • Numeric Promotion
  • Type Conversion Of Primitive Types
  • Unary Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators
  • Bitwise Examples
  • Shift Operators
  • Overflow And Underflow
  • Assignment Operators
  • Ternary Operator
  • Calculation Errors
  • Operator Precedence
  • Precedence Examples
  • Combining Strings
  • Coding Tips - Operators
  • Control Flow Statements
  • 'if' Statement
  • 'ifelse' Statement
  • Nested Statements
  • "Short Circuited" Operators
  • Coding Tips - if & if-else
  • Summary

Chapter 6 - Using Classes and Objects

  • Objects, Instances, And Classes
  • What Are Classes?
  • Working With Classes And Objects
  • Working With Classes And Objects
  • Instantiation
  • Instance Methods
  • Object References
  • Object References
  • String Operations
  • The Math Class
  • Summary

Chapter 7 - Writing Classes

  • Why Define Your Own Classes?
  • Encapsulation
  • Elements Of A Class
  • Defining Classes
  • Coding Tips - Class Definitions
  • Fields
  • Defining Fields
  • Coding Tips - Fields
  • Methods
  • Defining Methods
  • Passing Parameters
  • Overloading Methods
  • Coding Tips - Methods
  • Local Variables vs. Instance Variables
  • Example - Defining a Class
  • Example - Fields
  • Example - Fields
  • Example - Defining a Method
  • Example - Calling a Method
  • Summary

Chapter 8 - Controlling Code Access and Code Organization

  • Controlling Access
  • Data Hiding
  • Encapsulation
  • JavaBeans
  • Packages
  • Problems Solved With Packages
  • Naming Packages
  • Declaring Packages In Classes
  • Package Access
  • Example - Access Modifiers
  • Import Statement
  • Using Classes From Packages
  • Coding Tips - Import Statements
  • Correlation To File Structure
  • Class Path
  • Java Core Packages
  • Java API Documentation
  • Summary

Chapter 9 - Constructors and Class Members

  • Constructors
  • Multiple Constructors
  • Defining Constructors
  • Default Constructor
  • Example - Calling Constructors
  • 'this' Keyword
  • Using 'this' to Call a Constructor
  • Using 'this' to Set a Field
  • Class Members
  • Examples Of Class Members
  • Comparison With Instance Members
  • Use Of Class Variables
  • Static Class Methods
  • Use Of Class Methods
  • Main Method And Command Line Arguments
  • Declaring Constants
  • Coding Tips - Class Members
  • Useful Standard Class Members
  • Initialization Blocks
  • Static Initialization Blocks
  • Summary

Chapter 10 - Advanced Control Structures

  • 'switch' Statement
  • Example - switch
  • Switch "Fall Through"
  • 'for' Loop
  • Example - for
  • 'while' Loop
  • Example - while
  • 'dowhile' Loop
  • Example - do while
  • Break Statement
  • Example - break
  • Labeled Statements
  • Example - Labeled break
  • Continue Statement
  • Example - continue
  • Example - Labeled continue
  • Coding Tips - Control Structures
  • Summary

Chapter 11 - Arrays

  • Arrays
  • Declaring Arrays
  • Populating Arrays
  • Accessing Arrays
  • Array Length
  • Coding Tips - Arrays
  • Array References
  • Multidimensional Arrays
  • Arrays Of Arrays
  • Copying Arrays
  • For-Each loop
  • Variable Arguments
  • Variable Arguments Example
  • Summary

Chapter 12 - Inheritance

  • Inheritance Is
  • Inheritance Examples
  • Declaring Inheritance
  • Inheritance Hierarchy
  • Access Modifiers Revisited
  • Inherited Members
  • Inherited Members
  • Instances Of A Subclass
  • Instances Of A Subclass
  • Example Of Inheritance
  • Role In Reuse
  • The super Keyword
  • Example - super Keyword
  • Problems with Constructors
  • Problems with Constructors
  • Limiting Subclasses
  • 'set' Methods in Constructors
  • The Object Class
  • Summary

Chapter 13 - Commonly Overridden Methods

  • Overriding Methods
  • toString()
  • toString() in Object
  • Overriding toString()
  • Comparing Objects
  • Using == vs. equals(..)
  • Using == vs. equals(..)
  • Overriding equals(..)
  • Complex Comparisons
  • equals(..) Example
  • hashCode()
  • Overriding hashCode()
  • hashCode() Example
  • @Override Annotation
  • Refactoring
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Generalizing a Variable
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull-up and Push-down Methods

Chapter 14 - Exceptions

  • What is an Exception
  • Benefits
  • The Exception Class
  • How to Work With Exceptions
  • Example Exception Handling
  • The try-catch-finally Statement
  • Flow of Program Control
  • Exception Hierarchy
  • Checked Exceptions
  • Unchecked Exceptions
  • Coding Tips - Exception Types
  • Catching Multiple Exceptions
  • Specifying Thrown Exceptions
  • Rethrowing Exceptions
  • Chaining Exceptions
  • Creating your Own Exception
  • Creating your Own Exception
  • Assertions
  • Assertion Example
  • Using Assertions
  • Summary

Chapter 15 - Interfaces and Polymorphism

  • Casting Objects
  • Casting Objects
  • The instanceof Operator
  • Abstract Classes
  • Abstract Class  An Example
  • Interface
  • Interface  An Example
  • Comparable Interface
  • Comparable Example
  • Coding Tips - Superclass or Interface?
  • Polymorphism
  • Conditions for Polymorphism
  • Coding Tips - Leveraging Polymorphism
  • Covariant Return Types
  • Summary

Chapter 16 - 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
  • Iteration on a Collection
  • Iteration on a Collection
  • Iteration on a Collection
  • Iterator vs. For-Each Loop
  • Maps
  • java.util.Map
  • java.util.SortedMap
  • Collections Implementations
  • Collections Implementations
  • Collections Implementations
  • Generics
  • Generics and Collections
  • Generic Collection Example
  • Generic Collection Example
  • Collections and Primitive Types
  • "Wrapper" Classes
  • Autoboxing
  • Summary

Chapter 17 - Useful Java Classes

  • 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
  • java.lang.StringBuilder
  • java.util.StringTokenizer
  • java.util.Arrays & java.util.Collections
  • java.util.Random
  • java.util.Date
  • GregorianCalendar & Calendar
  • Formatting
  • Formatting Example
  • Summary

Chapter 18 - Input and Output

  • Overview of Java Input/Output
  • Streams
  • Input Stream
  • Output Stream
  • "Chained" Streams
  • The File Class
  • File Example
  • RandomAccessFile
  • Reader and Writer
  • Buffers
  • Buffers
  • Channels
  • Serialization
  • Serializing Object State
  • Avoiding Serialization Problems
  • serialVersionUID
  • Options to Write Files
  • Using Streams - Write Example
  • Using Streams - Read Example
  • Using Readers and Writers - Write Example
  • Using Readers and Writers - Read Example
  • Using Readers and Writers - Scanner Read Example
  • Using Buffers and Channels - Write Example
  • Using Buffers and Channels - Write Example
  • Using Buffers and Channels - Read Example
  • Using Buffers and Channels - Read Example
  • Summary

Chapter 19 - Other Java Concepts

  • Annotations
  • Enumerated Types
  • Garbage Collection
  • JVM Storage Areas
  • Assertions
  • Assertions
  • Assertions Example
  • When to use Assertions
  • Enabling Assertions

Chapter 20 - Java Enterprise Edition (EE) Overview

  • Introduction to Java Platform
  • Java Community Process (JCP)
  • Introduction to Java EE
  • Why Move to Java EE
  • Why Move to Java EE
  • Java EE - New and Enhanced Features
  • Java EE - New and Enhanced Features
  • Java EE - New and Enhanced Features
  • Java EE Software Packaging
  • Java EE Technologies
  • Java EE Technologies
  • Java EE Technologies
  • Summary

Chapter 21 - Servlet Basics

  • History  CGI
  • Server Extension APIs
  • Java Servlet
  • New In Servlet 2.5
  • Servlet Container
  • Servlet Responsibilities
  • J2EE and Servlet
  • The Servlet Class
  • The HttpServlet Class
  • An Example  Hello World
  • The Servlet Container
  • The Servlet API
  • Life Cycle  Initialization
  • Life Cycle  Initialization
  • Example Initialization
  • Life Cycle  Processing
  • Life Cycle  Processing
  • Life Cycle  Destroy
  • User Input
  • Example  User Input
  • Output to Client
  • Servlet Error Handling
  • Threading Issues
  • Threading Issues

Chapter 22 - JavaServer Page (JSP) Basics

  • JavaServer Pages
  • JavaServer Pages 2.1
  • A Simple Example - Hello.jsp
  • JSP Benefits
  • Evolution of Dynamic Content Technologies
  • How JSP Works
  • JSP Invocation
  • JSP Scripting Elements
  • The XML Syntax
  • The XML Syntax
  • JSP Directive
  • page Directive Attributes
  • page Directive  an Example
  • page Attribute  errorPage
  • page Attribute  isErrorPage
  • Using XML Syntax
  • Directives  include
  • Include  an Example
  • Include  an Example
  • Include at compile time vs. at request time
  • Request time inclusion
  • JSP Declarations
  • Declarations  an Example
  • JSP Expressions
  • JSP Expressions  an Example
  • JSP Scriptlets
  • JSP Scriptlets  an Example
  • JSP Scriptlets  an Example
  • JSP Comments
  • JSP Predefined Variables
  • The request Object
  • The request Object
  • The response Object
  • The out Object
  • Out  an Example

Chapter 23 - Enterprise JavaBeans (EJBs) Overview

  • Need for EJBs
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Container
  • EJB Container
  • EJB Server
  • Enterprise JavaBeans
  • Session Beans
  • Entity Beans
  • Java Persistence API - Entities
  • Message-Driven Beans (MDBs)
  • EJB Specification
  • Summary

Chapter 24 - Overview of Java SE APIs

  • Java GUI Programming
  • Image I/O
  • Networking
  • Remote Method Invocation
  • Security
  • Databases - JDBC
  • Naming - JNDI
  • Management - JMX
  • XML
  • Printing
  • Summary

Upcoming Classes

Virtual Classroom Live
December 18, 2017

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Virtual Classroom Live
February 12, 2018

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

  • The students must be familiar with object-oriented principals and the concept of object-oriented programming.

Upcoming Classes

Virtual Classroom Live
December 18, 2017

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Virtual Classroom Live
February 12, 2018

$2,295.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date