Эта статья требует дополнительных ссылок для проверки . ( февраль 2009 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Разработчики) | ZeroC |
---|---|
Стабильный выпуск | 3.7.5 / 26 января 2021 г . |
Репозиторий | |
Платформа | Кроссплатформенность |
Тип | Удаленный вызов процедуры рамки |
Лицензия | GPL / проприетарный |
Интернет сайт | zeroc |
Интернет Коммуникация 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
Заметки [ править ]
- ^ http://zeroc.com/products/ice#everywhere Проверено 27 апреля 2018 г.
- ^ https://zeroc.com/products/ice#f flexible Проверено 8 февраля 2019 г.
- ^ "Использует ли ICE какой-либо протокол http для связи" . ZeroC . Проверено 13 августа 2019 .
- ^ Laukien, Марк. «Проект: Двигатель Интернет-коммуникаций» . Форумы ZeroC . Проверено 16 января 2021 года .
- ^ «Различия между Ice и CORBA» . Архивировано из оригинального 18 марта 2013 года . Проверено 17 июля 2013 года .
- ^ Мичи Хеннинг (1 февраля 2004). «Межплатформенное ПО для многопользовательской игры» . Очередь . ACM . Проверено 17 июля 2013 года .
- ^ Sergij Шумко (2 ноября 2008). «Ледяное промежуточное программное обеспечение в системе управления телескопом нового солнечного телескопа» (PDF) . Программное обеспечение и системы для анализа астрономических данных XVII, Серия конференций ASP, Vol. XXX, 2008 . Квебек, Канада. Архивировано из оригинального (PDF) 25 августа 2012 года . Проверено 17 июля 2013 года .
- ^ Нормьер, Бернар. "Ice переехал на GitHub!" . Форумы ZeroC . Проверено 8 февраля 2019 .
Внешние ссылки [ править ]
- https://github.com/zeroc-ice/ice