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

Интернет Коммуникация Engine , или Ice , является открытым исходным кодом RPC рамки , разработанное ZeroC . Он предоставляет SDK для C ++ , C # , Java , JavaScript , MATLAB , Objective-C , PHP , Python , Ruby , Swift и TypeScript и может работать в различных операционных системах, включая Linux , Windows , macOS , iOS и Android.. [1]

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

История [ править ]

Первоначально выпущенный в феврале 2003 г. [4] Ice был создан под влиянием архитектуры Common Object Request Broker Architecture (CORBA), и действительно был создан несколькими влиятельными разработчиками CORBA, включая Мичи Хеннинг . Однако, согласно ZeroC, он был меньше и менее сложен, чем CORBA, потому что был разработан небольшой группой опытных разработчиков, а не страдал от разработки комитетом . [5]

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

Компоненты [ править ]

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

IceStorm [ править ]

- это объектно-ориентированная среда публикации и подписки, которая также поддерживает федерацию и качество обслуживания. В отличии от других публикующих-подписавшихся структур , таких как Tibco Software «s Rendezvous или SmartSockets , содержание сообщения состоит из объектов четко определенных классов , а не структурированный текста.

IceGrid [ править ]

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

IcePatch [ править ]

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

Ледник [ править ]

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

IceBox [ править ]

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

Срез [ править ]

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

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

См. Также [ править ]

  • Cisco «s Etch
  • Google «S КПГР
  • МЫЛО
  • Apache Thrift
  • Microsoft «s WCF

Заметки [ править ]

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

Внешние ссылки [ править ]

  • https://github.com/zeroc-ice/ice