Классическая трехуровневая архитектура Creatio реализована с использованием современных технологий и инфраструктурных решений, которые придают приложению кросс-платформенность, гибкость и масштабируемость.
Возможные схемы развертывания приложения Creatio:
- Без обеспечения отказоустойчивости. Базовый вариант инфраструктуры без использования балансировщиков нагрузки.
- С обеспечением отказоустойчивости. Вариант инфраструктуры с горизонтальным масштабированием. Обеспечение отказоустойчивости реализуется за счет использования балансировщиков нагрузки серверов приложений, баз данных и кэширования.
Логические уровни приложения
Приложение Creatio имеет классическую трехуровневую архитектуру со следующими слоями: данные, приложение, представление.
Уровень представления
Уровень представления предоставляет пользователю доступ к интерфейсу приложения через веб-браузер либо мобильное приложение для Android или iOS. Содержит веб-страницы, код JavaScript и стили, определяющие логику и внешний вид пользовательского интерфейса.
Ключевые технологии, используемые на уровне представления: Angular, JavaScript, Ext.JS, HTML5, CSS.
Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari.
В качестве альтернативного клиента реализовано мобильное приложение Creatio с адаптивным интерфейсом для Android или iOS.
Уровень приложения
Уровень приложения реализован для платформ .NET Framework и .NET Core. Может быть развернут на веб-серверах Windows, Linux, Mac. Уровень приложения определяет основную бизнес-логику, такую как динамическое управление кейсами, механизм бизнес-процессов, интеграция с телефонией и т. д.
Обрабатывает аутентификацию и авторизацию пользователей, выполняет проверку лицензий, создает экземпляры и запускает индивидуальную бизнес-логику, реализованную с помощью Creatio и low-code инструментов.
На уровне инфраструктуры представлен сервером приложений.
Уровень данных
Уровень данных хранит и управляет данными клиентов, настройками приложений, метаданными и данными аутентификации пользователей.
Используется для хранения в памяти данных сессии, часто используемых кэшей и быстрого взаимодействия между узлами в веб-ферме.
Поддерживаемые СУБД: Microsoft SQL Server, Oracle и PostgreSQL.
Сервер кэширования: база данных Redis.
На уровне инфраструктуры представлен сервером кэширования и сервером баз данных.
Инфраструктура основного приложения
Компоненты инфраструктуры основного приложения:
- Сервер приложений.
- Сервер баз данных.
- Сервер кэширования.
- Сервер системы контроля версий (опциональный компонент). Используется при многопользовательской разработке.
- Мобильное приложение (опциональный компонент). Используется для доступа к основному приложению с мобильного устройства.
Общая схема архитектуры основного приложения Creatio без отказоустойчивости представлена на рисунке ниже.
Сервер приложений
Сервер приложений соответствует логическому уровню приложения и выполняет основную вычислительную работу системы.
Приложение доступно на платформах .NET Framework и .NET Core.
Creatio products | .NET Framework | .NET Core |
---|---|---|
Marketing |
|
|
Sales Enterprise |
|
|
Sales Commerce |
|
|
Sales Team |
|
|
Service Enterprise |
|
|
Customer Center |
|
|
Studio |
|
|
Lending |
|
|
Bank Customer Journey |
|
|
Bank Sales |
|
|
Sales Enterprise & Marketing & Service Enterprise |
|
|
Sales Enterprise & Marketing & Customer Center |
|
|
Sales Commerce & Marketing & Customer Center |
|
|
Sales Team & Marketing |
|
|
Sales Team & Marketing & Customer Center |
|
|
Bank Sales & Bank Customer Journey & Lending & Marketing |
|
|
Сервер приложений на платформе .NET Framework
Серверы приложений Creatio на платформе .NET Framework могут быть развернуты в Microsoft Internet Information Services (IIS) в Windows.
Требования к серверам приложений продуктов Creatio на платформе .NET Framework вы можете рассчитать в Калькуляторе системных требований.
Сервер приложений продуктов Creatio на платформе .NET Framework состоит из двух компонентов:
-
Загрузчик (WebAppLoader) — приложение, реализующее выполнение служебных функций системы, и дальнейшее перенаправление пользователей в конфигурационную часть основного приложения Creatio.
Загрузчик отвечает за выполнение следующих действий:
- Авторизацию пользователей.
- Проверку лицензий и аутентификацию пользователей.
- Запуск планировщика, который отвечает за выполнение фоновых задач по расписанию.
На уровне файловой системы загрузчик размещен в корневой папке приложения.
После обработки в загрузчике запроса на авторизацию пользователи могут работать в конфигурационной части.
-
Конфигурационная часть (WebApp) — приложение, которое реализует конкретную конфигурацию в системе, а также отвечает за работу бизнес-логики системы.
На уровне файловой системы конфигурационная часть размещена в папке Terrasoft.WebApp.
Сервер приложений на платформе .NET Core
.NET Core версии приложений доступны для развертывания в ОС Linux под управлением Kestrel.
Требования к серверам приложений продуктов Creatio на платформе .NET Core вы можете рассчитать в Калькуляторе системных требований.
Приложение Creatio на платформе .NET Core является неделимым и выполняет задачи загрузчика и конфигурационной части.
Описание продуктов Creatio на платформе .NET Core содержится в статье Продукты Creatio на платформе .NET Core.
Сервер баз данных
Сервер баз данных является частью логического уровня данных приложения.
В базе данных хранятся следующие элементы:
- Пользовательские данные.
- Данные, необходимые для работы самой системы.
- Конфигурационные настройки, которые определяют функциональность продукта.
В качестве системы управления базами данных (СУБД) могут использоваться следующие СУБД:
- MS SQL Server.
- Oracle (при развертывании on-site).
- PostgreSQL.
Актуальные версии поддерживаемых СУБД вы найдете в Калькуляторе системных требований после выполнения расчета.
Creatio products |
|
|
|
(.NET Core) |
---|---|---|---|---|
Marketing |
|
|
|
|
Sales Enterprise |
|
|
|
|
Sales Commerce |
|
|
||
Sales Team |
|
|
||
Service Enterprise |
|
|
|
|
Customer Center |
|
|
||
Studio |
|
|
|
|
Lending |
|
|
||
Bank Customer Journey |
|
|
||
Bank Sales |
|
|
||
Sales Enterprise & Marketing & Service Enterprise |
|
|
|
|
Sales Enterprise & Marketing & Customer Center |
|
|
||
Sales Commerce & Marketing & Customer Center |
|
|
||
Sales Team & Marketing |
|
|
||
Sales Team & Marketing & Customer Center |
|
|
|
|
Bank Sales & Bank Customer Journey & Lending & Marketing |
|
|
|
|
Сервер кэширования Redis
Является частью логического уровня данных приложения и отвечает за решение следующих задач:
- Хранение данных пользователя и приложения (профиль пользователя, сессионные данные и т. п.).
- Хранение кэшированных данных.
- Обмен данными между узлами веб-фермы.
Для решения таких задач в архитектуре Creatio реализована технология хранилищ данных. В основе технологии — объектная модель классов, которая представляет собой унифицированный API для доступа из приложения к данным, расположенным во внешнем хранилище. В качестве внешнего хранилища Creatio использует сервер кэширования Redis.
Redis поддерживает следующие стратегии хранения данных:
- Хранение данных только в памяти. Персистентная база данных преобразуется в некий кэширующий сервер.
- Периодическое сохранение данных на диск (по умолчанию). Периодическое создание копий (snapshot) один раз в 1-15 минут в зависимости от времени создания предыдущей копии и количества измененных ключей.
- Лог транзакций. Синхронная запись каждого изменения в специальный append-only лог-файл.
- Репликация. Каждому серверу можно указать мастер-сервер, после чего все изменения на мастере будут воспроизводиться и на подчиненном сервере.
Способ хранения данных определяется конфигурированием сервера Redis.
Сервер системы контроля версий (опционально)
Является опциональным компонентом приложения. Используется, когда одновременно с эксплуатацией системы необходимо организовать разработку пользовательской конфигурации. Для многопользовательской разработки применение системы контроля версий является обязательным. Описание настройки сервера системы контроля версий содержится в статье Настроить систему управления версиями для среды разработки.
Сервер системы контроля версий отвечает за выполнение следующих функций:
- Перенос изменений между приложениями при разработке. Изменения переносятся с помощью пакетов, которые хранятся в виде набора файлов и папок на уровне файловой системы.
- Хранение состояний конфигурации в виде пакетов определенной версии. Система контроля версий хранит все конфигурационные элементы, которые разрабатываются в пакетах.
IDE Creatio настроена на работу с Subversion, но при разработке с использованием сторонних IDE могут использоваться и другие системы контроля версий.
Горизонтальное масштабирование
В Creatio существует возможность повысить производительность крупных проектов с помощью горизонтального масштабирования. Горизонтальное масштабирование используется для основного приложения Creatio с отказоустойчивостью.
Компоненты инфраструктуры основного приложения с использованием горизонтального масштабирования:
- Балансировщики нагрузки. Балансировщик нагрузки может быть аппаратным или программным. Для работы в отказоустойчивом режиме используется балансировщик HTTP/HTTPS-трафика с поддержкой протокола WebSocket. Описание установки и настройки балансировщика HAProxy содержится в статье Настроить горизонтальное масштабирование.
- Веб-ферма (несколько серверов приложений).
- Сервер кэширования с использованием механизма Redis Cluster (несколько серверов кэширования Redis).
- Сервер баз данных или кластер баз данных (несколько серверов баз данных).
- Сервер системы контроля версий (опциональный компонент).
Общая схема архитектуры основного приложения Creatio с использованием горизонтального масштабирования представлена на рисунке ниже.
Варианты развертывания приложения
Существуют следующие варианты развертывания приложения Creatio:
- On-site (развертывание приложения Creatio на локальных серверах клиента).
- Cloud (развертывание приложения Creatio в облаке).
Развертывание on-site
При развертывании приложения Creatio on-site все затраты, связанные с организацией серверной части (установка, настройка, сопровождение, администрирование), возлагаются на клиента.
Преимущества развертывания on-site:
- Высокая скорость и удобство разработки.
- Независимость сред разработки. Поскольку разработка ведется в отдельном приложении, исключено негативное влияние на других пользователей.
- Использование системы контроля версий для сохранения и переноса изменений.
- Возможность использовать IDE и настраивать процессы непрерывной интеграции.
Ограничения развертывания on-site:
- Необходимо обеспечить физическое наличие серверов для развертывания компонентов приложения.
- Требуется постоянное обновление, отладка, администрирование инфраструктуры.
При развертывании приложения on-site необходимо, чтобы серверы, на которых разворачиваются компоненты системы, а также клиентские компьютеры, на которых запускается система, отвечали определенным техническим требованиям. Для расчета параметров серверов, необходимых для развертывания приложения и контейнерных компонентов, воспользуйтесь калькулятором системных требований.
Описание этапов по развертыванию и настройке Creatio on-site на операционных системах Windows или Linux содержится в документации Развертывание on-site.
Развертывание cloud
При развертывании cloud приложение устанавливается на мощностях облачных дата-центров (Amazon, Azure), которые находятся под управлением компании Terrasoft. То есть физически вся серверная часть архитектуры и данные находятся в дата-центрах. Все вопросы, связанные с администрированием, быстродействием, масштабированием решаются силами сотрудников компании Terrasoft, а клиент использует только клиентскую часть приложения.
Преимущества развертывания cloud:
- Своевременное обновление.
- Максимально возможное быстродействие.
- Соответствие промышленным стандартам по доступности и защищенности данных.
Ограничения развертывания cloud:
- Наличие набора требований для развернутого cloud приложения Creatio.
- Невозможность использования сторонних IDE и СУБД.
Чтобы развернуть приложение Creatio cloud, попробуйте Тест-драйв на нашем официальном сайте. На протяжении 14-дневного пробного периода можно ознакомиться с основными возможностями приложения. По завершению пробного периода используемая демоверсия приложения может быть перенесена на основную площадку Terrasoft.