Инфраструктура приложения
Glossary Item Box
Общие сведения
С точки зрения инфраструктуры серверов система bpm'online построена в виде трехзвенного архитектурного решения с определенными модификациями (рис. 1).
Рис. 1. — Инфраструктура приложения
В центре инфраструктуры находится сервер приложений, который работает под управлением Internet Information Services (IIS) версии 7.0 и выше.
Второе звено архитектуры — классический сервер баз данных.
Клиентские рабочие места могут находиться на любом из доступных устройств — персональных компьютерах, ноутбуках и мобильных устройствах. Все запросы к серверу от клиента выполняются с помощью Web-браузера или мобильного приложения.
Помимо трех основных, в bpm'online присутствуют дополнительные компоненты:
- сервер для хранения сессий СУБД Redis;
- сервер системы контроля версий (опциональный);
- облачные Web-сервисы.
Сервер приложений
Сервер приложений состоит из двух частей — загрузчика и конфигурационной части.
Загрузчик (WebAppLoader)
Его основное назначение — авторизация и аутентификация пользователей, а также перенаправление их далее в основное приложение. Отвечает за:
- авторизацию пользователей;
- лицензирование и аутентификацию пользователей;
- запуск планировщика.
Конфигурационная часть (WebApp)
После того, как входящие запросы были обработаны в загрузчике, они перенаправляются в конфигурационную часть (WebApp). Конфигурационная часть отвечает за работу бизнес-логики системы. Это приложение, реализующее конкретную конфигурацию и рабочее пространство в системе.
Сервер баз данных
В базе данных хранятся данные, необходимые пользователю, а также данные, необходимые для работы самой системы. Также там хранятся все конфигурационные настройки, определяющие функциональность того или иного продукта.
В качестве СУБД могут использоваться:
- MS SQL Server 2012 SP3 и выше;
- Oracle версии 11g Release 2 и новее (при развертывании on-site).
К СВЕДЕНИЮ
В облачной инфраструктуре Terrasoft используется MS SQL Server 2016.
Клиент
Все запросы к серверу от клиента выполняются с помощью Web-браузера. Система поддерживает работу со следующими Web-браузерами:
- Internet Explorer 11.0+,
- Firefox (последняя версия на дату релиза),
- Chrome (последняя версия на дату релиза),
- Safari (последняя версия на дату релиза).
Для доступа к серверу с мобильных устройств используется мобильное приложение bpm'online.
Сервер хранения сессий Redis
Основными функциями сервера Redis являются:
- хранение данных сессий пользователя;
- хранение закешированных данных;
- обмен данными между узлами веб-фермы.
Преимущества Redis:
- данные хранятся в оперативной памяти, за счет чего достигается высокая производительность системы;
- сервер может работать под операционной системой Unix.
Сервер системы контроля версий
Это необязательный компонент, который появляется в архитектуре системы только тогда, когда необходимо параллельно с эксплуатацией системы организовать разработку пользовательской конфигурации на платформе. Его функции:
- Перенос изменений между приложениями при разработке. Изменения переносятся через пакеты.
- Хранение состояний конфигурации в виде пакетов определенной версии. Все, что разрабатывается в пакетах, хранится в системе контроля версий.
Подробнее о сервере системы контроля версий изложено в статье "Как настроить хранилище SVN".
Web-сервисы
Это вспомогательные облачные сервисы, доступ к которым осуществляется из нескольких приложений bpm'online.
Сервис глобального поиска
Сервис глобального поиска (Global Search Service) создан для интеграции ElasticSearch с bpm'online и выполняет следующие функции:
1. Регистрирующую:
- Подключает клиента, создавая индекс в ElasticSearch, и сохраняет связь индекс-приложение.
- Отключает клиента, по требованию удаляя индекс в ElasticSearch.
2. Транспортную:
Участвует в процессе индексации — забирает данные из базы данных приложения и передает их в ElasticSearch.
GSS состоит из трех компонентов:
- Service — API регистрации и управления доступом к глобальному поиску.
- Worker — отвечает за экспорт данных из базы и импорт их в индекс ElasticSearch.
- Scheduler — планировщик работы Worker.
Сервис Email рассылок
Предназначен для интеграции bpm'online с сервисами массовых email-рассылок, таких как ElasticEmail и UniOne. Позволяет работать с такими типами рассылок:
- Массовые рассылки.
- Транзакционные рассылки (моментальная отправка одному получателю).
Доступ к сервису осуществляется через публичный Web API.
Сервис трекинга событий сайта
Позволяет отслеживать события, происходящие на сайте клиента, и передавать их в bpm'online. Идентификация приложения происходит посредством уникального API-ключа, по которому определяется временное хранилище полученных событий и экземпляр bpm'online для синхронизации. Для выполнения трекинга на страницы сайта встраивается JavaScript-код, отправляющий события в сервис.
Сервисы обогащения данных
Сервис обогащения данных контрагентов использует различные технологии поиска актуальной информации о компаниях и средствах связи с ними из открытых источников в Интернете.
Сервис обогащения данных контакта на основании электронных писем использует различные технологии поиска актуальной информации о контактах и средствах связи с ними в электронных сообщениях.
Варианты установки приложения
Существует два варианта установки приложения:
- On-site.
-
Cloud (облачная установка).
Установка On-site
При установке On-site все затраты, связанные с организацией серверной части (установка, настройка, сопровождение, администрирование), возлагаются на клиента.
Одним из преимуществ такой установки является более простая реализация интеграции с Active directory, поскольку обычно контроллер домена находится также в локальной сети предприятия. Кроме того, разработку удобнее выполнять на приложении, установленном on-site.
Минусы этого варианта установки заключаются в том, что клиенту необходимо нести постоянные издержки на поддержку такой инфраструктуры, периодически ее обновлять, исправлять поломки, администрировать и т.д.
Как установить приложение on-site описывается в статье "Установка и настройка приложения bpm’online on-site".
Установка Cloud
В режиме Cloud приложение устанавливается на мощностях облачных дата-центров (Amazon, Azure), находящихся под управлением сотрудников компании Terrasoft. То есть физически вся серверная часть архитектуры и данные находятся в дата-центрах и управляют ими сотрудники Terrasoft. Это означает, что все вопросы, связанные с администрированием, быстродействием, масштабированием решаются силами сотрудников Terrasoft, а клиент использует только клиентскую часть приложения.
Преимущества установки Cloud:
- своевременное обновление;
- максимально возможное быстродействие;
- соответствие промышленным стандартам по доступности и защищенности данных.
Ограничения для приложнения, развернутого в облаке, приведены в статье "Развертывание приложения в облаке".
Схемы установки системы on-site
На рисунке 2 представлены две возможные схемы установки приложения bpm'online.
Рис. 2. — Схемы установки
-Установка системы без отказоустойчивости предполагает один сервер приложений, один сервер Redis, один сервер баз данных и использование сервера SVN для среды разработки.
Для системы с поддержкой отказоустойчивости используются:
- несколько балансировщиков нагрузки;
- несколько узлов веб-фермы;
- несколько узлов кластера базы данных;
- несколько узлов кластера Redis.
Для среды разработки можно использовать SVN-сервер, но обычно такие сложные отказоустойчивые системы практикуют только на тестовой и промышленной среде.