Интерфейс приложений ICE¶
ICE (от Internet Communications Engine) - является объектно-ориентированной системой промежуточного слоя (middleware), использующей механизм удаленного вызова процедур.
Smartswitch использует ICE для предоставления API к своему функционалу.
Этот API позволяет вызывать функции Smartswitch из внешних программ путем удаленного вызова процедур.
При этом внешние программы просто вызывают функции в нативном исполнении, как если бы они вызывали функции из стандартных библиотек.
Всю остальную работу берет на себя библиотека ICE.
- веб-сайты
- call-shop приложения
- сторонние биллинговые приложения
- приложения для колл-центров
- итп.
- разнообразие поддерживаемых языков для разработки
- встроенные средства защиты передачи данных, основанные на SSL
- интуитивно понятный для программиста объектно ориентированный API в генерируемых интерфейсах
- собственный язык описания интерфейсов Slice, который позволяет легко добавлять новые интерфейсы и изменять старые
- автоматизированную систему генерации заголовочных файлов и объектных модулей для использования с выбранным языком на основании единого описания интерфейса Slice
- жесткую систему типизации, которая содержит код в описанных интерфейсах Slice постоянно синхронизированным с кодом сервера и, при правильной конфигурации, клиента.
- C++
- C#
- Java
- PHP
- Python
- Ruby
Пошаговая инструкция по разработке с использованием ICE API находится в разделе Использование ICE API.
Файлы¶
В каждой установке Smartswitch соответствующей редакции ICE API содержится на Вашем сервере Smartswitch по ссылке https://имя.вашего.сервера/ice/.
Например, https://demo.streamco.org/ice/.
При обновлении версии ПО эта директория автоматически обновляется актуальными файлами, соответствующими установленной версии.
Мануал по функциям актуальной версии API содержится по ссылке https://имя.вашего.сервера/ice/html/ и генерируется автоматически при сборке новой версии ПО.
Таким образом, мануал постоянно синхронизирован с выкладываемой версией ПО, например https://demo.streamco.org/ice/html/.
В файлах .ice находящимся в корневой директории находится описание интерфейсов на языке Slice.
Вы можете сгенерировать из них заголовочные файлы и объектные модули для линковки для вашего языка программирования самостоятельно, имея установленную библиотеку ICE у себя на хосте.
Либо же можете воспользоваться уже сгенерированными интерфейсами на Вашем сервере Smartswitch, которые находятся в директориях, соответствующих названию языка программирования.
Например, https://имя.вашего.сервера/ice/cpp/, https://имя.вашего.сервера/ice/php/ итп.
Сгенерированные интерфейсы генерируется автоматически при сборке ПО, потому они постоянно синхронизированы с установленной версией Smartswitch.
Также есть примеры, они находятся в директории https://имя.вашего.сервера/ice/examples/ (например, https://demo.streamco.org/ice/examples/).
См. также: