Разработчик (и) | ZeroC |
---|---|
Стабильный выпуск | 3.7.4 / май 27, 2020; 4 месяца назад (2020-05-27) |
Репозиторий | |
Платформа | Кросс-платформенность |
Тип | Удаленный вызов процедуры framework |
Лицензия | GPL / Собственный |
Веб-сайт | zeroc.com |
Internet Communications Engine, или Ice - это открытый исходный код RPC framework, разработанный ZeroC . Он предоставляет SDK для C ++, C#, Java, JavaScript, MATLAB, Objective-C, PHP, Python, Ruby, Swift и TypeScript и могут работать в различных операционных системах, включая Linux, Windows, macOS, iOS и Android.
Ice реализует проприетарный протокол связи прикладного уровня, называемый протоколом Ice, который может работать через TCP, TLS, UDP, WebSocket и Bluetooth. Как видно из названия, Ice подходит для приложений, которые обмениваются данными через Интернет, и включает в себя функции для обхода межсетевых экранов.
Основание ZeroC в 2002 г. в Флориде. На разработку Ice оказала влияние Common Object Request Broker Architecture (CORBA), и он действительно был создан несколькими влиятельными разработчиками CORBA, в том числе. Однако, согласно ZeroC, она была меньше и менее сложна, чем CORBA, потому что была разработана небольшой группой опытных разработчиков, вместо того чтобы страдать от дизайна комитета.
. В 2004 году сообщалось, что игра под названием " Wish »компании Mutable Realms использовал Ice. В 2008 году сообщалось, что Big Bear Solar Observatory использовала это программное обеспечение с 2005 года. Репозиторий исходного кода Ice находится на GitHub с мая 2015 года.
Компоненты Ice включают объектно-ориентированный вызов удаленных объектов, репликацию, grid-вычисления, аварийное переключение, балансировку нагрузки, обход межсетевого экрана и службы публикации-подписки. Чтобы получить доступ к этим службам, приложения связываются с библиотекой-заглушкой или сборкой, которая создается на основе независимого от языка IDL -подобного синтаксиса, называемого slice.
- это объектно-ориентированная структура публикации и подписки, которая также поддерживает федерацию и качество обслуживания. В отличие от других платформ публикации-подписки, таких как Rendezvous Tibco Software или SmartSockets Tibco Software или SmartSockets, содержимое сообщения состоит из объектов четко определенных классов, а не из структурированного текста.
- это набор платформ, которые обеспечивают объектно-ориентированную балансировку нагрузки, аварийное переключение, обнаружение объектов и службы реестра.
упрощает развертывание программного обеспечения на базе ICE. Например, пользователь, желающий развернуть новые функции и / или исправления на нескольких серверах, может использовать IcePatch.
- это служба на основе прокси для обеспечения связи через брандмауэры, что делает ICE механизмом связи в Интернете .
Icebox - это сервис-ориентированная архитектура контейнер исполняемых сервисов, реализованный в библиотеках .dll или.so. Это более легкая альтернатива созданию всего исполняемого файла для каждой службы.
Slice - это проприетарный формат файла ZeroC, которому программисты следуют для редактирования независимых от компьютерного языка деклараций и определений классов, интерфейсов, структур и перечислений. Файлы определения фрагментов используются в качестве входных данных для процесса создания заглушек. Заглушка, в свою очередь, связана с приложениями и серверами, которые должны взаимодействовать друг с другом на основе интерфейсов и классов, объявленных / определенных определениями слайсов.
Помимо CORBA, классы и интерфейсы поддерживают наследование и абстрактные классы. Кроме того, slice предоставляет параметры конфигурации в виде макросов и атрибутов для управления процессом генерации кода. Примером является директива для создания определенного шаблона STL list
вместо шаблона по умолчанию, который должен генерировать шаблон STL vector
.