[Recently fixed bad grammar/spelling in fifth sentence (7/1997). Click here to go to the next FAQ in the chain of recent changes]
A server is defined as an Interface in CORBA IDL. Data passing between the client and the server is defined as IDL structures, sequences, etc. The IDL is compiled with an IDL compiler and the generated code is included within the client and server processes. The server implements a particular interface. The implementation is the distributed object. Clients communicate with the object through an object reference. When an operation is performed on the object reference, network communication occurs, operation parameters are sent to the server and the actual distributed object executes the operation. It then returns any appropriate data to the client.
[ Top | Bottom | Previous section | Next section ]
[Recently added first paragraph (7/1997). Click here to go to the next FAQ in the chain of recent changes]
Depends on the specific vendor and product offering, but there is nothing in the standard that you will find terribly onerous.
Some applications want to make distributed requests, but not wait for the response. Ideally, they want to be notified when the response is available. Threads can be used to allow applications to make more than one request or to continue performing other tasks while waiting for a response, but the thread making a request is blocked until the response is available. CORBA communication is basically a synchronous request/response. This is true for all static invocations. Dynamic invocations do support a deferred request response. This means that an application can issue a request and poll for the response. CORBA communication can be used to notify applications when responses associated with earlier requests are available. This can lead to a more complex application architecture.
[ Top | Bottom | Previous section | Next section ]