Основное приложение Creatio

Основы

Классическая трехуровневая архитектура Creatio реализована с использованием современных технологий и инфраструктурных решений, которые придают приложению кросс-платформенность, гибкость и масштабируемость.

Возможные схемы развертывания приложения Creatio:

  • Без обеспечения отказоустойчивости. Базовый вариант инфраструктуры без использования балансировщиков нагрузки.
  • С обеспечением отказоустойчивости. Вариант инфраструктуры с горизонтальным масштабированием. Обеспечение отказоустойчивости реализуется за счет использования балансировщиков нагрузки серверов приложений, баз данных и кэширования.

Логические уровни приложения 

Приложение Creatio имеет классическую трехуровневую архитектуру со следующими слоями: данные, приложение, представление.

scr_CreatioLevels.png

Уровень представления 

Уровень представления предоставляет пользователю доступ к интерфейсу приложения через веб-браузер либо мобильное приложение для 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 без отказоустойчивости представлена на рисунке ниже.

На заметку. Архитектура основного приложения Creatio с отказоустойчивостью предполагает использование балансировщиков нагрузки, дополнительных серверов приложений, кэширования Redis и баз данных. Подробнее читайте в пункте Горизонтальное масштабирование.

Сервер приложений 

Сервер приложений соответствует логическому уровню приложения и выполняет основную вычислительную работу системы.

Приложение доступно на платформах .NET Framework и .NET Core.

Варианты установки продуктов Creatio
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 состоит из двух компонентов:

  1. Загрузчик (WebAppLoader) — приложение, реализующее выполнение служебных функций системы, и дальнейшее перенаправление пользователей в конфигурационную часть основного приложения Creatio.

    Загрузчик отвечает за выполнение следующих действий:

    • Авторизацию пользователей.
    • Проверку лицензий и аутентификацию пользователей.
    • Запуск планировщика, который отвечает за выполнение фоновых задач по расписанию.

    На уровне файловой системы загрузчик размещен в корневой папке приложения.

    После обработки в загрузчике запроса на авторизацию пользователи могут работать в конфигурационной части.

  2. Конфигурационная часть (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
Creatio products
MS SQL
Oracle
PostgreSQL
PostgreSQL
(.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 с использованием горизонтального масштабирования представлена на рисунке ниже.

scr_WebFarmArchitecture.png

Варианты развертывания приложения 

Существуют следующие варианты развертывания приложения 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.