Course Overview
The Oracle® Java platform has become a primary tool of IT organizations throughout the world. Geared for managers, executives or event developers new to Java, Understanding Java provides a broad overview of what Java is, how it is used, and its strengths and weaknesses. It also includes a broad overview of the Object-Oriented (OO) programming model and how it differs from other programming models.
Course Objectives
The engaging seminar includes an introduction on the core Java platform and an introduction to its three major components: Java Micro Edition (Java ME), Java Standard Edition (Java SE), and Java Enterprise Edition (JEE / Java EE). It goes on to a broader coverage of JEE and its key components, which have become a driving force in the adoption of Java industry-wide. The workshop will also explore and analyze the challenges that organizations face as they adopt these new technologies.
Working within in an engaging learning environment, guided by our expert team, attendees will discuss and explore:
- Java’s history
- Java’s characteristics as a programming language
- The strengths and weaknesses of Java, and how it compares to other languages
- The three main Java platforms: Java Micro Edition (Java ME), Java Standard Edition (Java SE), and Java Enterprise Edition (Java EE)
- Some of the challenges in transitioning to and using Java, JEE, and Object-Oriented programming
- The business advantages and disadvantages of using Java and JEE
- The major tools, frameworks, and platforms available for Java and JEE
Course Prerequisites
Geared for managers, executives or event developers new to Java.
Course Agenda
Session: Java – An Introduction
Lesson: The History of Java™
- History of Java
- Java Defined – What is it?
- Java is Designed to Be…
- Java is Portable
Lesson: Program Lifecycle
- Lifecycle of a Java Program
- A Simple Program
- The Hello World Program
- Java Bytecode
- Java is Dynamic: The Runtime Process
Lesson: Features
- Java is Object-Oriented
- Java is a Threaded Language
- Java is Reduces Some Types of Errors
- The Downside of Java Interoperability
- Performance
- Responsibilities of JVM
- Garbage Collection
Lesson: Java Platforms
- Java Provides Several Platforms
- Note on Terminology
- Java SE
- Java Software Development Kit (SDK)
- Java ME
- Java ME – CLDC
- Java ME - CDC
Session: Lifecycle Support for Java
Lesson: Evolving the Java Language
- Evolution of the Formal Language
- JCP is a Formal Process
- JSRs Often Evolve into a Specification
- Open Community Participates in Java
- Components, Frameworks, and More
- Apache is not Only Source
Lesson: Documenting Java
- Documentation and Code Reuse
- Java Has a Spec for Specs
- JavaDoc Provides Documentation Delivery
- Example of Top-Level Documentation
- Documentation at the Package Level
- Documentation at the Class Level
- Documentation at the Lowest Level
- In-Line Comments are Translated…
- …into HTML Rendering
Lesson: Logging in Java
- Logging Documents Runtime Events
- Developers Reused Logging Mechanisms
- Java Incorporated a Logging API
Lesson: Building, Testing, and Deploying Java
- Goal: Consistent Build Processes
- Ant Overview
- A Snippet of a Sample build.xml
- Turns Assembly Process into a Script
- Java’s Network Orientation Led To JAR Files
- JAR Files Provide Many Options
- Building, Deploying, and Now Testing
- JUnit Comes From JUnit.org
- Can Lead to Fewer Undetected Bugs
Session: The Software Development Process
Lesson: Software Development Overview
- What is a Software Development Process?
- Why do we need a process?
- Real World Perspective
- The Classical Waterfall Process
- Civil Engineering vs. Software Dev
- Discussion: Software Engineering
- Iterative Process
Lesson: Working Iteratively
- What is a Use Case?
- Use Cases Can be Used For…
- How are Use Cases Documented?
- Use Case Diagrams & Descriptions
- Iterative and Incremental Development
- Interactions Have Focus
Session: Java and User Interfaces
Lesson: Swing/JFC
- JFC – Java Foundation Classes
- JFC – Origins
- Categories of Classes in JFC
- Top-Level Components of JFC
- Creating the Frame
- A Closer Look at Layout Managers
- BorderLayout is Default
- Adding Content to a Frame
- JFC Provides an Event Handling Structure
Lesson: Applets
- Definition of an Applet
- Applet Functionality
- Writing the HTML Page
- A Simple Applet
- Applet Lifecycle
Lesson: Fundamentals of Localization
- Significant Issues for Localization
- Locales
- java.util.ResourceBundle
- Examples of Standard Resource Bundle Usage
- Implementing Localization
- Storing Formatted Message Strings
Session: Java and Persistence
Lesson: Serialization
- Object Serialization
- Storing and Retrieving Objects
- java.io.Serializable
- java.io.Externalizable
- Object Serialization Example
- Object Deserialization Example
- Serializing Graphs of Objects
Lesson: JDBC and DataSources
- What is JDBC?
- JDBC Design Goals
- The JDBC API
- Database Connection Via JDBC Calls
- Connecting to the Database
- Querying the Database
- Rationale for Connection Pooling
- Connection Pooling in JDBC
- Database Connection Using a DataSource
Lesson: JDO Overview
- Java Data Objects (JDO)
- Placing JDO in the World
- JDO Provides an Object Lifecycle
- Working with JDO
- JDO Mapping Requires Metadata
Lesson: Hibernate – What and Why?
- Hibernate Features
- OR mapping with Hibernate
- Types of queries in Hibernate
- Using Queries with Hibernate
Lesson: XML and JAXP
- What is XML?
- Benefits of XML - Example XML Document
- Benefits of XML
- XML Separates Structure, Content and Format
- Content: XML is Strict
- Structure: DTDs or XML Schema
- Format: XSLT and XSL-FO
- XML Transformation to HTML
- Parsers and API’s
- What is JAXP?
- Pluggable Layers
Session: Java and Communication
Lesson: Network and Socket Overview
- Socket Programming Fundamentals
- Setting Up the Connection
- Communicating on a Socket
- Other Java Features Come Into Play
Course Materials
· TT3340: Integrating Spring 3.x & Hibernate
· TT3373: Mastering Spring 3.x and the Enterprise