Courses
Java
Home
Corporate
Consulting
Contact Us
Courses
Jobs
Custom Topics

Customize this course,
choose your topics

Building Your Course
Custom Order Page
Building Guidelines

Selectable Topics
Advanced Applets
Advanced AWT
Collections
CORBA
Custom Components
Drag'n Drop
Enterprise JavaBeans
Event Delegation
GridbagLayout
InfoBus
Inner Classes
Internationalization
Java 2 Overview
JavaBeans
JFC Overview
JSP (Java Server Pages)
JSP Tag Libraries (taglib)
JDBC
JNI
RMI
Security
Serialization
Servlets
Struts
Swing
WebServices Overview
XML

Remote Method Invocation (RMI)

Java's RMI provides the ability of a Java object in one virtual machine, to call methods of another Java object residing in another virtual machine. RMI is easy to use: the call to the remote method looks like a call to a local object's methods.

In learning RMI, attendees frequently initially think RMI is similar to RPC (Remote Procedure Call). However, RMI is much more powerful. Rather than send pure data to a remote method, RMI has the ability to pass behavior also. It is possible to send an object that computes prime numbers to a compute server... or access business objects on a distributed object-based system.

Much of RMI is based on CORBA. In fact, RMI can be thought of as a "scaled-down" ORB. RMI works over TCP/IP. When employed in an applet, RMI can get around firewalls by sending the remote method call in an HTTP message.

Issues addressed in this section include how to use the Registry (as part of a bootstrap operation), generation of stub and skeletons using the RMI compiler (rmic), use the most important classes and interfaces involved in making RMI work. Advanced issues include Remote Garbage Collection issues, dynamic loading of classes through the Remote Reference Layer, and understanding potential pitfalls.

Objectives

  • Understand the principles of RMI
  • Know what is possible with RMI
  • Know the steps required to build an application
  • Understand the most important classes and interfaces use in RMI
  • Pass objects "by value" or "by reference" semantics
  • Be aware of potential pitfalls
    • firewalls
    • behavior of remote objects versus local objects
    • reference counting and distributed object garbage collection

Specifications

  • Duration (total): 3 hours (or .5 day)
  • Duration of Exercises: 1.5 hours
  • Duration of Lecture: 1.5 hours

Pre-requisites

If you are building a custom course, you will need to cover these topics before this topic can be presented:

In addition, material covered in this module requires attendees to know the following:
  • Working knowledge of how to create a GUI with events.
  • Basic Java knowledge is assumed, including exception handling, threads, full use of all the language constructs, knowledge of various classes, such as String, Vector, and Enumeration, and a working knowledge of the java.io package.
  • Those without these pre-requisites should consider one of our Ultimate Java Programming Workshops.

A table of contents of this module is available upon request.

Return to the Custom Order Page.

Copyright ©2007 by Petronio Technology Group, Inc. All rights reserved. Petronio, "Targeted Technology Training", "T3" and "Turning new technologies into your competitive advantage" are trademarks of Petronio Technology Group. All other trademarks are the properties of their respective companies.