The three general mechanisms trade efficiency for ease of use. The lowest level is the socket interface, which is very fast and efficient, but must be programmed at the lowest level. RPC is a higher level transport that also supplies a programming language independent IDL. The highest support is supplied by CORBA. A CORBA user can ask for an object and let the CORBA implementation worry about where the object can be found. The tradeoff is that communication using CORBA is inefficient.
In the demonstration viewers we attempted to show a way to use
the various mechanisms to their best advantage. By combining the
transport methods, we were able to get support when needed and
efficiency when that was needed. Using each of the distributed
transport mechanisms where it was most effective allowed us to
achieve the best overall performance for the entire system. This
is more complicated in terms of program development, but the payoffs
can be quite high.
| CORBA | OLE | SQL/RDA | sockets | RPC | |
| ease of use | higher level Object Oriented API; Interface Definition Language | low level API
encapsulating Object Oriented frameworks exist; Interface Definition Language | only requires knowledge of SQL | low level API
large amount of work to use, but very flexible | higher level
Interface Definition Language |
| language bindings | C, C++, Smalltalk, Ada | C, C++, Visual Basic, various product control languages | ASCII text using SQL | C | C |
| class of application | distributed object systems | Microsoft Windows application integration | distributed database operations | high performance bulk transport | distributed
client/server |
| security | under development | based on security available at the file level | Access Control Lists at item level;
authentication strings | none (some research efforts) | kerebos
secure RPC |
| protocols supported | TCP/IP; work on Interoperability | not yet distributed | TCP/IP | TCP/IP | TCP/IP |
| performance of transport service | slow, still under development | N/A | fast | fastest | slow |