Система Интернет-коммуникаций - Википедия - Internet Communications Engine

Internet Communications Engine
Разработчики)ZeroC
Стабильный выпуск
3.7.4 / 27 мая 2020 г.; 6 месяцев назад (2020-05-27)
Репозиторий Отредактируйте это в Викиданных
ПлатформаКроссплатформенность
ТипУдаленный вызов процедур рамки
ЛицензияGPL / Собственный
Интернет сайтZeroc.com

В Internet Communications Engine, или же Лед, является Открытый исходный код RPC рамки, разработанные ZeroC. Это обеспечивает SDK за C ++, C #, Ява, JavaScript, MATLAB, Цель-C, PHP, Python, Рубин, Быстрый и Машинопись, и может работать в различных операционных системах, включая Linux, Windows, macOS, iOS и Android.[1]

Ice реализует запатентованную прикладной уровень протокол связи, называемый Ice протоколом, который может работать TCP, TLS, UDP, WebSocket и Bluetooth.[2][3] Как видно из названия, Ice может подходить для приложений, которые обмениваются данными через Интернет, и включает в себя функции для обхода брандмауэры.

История

ZeroC была основана в 2002 году в Флорида.[4]Лед находился под влиянием Общая архитектура брокера объектных запросов (CORBA) по своему дизайну, и действительно был создан несколькими влиятельными разработчиками CORBA, включая Мичи Хеннинг. Однако, согласно ZeroC, он был меньше и менее сложен, чем CORBA, потому что был разработан небольшой группой опытных разработчиков, а не страдал от дизайн комитетом.[5]

В 2004 году сообщалось, что игра под названием «Wish» от компании Mutable Realms использовала Ice.[6]В 2008 году сообщалось, что Солнечная обсерватория Big Bear пользовался программой с 2005 года.[7]Репозиторий исходного кода для Ice включен GitHub с мая 2015 года.[8]

Составные части

Компоненты Ice включают объектно-ориентированный вызов удаленных объектов, репликацию, грид-вычисления, аварийное переключение, балансировку нагрузки, обход межсетевого экрана и службы публикации-подписки. Чтобы получить доступ к этим службам, приложения связываются с библиотекой-заглушкой или сборкой, которая создается из независимого от языка IDL -подобный синтаксис называется ломтик.

ICEgrid.png

Снежная буря

- это объектно-ориентированная среда публикации и подписки, которая также поддерживает федерацию и качество обслуживания. В отличие от других платформ публикации-подписки, таких как Программное обеспечение Tibco с Рандеву или же SmartSockets, содержание сообщения состоит из объектов четко определенных классов, а не из структурированного текста.

IceGrid

представляет собой набор фреймворков, обеспечивающих объектно-ориентированную Балансировка нагрузки, аварийное переключение, обнаружение объектов и услуги реестра.

IcePatch

облегчает развертывание программного обеспечения на базе ICE. Например, пользователь, желающий развернуть новые функции и / или исправления на нескольких серверах, может использовать IcePatch.

Ледник

это доверенное лицо -основанный сервис для обеспечения связи через брандмауэры, что делает ICE Интернетом коммуникационная машина.

IceBox

Icebox - это Сервис-Ориентированная Архитектура контейнер исполняемых сервисов, реализованных в .dll или библиотеки .so. Это более легкая альтернатива созданию всего исполняемого файла для каждой службы.

Ломтик

Slice - это проприетарный формат файла ZeroC, которому программисты следуют для редактирования независимых от компьютерного языка деклараций и определений классов, интерфейсов, структур и перечислений. Файлы определения фрагментов используются в качестве входных данных для процесса создания заглушек. Заглушка, в свою очередь, связана с приложениями и серверами, которые должны взаимодействовать друг с другом на основе интерфейсов и классов, объявленных / определенных определениями слайсов.

Помимо CORBA, классы и интерфейсы поддерживают наследование и абстрактные классы. Кроме того, slice предоставляет параметры конфигурации в виде макросов и атрибутов для управления процессом генерации кода. Примером может служить директива для создания определенного STL список <двойной> шаблон вместо стандартного, который должен генерировать STL вектор <двойной> шаблон.

Смотрите также

Примечания

  1. ^ http://zeroc.com/products/ice#everywhere Проверено 27 апреля 2018.
  2. ^ https://zeroc.com/products/ice#f flexible Проверено 8 февраля 2019 г.
  3. ^ "Использует ли ICE какой-либо протокол http для связи". ZeroC. Получено 2019-08-13.
  4. ^ "Зерок, Инк". Профиль компании. Манта. Получено 17 июля, 2013.
  5. ^ «Различия между Ice и CORBA». Архивировано из оригинал 18 марта 2013 г.. Получено 17 июля, 2013.
  6. ^ Мичи Хеннинг (1 февраля 2004 г.). «Межплатформенное ПО для многопользовательской игры». Очередь. ACM. Получено 17 июля, 2013.
  7. ^ Сергей Шумко (2 ноября 2008 г.). «Ледяное промежуточное программное обеспечение в системе управления телескопом нового солнечного телескопа» (PDF). Программное обеспечение и системы анализа астрономических данных XVII, Серия конференций ASP, Vol. ХХХ, 2008 г.. Квебек, Канада. Архивировано из оригинал (PDF) 25 августа 2012 г.. Получено 17 июля, 2013.
  8. ^ Нормье, Бернар. "Ice переехал на GitHub!". Форумы ZeroC. Получено 8 февраля 2019.

внешняя ссылка