IOR (IOR)
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. Профили включают, по крайней мере, три элемента:
- Номер версии спецификации поддерживаемого сервером транспортного протокола.
- Адрес конечной точки для используемого транспортного протокола.
- Объектный ключ (object_key), используемый агентом в конкретном адресе конечной точки для идентификации объекта.
См. также
[править | править код]Примечания
[править | править код]- ↑ 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 года.
- ↑ A Flexible and Extensible Object Middleware CORBA and Beyond Архивная копия от 1 июля 2024 на Wayback Machine Franz J. Hauck, Rüdiger Kapitza, Hans P. Reiser, Andreas I. Schmied Distributed Systems Lab, University of Ulm, Germany Department of Computer Science, University of Erlangen-Nürnberg, Germany 2005
- ↑ INTEROPERABILITY PERFORMANCE OF CORBA ARCHITECTURE Franco Fiore Massimo Mercati RTO MEETING PROCEEDINGS MP-MSG-022 C3I and Modelling and Simulation (M&S) Interoperability (Interopérabilité entre le C3I et la modélisation 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
- ↑ 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 года.