Object orientation with JAVA

Basic knowledge

  • Data abstraction: classes, members, methods
  • Constructors and destructors, method finalize()
  • Applications and the main() method
  • Working with JDK 1.0.2

Programming

  • Control structures
  • Encapsulation, access specifiers and visibility
  • Implementation inheritance and object access

Reusability

  • Overloading and overriding
  • Access to attributes and methods of the base class

Communication and object connections

  • Values and references
  • Aggregations, associations and information flow


Programming with JAVA

Basic knowledge

  • JAVA architecture
  • Byte code and virtual machine
  • Work with JDK 1.0.2
  • Method finalize() and GarbageCollection
  • Class attributes and methods
  • Data types and access specifiers
  • Throw and catch exceptions
  • Applications and the main() method
  • Applets, initialization, and use
  • Applets: Structure and its methods
  • Helper classes Math and Random
  • Array objects and the string class

Programming

  • Exceptions and error handling
  • Input and output, intercept invalid input
  • Multithreading and graphical output
  • Working with the tool Borland JBuilder
  • Parameter passing and control structures
  • AWT Essentials: drawing, fonts, colors, metrics
  • JAVA 1.0.2 event model

Reusability

  • Packages and interfaces
  • Interface inheritance and abstract classes
  • Inheritance and final classes
  • Templates
  • Replacement of copy constructor and assignment operator

User interfaces with the AWT

  • GUI design and the default layout manager
  • Windows, frames and dialogs
  • Input handling mouse and keyboard
  • Event processing with action() and handleEvent()

Communication and object connections

  • Broadcast messages
  • Graphics for bitmaps and the interface ImageObserver

Communication and object connections

  • Threads and the interface Runnable
  • Values and references
  • Aggregations, associations and message flow
  • Broadcast messages


Changes from JAVA 1.0 to JAVA 2

Basic knowledge

  • New tools of the JDK 1.1 and JDK 1.2
  • Increasing performance, JIT compiler
  • Inner classes and anonymous classes

Event models

  • Comparison of the event models JDK 1.0 and JDK 1.1/1.2/1.3
  • Class event and the methods postEvent(), handleEvent()
  • Class java.util.EventObject and the interface event listener
  • Forwarding of not processed messages

Other extensions

  • Reflection package and inspection classes
  • JAVA 2D graphics API
  • JAVA native method interface
  • Audio support
  • More obsolete methods ("deprecated")


JFC library and the Swing classes

Basic knowledge

  • Differences in layout and design of user interfaces with JFC/Swing
  • Lightweight components instead of peer classes
  • Platform dependent appearance ("Swing" classes) and JAVA look and feel
  • Native look and Swings own "metal" look

Extensions

  • Differences between AWT and Swing
  • Create your own controls through inheritance
  • Swing event class

Database access with JDBC

Basic knowledge

  • JDBC architecture
  • Driver Manager and types of drivers (bridge, native, etc.)
  • Access to a driver and establishing a connection
  • Creating SQL statements and retrieving table values
  • Values from result sets
  • Changes to tables and updates
  • Stored operations and transactions

Programming

  • Driver Manager and driver
  • Connection and CallableStatement
  • Relations between SQL and JAVA data types


Components of JAVA beans

Basic knowledge

  • Basics of software components
  • Introspection, event handling, persistence
  • Support for distributed systems
  • Relationship between JAVA beans and JAVA
  • Basic structure of a JAVABean, bean properties

Programming

  • The JAVA beans API
  • Access methods, setter and getter
  • Bound properties, constraints, scripting environments
  • PropertyChange... and PropertyVeto...

Application

  • Introspection, event pattern, method pattern
  • BeanDescriptor, EventSetDescriptor, FeatureDescriptor etc.
  • Treatment of bean events

Enhancements

  • Persistence of a Bean object
  • Beans in the application developement


Enterprise JAVA beans

Introduction

  • Architecture overview
  • Resource management and primary services
  • Introduction example
  • Client overview
  • Entity beans, session beans
  • Transactions and transaction management
  • Design strategies
  • XML deployment descriptor


Network programming and RMI

Basic knowledge

  • The networking package
  • The RMI package

Network programming

  • URLs, sockets and server sockets
  • Network exceptions
  • Interfaces for network applications
  • Establishing and termination of connections
  • Data transfer via network connections

RMI Programming

  • RMI, sockets, RPC and CORBA
  • Distant objects and their interface
  • The registry for remote objects
  • Dynamic loading of classes
  • RMI and applets
  • Distributed object-oriented programming


Distributed programming with CORBA

Basic knowledge

  • Monolithic systems and client-server architecture
  • Multilayered and distributed systems
  • CORBA overview

Architecture and IDL

  • Object request broker and interface definition language
  • Communication model and object model
  • CORBA clients and CORBA servers

Programming

  • Development of a CORBA server
  • Implementation of the interfaces
  • Development of a CORBA client
  • Basic functions for server and client
  • Use ofexceptions for error handling

Extension

  • Dynamic invocation interface
  • CORBAservices and CORBAfacilities
  • Internet applications with CORBA and JAVA


JAVA Servlets and JAVA Server Pages

JAVA Servlets

  • Servlet basics
  • Life cycle of a servlet
  • Interfaces and classes of the servlet API
  • HTTP servlets, example: HTTP servlet counter
  • HTML informations and multimedia content
  • Session tracking and safety aspects
  • Database access via JDBC
  • Communication with applets and other servlets
  • Internationalization

JAVA Server Pages

  • Architecture overview
  • Introduction example
  • Elements of a JAVA Server page
  • JSP directives, declarations and scriptlets
  • JSP expressions