|
|
Distributed computing can be one of the biggest benefits in Java.
-
You can write one program and run it on multiple computers/CPUs simultaneously,
thus taking advantage of all of your hardware.
-
In a client-server environment, this shares the work among computers. But
it doesn't have to be just client server - it can be server-server.
-
You must examine your needs carefully before choosing a distributed technology.
-
sockets, the lowest level of all, requires that the programmer communicate
via byte stream. This is often the choice for communicating with
older systems or proprietary systems, but it requires a significant amount
of tedious manual work.
-
CORBA, or the Common Object Request Broker Architecture (not
to be confused with COBRA, the health insurance you get when you leave
a company), allows multiple programs of the same or different languages
to communicate. But CORBA is somewhat complex and tough to implement.
If you are communicating among programs written in the same language, you
may have a better option.
-
COM and DCOM, the Component Object Model and Dynamic Component
Object Model, are Microsoft Standards. 'Nuff said. They are
intened for communicating on Windows operating systems, which limits flexibility.
-
RMI, or Remote Method Invocation, is used to communicate among JVMs.
Its principal use is Java to Java. These programs are usually on
different machines, but can be on the same machine.
-
RMI over IIOP, the Internet Inter-ORB Protocol, gives RMI functionality
with CORBA.
-
Though we have to deal with configuration issues, implementing RMI is surprisingly
easy with Java.
-
Web Services is the newest frontier. It is similar to CORBA
in that it allows components of various languages to communicate over various
platforms. This is the only protocol that uses plain text, so the
messages tend to be larger and the performance somewhat slower. We'll
take a look at Web Services later in this quarter.
About RMI
|