Distributed Object Schemes for Java
While there are several distributed object schemes that can be used within the Java environment, we’ll only cover two that qualify as serious options for developing your distributed applications: CORBA and RMI. Both of them have their advantages and their limitations, which we’ll look at in detail in the following sections.
During this discussion, we’ll be using an example involving a
generic problem solver, which we’ll distribute using both CORBA
and RMI. We’ll show in each case how instances of this class
can be used remotely using these various object distribution schemes.
A Java interface for the example class, called
Solver
, is shown in Example 3.1. The Solver
acts as a
generic compute engine that solves numerical problems. Problems are
given to the Solver
in the form of
ProblemSet
objects; the
ProblemSet
interface is shown in Example 3.2. The ProblemSet
holds all
of the information describing a problem to be solved by the
Solver
. The ProblemSet
also
contains fields for the solution to the problem it represents. In our
highly simplified example, we’re assuming that any problem is
described by a single floating-point number, and the solution is also
a single floating-point value.
package dcj.examples; import java.io.OutputStream; // // Solver: // An interface to a generic solver that operates on ProblemSets // public interface Solver { // Solve the current problem set public boolean solve(); // Solve ...
Get Java Distributed Computing now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.