Project

General

Profile

Интерфейс приложений ICE

ICE (от Internet Communications Engine) - является объектно-ориентированной системой промежуточного слоя (middleware), использующей механизм удаленного вызова процедур.

Smartswitch использует ICE для предоставления API к своему функционалу.

Этот API позволяет вызывать функции Smartswitch из внешних программ путем удаленного вызова процедур.
При этом внешние программы просто вызывают функции в нативном исполнении, как если бы они вызывали функции из стандартных библиотек.
Всю остальную работу берет на себя библиотека ICE.

Внешними программами могут быть (но не ограничены ими):
  • веб-сайты
  • call-shop приложения
  • сторонние биллинговые приложения
  • приложения для колл-центров
  • итп.
ICE содержит:
  • разнообразие поддерживаемых языков для разработки
  • встроенные средства защиты передачи данных, основанные на SSL
  • интуитивно понятный для программиста объектно ориентированный API в генерируемых интерфейсах
  • собственный язык описания интерфейсов Slice, который позволяет легко добавлять новые интерфейсы и изменять старые
  • автоматизированную систему генерации заголовочных файлов и объектных модулей для использования с выбранным языком на основании единого описания интерфейса Slice
  • жесткую систему типизации, которая содержит код в описанных интерфейсах Slice постоянно синхронизированным с кодом сервера и, при правильной конфигурации, клиента.
Доступные языки разработки для ICE API:
  • 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/).

См. также:

English translation

Also available in: PDF HTML TXT