Network Objects is GNOME's middle name. This is how they work.
CORBA is the Common Object Request Broker Architecture. From the Open Management Group (OMG, the standards body which controls CORBA) document What is CORBA? comes the following description:
The Common Object Request Broker Architecture (CORBA), is the Object Management Group's answer to the need for inter-operability among the rapidly proliferating number of hardware and software products available today. Simply stated, CORBA allows applications to communicate with one another no matter where they are located or who has designed them(...)
The (ORB) is the middleware that establishes the client-server relationships between objects. Using an ORB, a client can transparently invoke a method on a server object, which can be on the same machine or across a network. The ORB intercepts the call and is responsible for finding an object that can implement the request, pass it the parameters, invoke its method, and return the results. The client does not have to be aware of where the object is located, its programming language, its operating system, or any other system aspects that are not part of an object's interface. In so doing, the ORB provides inter-operability between applications on different machines in heterogeneous distributed environments and seamlessly interconnects multiple object systems.
In fielding typical client/server applications, developers use their own design or a recognized standard to define the protocol to be used between the devices. Protocol definition depends on the implementation language, network transport and a dozen other factors. ORBs simplify this process. With an ORB, the protocol is defined through the application interfaces via a single implementation language-independent specification, the IDL (Ed. Interface Description Language). And ORBs provide flexibility. They let programmers choose the most appropriate operating system, execution environment and even programming language to use for each component of a system under construction. More importantly, they allow the integration of existing components. In an ORB-based solution, developers simply model the legacy component using the same IDL they use for creating new objects, then write "wrapper" code that translates between the standardized bus and the legacy interfaces.
OK, enough of that stuff. Here's Todd's explanation:
Do you remember RPC? You know, Remote Procedure Calls? Sun used them as the basis for NFS and NIS. Microsoft used the Distributed Computing Environment's RPC standard as the basis for D