Author: Vitaly Kovalyshyn

IT-SFERA and Webitel
Managing Partner

Web: kovalyshyn.pp.ua

В предыдущих статьях мы обсудили основные преимущества и возможности Docker. Сегодня я хочу рассказать о реализации сервера Webitel Collaboration с помощью этой технологии. Напомню, что не так давно, с выходом bpm’online 7.4.1, был анонсирован новый продукт для бесплатных внутренних коммуникаций. Вот его мы сегодня и разберем по кирпичиках.

Микросервисы

Помните, микросервисы в основе приложения? Именно эта идеология и заложена в Collaboration. Мы разбили все компоненте на несколько небольших контейнеров в зависимости от выполняемой задачи. А какие основные задачи Collaboration? Если вкратце, то это внутренние звонки. Здесь нет статистики, нет записей разговоров, нет внешней маршрутизации и провайдеров связи.

Архитектура решения

Webitel Collaboration Cloud

После теории перейдем к практическим занятиям. Для этого нам понадобится Linux с установленным Docker либо Doot2Docker на Windows или OSX. Как это сделать, доступно написано на сайте разработчика. На тестовой машине у меня версия 1.3.2:

┌─[ ~/blog ]
└─[root@core (пт січ 09 04:02:32)] ·> docker info
Containers: 15
Images: 302
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 368
Execution Driver: native-0.2
Kernel Version: 3.13.0-43-generic
Operating System: Ubuntu 14.04.1 LTS

Вначале были контейнеры

Контейнеры имеют очень длинную историю. В отличие от виртуализации, когда на одной физической машине мы можем запускать несколько независимых виртуальных машин, контейнеры существуют поверх операционной системы. Данный подход позволяет более гибко использовать ресурсы основной машины, но, в то же время, накладывает определенные ограничения. К примеру, мы можем легко запустить CentOS Linux поверх Ubuntu, но мы не сможем запустить Windows поверх Ubuntu.

Технология контейнеров существует уже очень давно и все больше становится похожей на изолированные виртуальные машины с собственной сетевой инфраструктурой, политикой групп либо с персональными файловыми хранилищами. Благодаря особенностям современного ядра Linux (таких как lxc) контейнеры завоевали большую популярность среди разработчиков программных продуктов.

Но, как управлять этими контейнерами? Как взаимодействовать между ними? Обычный подход виртуальных машин тут уже неуместен, необходимо что-то новое. И этим новым стал Docker.

Сегодня добавили новую фичу в библиотеку webitel для bpmonline — уведомления браузера. Для начала необходимо разрешить для сайта (на demo стенде уже можно опробовать):

allow

Теперь можем свернуть браузер и работать в другом приложение. При входящем вызове мы получим такое вот окошечко:

incoming call

А если звонок пропустили, тогда:

missed call

Работает в браузере Chrome, Opera и должно работать в FireFox (не проверял еще).

Бесплатные звонки — звучит как рекламный лозунг! Нет, это не реклама (хотя…).

Рады представить сообществу Terrasoft новый продукт Webitel Community, который позволяет бесплатно совершать видео и аудио звонки между пользователями bpmonline 7 с использованием технологии WebRTC. Каждой компании, которая оставит заявку на сайте, будут предоставлены 5 лицензий Webitel Community.

Что предлагает Webitel Community?

  • Бесплатные звонки между пользователями
  • Видеозвонки
  • Определение статусов сотрудников
  • Перевод звонка и удержание

Если Вас у Вас есть пожелания — пишите в комментариях.

PS: небольшое видео, как это все работает: https://vimeo.com/97131875

PPS: если Вы установите на свой bpmonline 7 пакет Webitel Community и в другой компании сделано то же самое, то Вы сможете позвонить им тоже бесплатно. Вот оно — Community!