IOR

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

IOR (англ. Interoperable object reference ссылка на интероперабельный объект) — в распределенном программном обеспечении ссылка на объект технологий CORBA или RMI-IIOP, содержащая в себе полный набор информации, необходимой, чтобы обеспечить доступ к объекту и использовать его[1] .

Представляет собой строковую структуру, в которой содержится различного рода информация. Чаще всего это 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), используемый агентом в конкретном адресе конечной точки для идентификации объекта.

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

Примечания[править | править код]

  1. C.R. Ozansoy, A. Zayegh, A. Kalam. Interoperable CORBA middleware design for substation communication systems // 2004 Eighth IEE International Conference on Developments in Power System Protection. — 2004-04. — Т. 2. — С. 705–708 Vol.2. — doi:10.1049/cp:20040220. Архивировано 24 октября 2021 года.