Java 5: Distributed Java Applications

For a limited time, save 25% on this course

* This offer expires August 4, 2014 at 11:59pm PT and cannot be combined with any other discounts.

In this Java course, you will develop a client/server distributed Java application from the ground up. Here you will exercise all of your Java skills to implement a graphical client that communicates with a remote back-end server using XML messages. You will learn the tradeoffs that are common in client/server systems and gain valuable insights into how to design your own distributed, multi-threaded applications.

Upon completion of this course, you will be able to:

  • Extend your stand-alone Graphical User Interfaces to communicate with a remote server.
  • Develop a multi-threaded server that simultaneously supports a number of connected clients.
  • Design a protocol using an XML XSD specification.
  • Develop client- and server-side controllers that follow the protocol.
  • Develop effective JUnit test cases to validate the execution of these controllers.
  • Develop a testing framework that maximizes code coverage of JUnit test cases.

From the very first lab, you will be developing a client/server application, adding new features and functionality with each successive lab. You will learn by following the design and implementation of the application in the lab. Each quiz will validate that you learned the key information and the projects, performed at your pace, will describe useful extensions to the main development of the overall project.

From beginning to end, you will learn by doing your own Java projects within our Eclipse Learning Sandbox, which we affectionately call “Ellipse.” These projects will add to your portfolio and provide needed experience. Besides a browser and internet connection, all software is provided online by the O’Reilly School of Technology.

Prerequisites: Java 4: Java Application Building, or equivalent skills. This course is meant for the advanced programmer or IT professional.

135 Clock-hours

 $398.00   $298.50 (plus fees)

Enroll in Course

Course Details and Syllabus

Course: Java Programming 5: Distributed Java Applications
Tuition:  $398.00   $298.50 (plus fees)
Time Frame: This course is online and self-paced. You can expect to work approximately 135 hours on this course.
Technical Requirements: As long as you have a web browser and internet connection, you can take this course from anywhere.
Software: The Ellipse Learning Sandbox® provided for you will contain all your lessons, projects, quizzes, account files, editors, and compiling tools necessary to build your skills from beginning to end, even beyond coursework. No other software is needed.
Instructor: You will have one instructor throughout the course who will evaluate your projects and quizzes, hand them back for improvement when necessary, and coach you throughout your skills advancement.
Book: All required course materials and software are included online within the Learning Sandbox®. However, within a few weeks of enrolling, you’ll receive the e-book Java: The Good Parts as a reference resource from O’Reilly.
Certificates: Completion of this course counts toward the upcoming Advanced Java Programming Certificate Series.
Prerequisites: Java 4: Java Application Building, or equivalent skills. This course is meant for the advanced programmer or IT professional.
Topics: Distributed computing, socket abstraction, image annotation, multi-threading, client GUI, swing applications, application model, object serialization, XML implementation, server sessions, image browsing, repository images, etc.
Syllabus:
  • Java Programming 5 Lesson 1 — Introduction to Distributed Computing
    • Introduction
    • Testing
    • Code Coverage
    • Socket Abstraction
    • Sample Client/Server Application
  • Java Programming 5 Lesson 2 — Server Essentials
    • Image Annotation Repository Application
    • Multi-Threaded Server Application
  • Java Programming 5 Lesson 3 — Client Essentials
    • Preparing an Inter-Process Communication Layer
    • Preparing a Standalone Client GUI
  • Java Programming 5 Lesson 4 — Writing Your Swing Application
    • Writing a Swing Application Skeleton
    • Persistent User Preferences
    • Testing
  • Java Programming 5 Lesson 5 — Server-side Application Model
    • Repository Selection
    • Option 1:Access a Hidden Class
    • Option 2: Install a Free Open-Source Class
    • TestAddBehavior Test Case
    • Completing Repository Functionality
  • Java Programming 5 Lesson 6 — Java Object Serialization
    • Java Object Serialization
  • Java Programming 5 Lesson 7 — XML for Protocol
    • XML as Protocol Specification
    • Status Messages
  • Java Programming 5 Lesson 8 — XML Implementation
    • XML Protocol Implementation
    • Extending Protocol Implementation with Status Messages
  • Java Programming 5 Lesson 9 — User Authentication
    • User Authentication
  • Java Programming 5 Lesson 10 — Server Sessions
    • Server Sessions
  • Java Programming 5 Lesson 11 — Client Login
    • Supporting Client Login With Improved Client-Side Inter-Process Communication (IPC)
    • Client Login Window
    • Testing
  • Java Programming 5 Lesson 12 — Client Server Menu
    • Client Server Menu
  • Java Programming 5 Lesson 13 — Image Browsing
    • Image Browsing
    • Testing
    • Browse Repository
  • Java Programming 5 Lesson 14 — Navigating Repository Images
    • Navigating Repository Images
  • Java Programming 5 Lesson 15 — Deleting Images in the Repository
    • Upgrade Protocol to Display Metadata
    • Preventing Multiple Login Requests