nn 1 | Page 14

� � � � � � � � � � � � �
� � � � � � � � � � � � � ��
� � � � � � � � � � � � � ��
� � � � � � � � � � � � � ��
SEC . 9.1 CORBA 507
������������������������������������������������������������������������������� �������������������������������������������������������������������������������
Message type Originator Description
�������������������������������������������������������������������������������
Request Client Contains an invocation request
�������������������������������������������������������������������������������
Reply Server Contains the response to an invocation
�������������������������������������������������������������������������������
LocateRequest Client Contains a request on the exact location of an object
�������������������������������������������������������������������������������
LocateReply Server Contains location information on an object
�������������������������������������������������������������������������������
CancelRequest Client Indicates client no longer expects a reply
�������������������������������������������������������������������������������
CloseConnection Both Indication that connection will be closed
�������������������������������������������������������������������������������
MessageError Both Contains information on an error
���������������������������������������������������������������������������������
Fragment Both Part ( fragment ) of a larger message
Figure 9-9 . GIOP message types .
request , but it is usually caused by a timeout in the client ’ s application . It is important to note that canceling a request does not imply that the associated request will not be carried out . It is up to the client ’ s application to cope with this situation .
In GIOP , a client always sets up a connection to a server . Servers are expected to only accept or reject incoming connection requests , but will not by themselves set up a connection to a client . However , both a client and a server are entitled to close a connection , for which they can send a CloseConnection message to the other communicating party .
If a failure occurs , the other party is notified by sending a message of type MessageError . Such a message contains the header of the GIOP message that caused the failure . ( This approach is similar to ICMP messages in the Internet protocol that are used to return error information when something went wrong . In that case , the header of the IP packet that caused an error is sent as data in the ICMP message .)
Finally , GIOP also allows the various request and reply messages to be fragmented . In this way , invocations requiring that much data be shipped between a client and a server can easily be supported . Fragments are sent as special Fragment messages identifying the original message and allowing reassembly of that message at the receiver ’ s side .
9.1.3 Processes
CORBA distinguishes two types of processes : clients and servers . An important design goal of CORBA is to make clients as simple as possible . The underlying thought is that it should be easy for application developers to make use of existing services as implemented on the servers .
Servers , on the other hand , were initially left open to a variety of