IOR

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

IOR (англ. Interoperable object reference ссылка на интероперабельный объект) — в распределенном программном обеспечении ссылка на объект технологий CORBA или RMI-IIOP .

Представляет собой строковую структуру, в которой содержится различного рода информация. Чаще всего это IP-адрес и порты интерфейса, на котором прослушивается сервер, название и идентификатор класса и, возможно, методов объекта, которые в данный момент будут обработаны. Передача IOR происходит после установления связи между двумя частями распределенного приложения для инициализации передачи исполняемого кода и данных объекта.

IOR в CORBA[править | править вики-текст]

Представляет собой поток октетов, кодированный в соответствии с общим представлением данных, в котором содержится зависимая от транспорта информация об адресуемом объекте. Структура IOR имеет следующий вид:

struct IOR {
    string                   type_id;
    sequence <TaggedProfile> profiles;
};

Здесь type_id — идентификатор, используемый для публикации ссылки, а profiles — последовательность прикреплённых к ссылке профилей:

typedef unsigned long  ProfileId;
 
const ProfileId TAG_INTERNET_IOP = 0;
const ProfileId TAG_MULTIPLE_COMPONENTS = 1;
const ProfileId TAG_SCCP_IOP = 2;
 
struct TaggedProfile {
    ProfileId          tag;
    sequence <octet>   profile_data;
};

Здесь profile_data содержит инкапсулированный профиль. Не существует единого формата профиля IOR. Профили включают, по крайней мере, три элемента:

  1. Номер версии спецификации поддерживаемого сервером транспортного протокола.
  2. Адрес конечной точки для используемого транспортного протокола.
  3. Объектный ключ (object_key), используемый агентом в конкретном адресе конечной точки для идентификации объекта.

См. также[править | править вики-текст]