GIOP
GIOP (General Inter-ORB Protocol) — абстрактный протокол в распределённых объектных системах, обеспечивающий интероперабельность брокеров. Стандарты, связанные с данным протоколом, выпускает Object Management Group (OMG).
IIOP (Internet Inter-Orb Protocol) используется GIOP для TCP/IP. IIOP является конкретной реализацией абстрактных определений GIOP.
Краткое описание протокола
Спецификация GIOP состоит из следующих элементов:
- Определение общего представления данных (CDR). CDR — это синтаксис передачи, выполняющий отображение типов данных OMG IDL в независимое низкоуровневое представление, для передачи между брокерами и межброкерными мостами (агентами).
- Форматы сообщений GIOP. Сообщения GIOP пересылаются между агентами для передачи объектных запросов, определения местоположения объекта-исполнителя и управления коммуникационными каналами. Сообщения:
- Request посылают для вызова отдалённого метода.
- Reply посылается в ответ на сообщение Request. Сообщение обычно содержит данные, возвращаемые отдалённым методом. В других случаях ответ может содержать инструкцию переназначения или описание исключения, которое было брошено в сторону сервера.
- CancelRequest используется для отмены ранее отправленного запроса (отмена ожидания ответа).
- LocateRequest используется для проверки, знает ли сервер и поддерживает требуемый отдалённый объект, и (если нет), к какому адресу надо посылать запросы о требуемом объекте.
- LocateReply посылается сервером как ответ на LocateRequest. Если требуется, LocateReply может содержать новый адрес отдалённого объекта, который был перемещён.
- CloseConnection посылается сервером в качестве уведомления об отключение сервера.
- MessageError посылается в ответ на искажённое или неверное сообщение. Это сообщение не используется для извещения об ошибках, не связанных с передачей сообщений; о такого рода ошибках сообщают в Reply.
- Fragment — сообщение, продолжающее предыдущее. Длинные сообщения могут быть разделены на фрагменты.
- Транспортные предположения GIOP. Спецификация GIOP описывает общие предположения, сделанные относительно любого транспортного слоя сети, который может использоваться для передачи сообщения GIOP. Спецификация также описывает способы управления соединениями и ограничения на размещение сообщения GIOP.
Форматы сообщений GIOP
Заголовок сообщения GIOP кодируется следующим образом:
- четыре символа ASCII: GIOP;
- два байта кодируют версию протокола. Первый байт: номер версии (только 1); второй байт: младший номер версии;
- один байт определяет флаги сообщения. Бит с младшим весом определяет байтовый порядок (0 — big endian, 1 — little endian);
- один байт определяет тип сообщения (Reply, Request, Fragment и другие);
- двойное слово определяет размер сообщения (исключая 12 байт заголовка).
Межброкерный протокол для Интернет
Основным транспортом для GIOP является TCP/IP. Определения API для библиотек поддержки TCP/IP могут меняться. Таким образом спецификация на межброкерный протокол ограничена абстрактным представлением TCP/IP и управлением связями. Способ отображения сообщений GIOP, обеспечивающий их пересылку при помощи TCP/IP-соединений, называется Internet Inter-ORB Protocol (IIOP).
Агенты, способные принимать запросы объектов или обеспечивающие установление положения объектов (то есть, серверы), публикуют свои адреса TCP/IP в IORs (интероперабельные объектные ссылки). Адрес TCP/IP состоит из IP-адреса хоста, как правило представленного именем, и номера порта TCP. Серверы должны слушать запросы на установление соединения.
Правовой статус сокращения GIOP
CORBA, IIOP и OMG являются зарегистрированными торговыми марками Object Management Group и должны использоваться в соответствии с законом. GIOP не является зарегистрированной торговой маркой OMG.[1] Следовательно, в некоторых случаях можно просто упомянуть, что приложение использует или реализует архитектуру, основанную на GIOP.
Примечания
- ↑ список зарегистрированных торговых марок OMG. Дата обращения: 8 марта 2007. Архивировано 10 марта 2007 года.
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.