|
||
|
How does CORBA fit other distributed computing models?
Sockets programming
Programming with sockets is a much lower level activity than CORBA development.
Remote Procedure Calls (RPC)
A socket basically consists of two endpoints, usually two computers connected across a network. Those that have done it will tell you that it has a steep learning curve, requires working at the data buffer level, and can be difficult to debug and optimize.
RPCs were a result of the software industry realizing how valuable sockets programming could be, while desiring the
ability to build distributed applications at a higher level. RPCs solidified the concepts of client and server by
allowing a client to request services and have them provided across a network. The key to the model is that Remote code
in a Procedure at the server is run as a result of a Call by the client. RPCs allowed developers to make use of sockets
at a higher, more intuitive level. CORBA borrows heavily from the RPC model, but strives to make the entire process as
open as possible.
Data access libraries and client/server development tools
In addition to sockets and RPCs, many database vendors and third party tools vendors have created development tools that
allow database access and other forms of distributed computing. The primary weakness in these tools is that they only
interoperate with tools from the same vendor and tend to make it very hard to allow distributed applications to keep up
with changing business processes. This problem does not exist in CORBA-based systems.
|
||
|
|
||