University of Cincinnati logo and link  
Distributed Technologies
 
  UC ingot 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