Previous Table of Contents Next


15.7.2 IIOP IOR Profiles


   IIOP profiles, identifying individual objects accessible through the Internet Inter-ORB Protocol, have the following form:

   module IIOP { // IDL extended for version 1.1, 1.2, and 1.3

struct Version {

};

octet major;
octet minor;

   struct ProfileBody_1_0 {// renamed from ProfileBody

   Version iiop_version;

   string host;

   unsigned short port;

   sequence <octet> object_key;

   };

   struct ProfileBody_1_1 {// also used for 1.2 and 1.3Version iiop_version;string host;unsigned short port;sequence <octet> object_key;

   // Added in 1.1 unchanged for 1.2 and 1.3 sequence <IOP::TaggedComponent> components; }; };

   IIOP Profile version number:

   Profiles supporting only IIOP version 1.0 use the ProfileBody_1_0 structure, while those supporting IIOP version 1.1 or 1.2 or 1.3 use the ProfileBody_1_1 structure. An instance of one of these structure types is marshaled into an encapsulation octet stream. This encapsulation (a sequence <octet>) becomes the profile_data member of the IOP::TaggedProfile structure representing the IIOP profile in an IOR, and the tag has the value TAG_INTERNET_IOP (as defined earlier).

   The version number published in the Tag Internet IIOP Profile body signals the highest GIOP minor version number that the server supports at the time of publication of the IOR.

   If the major revision number is 1, and the minor revision number is greater than 0, then the length of the encapsulated profile may exceed the total size of components defined in this specification for profiles with minor revision number 0. ORBs that support only revision 1.0 IIOP profiles must ignore any data in the profile that occurs after the object_key. If the revision of the profile is 1.0, there shall be no extra data in the profile (i.e., the length of the encapsulated profile must agree with the total size of components defined for version 1.0).

   For Version 1.2 and 1.3 of IIOP, no order of use is prescribed in the case where more than one TAG Internet IOP Profile is present in an IOR.

   The members of IIOP::ProfileBody_1_0 and IOP::ProfileBody_1_1 are defined as follows:

   The relationship between the IIOP protocol version and component support

   conformance requirements is as follows:

   Note that host addresses are restricted in this version of IIOP to be Class A, B, or C Internet addresses. That is, Class D (multi-cast) addresses are not allowed. Such addresses are reserved for use in future versions of IIOP.

   Agents may freely choose TCP port numbers for communication; IIOP supports multiple agents per host.