Меню

Главная
Случайная статья
Настройки
IOR
Материал из https://ru.wikipedia.org

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

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

В реализациях, которые используют распределённые объекты, каждый инстанс объекта может снабжаетьс собственным IOR[3].

IOR в CORBA

Представляет собой поток октетов, кодированный в соответствии с общим представлением данных, в котором содержится зависимая от транспорта информация об адресуемом объекте[4]. Структура 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 года.
  2. A Flexible and Extensible Object Middleware CORBA and Beyond Архивная копия от 1 июля 2024 на Wayback Machine Franz J. Hauck, Rdiger Kapitza, Hans P. Reiser, Andreas I. Schmied Distributed Systems Lab, University of Ulm, Germany Department of Computer Science, University of Erlangen-Nrnberg, Germany 2005
  3. INTEROPERABILITY PERFORMANCE OF CORBA ARCHITECTURE Franco Fiore Massimo Mercati RTO MEETING PROCEEDINGS MP-MSG-022 C3I and Modelling and Simulation (M&S) Interoperability (Interoprabilit entre le C3I et la modlisation et la simulation (M&S)) Papers presented at the NATO RTO Modelling and Simulation Conference held in Antalya, Turkey, 9-10 October 2003. p 191
  4. Michi Henning. Binding, migration, and scalability in CORBA (англ.) // Communications of the ACM. — 1998-10. — Vol. 41, iss. 10. — P. 62–71. — ISSN 0001-0782. — doi:10.1145/286238.286249. Архивировано 1 июля 2024 года.
Downgrade Counter