Технические возможности

Архитектура и особенности системы

  • WEB-приложение
  • Позволяет использовать его на любом устройстве и упрощает внедрение и сопровождение системы.

  • Поддержка нескольких баз данных
  • Система может использовать в  виде хранилища данных
    — Oracle
    — MSSQL
    — PostgreSQL
    — MySQL.
    База данных используется только в виде хранилища без процедурной логики, есть возможность миграции данных между типами баз данных. Вы можете выбрать PostgreSQL для старта и поменять его на Oracle в случае необходимости.

  • Язык программирования и framework
  • Python является языком программирования общего назначения и подходит для широкого списка задач. Занимает лидирующие позиции для обработки неструктурированных данных (т.н. BigData). Микро framework-а Flask позволяет реализовать наиболее гибкую архитектуру, не накладывая ограничений на реализацию системы.

  • Стили оформления
  • Используется оформление Inspinia, основанное на CSS-framework Twitter Bootstrap. Позволяет разрабатывать интерфейсы, автоматически подстраивающиеся под размеры экрана браузера. Содержит в себе большую коллекцию модулей, оформленных в едином стиле.

  • Базовые требования
  • Для работы достаточно виртуальной машины: 10Гб HDD; 1 CPU; 1Гб ОЗУ. Не требует сопутствующих лицензионных продуктов (операционная система, СУБД и так далее).

  • Разделение на ядро и конфигурацию
  • Упрощает работу настройщика и снижает риски при разработке. Всегда можно добавить внешние библиотеки и отдельные разделы самостоятельно на уровне конфигурации без вмешательства в ядро.

  • Синхронизация СУБД с кодом
  • Структура базы данных формируется ядром системы автоматически. Нет необходимости актуализировать структуру СУБД (таблицы, колонки) вручную.

  • Быстрое переключение версий
  • За счет того, что все настройки системы находятся в файлах под управлением репозитория, всегда можно вернуться на любую версию конфигурации при необходимости

  • Легкость выкладывания изменений
  • Вся логика системы (скрипты, точная настройка 100% согласованной с конфигурацией) обновляется на рабочую версию синхронно, потому что все это идет в составе единой ревизии системы контроля версий.
    После обновления мы можем гарантировать, что ровно то, что было на тесте, будет и на рабочей версии.
    Нет необходимости переносить данные между таблицами тестовой и рабочей версии, нет необходимости держать единые таблицы-справочники для рабочей и тестовой системы.
    Перенос сводится к обновлении ревизии в директорию рабочего сервера, применению миграций базы данных.

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

  • Пул подключений к базе данных
  • Система может работать через пул подключений к базе данных и дополнительно имеет внутренний пул подключений.
    Снижает нагрузку на процессы СУБД (особенно значимо для Oracle listener) при частом установлении и разрыве подключений.

  • Менеджеры фоновых операций
  • Часть операций, которые требуют долгой работы (сетевое ожидание при интеграции, отправка писем, обработка загруженных файлов), можно выполнять в фоновом режиме, не задерживая работу операторов и распределять нагрузку на систему по времени, сглаживая пиковые нагрузки за счет размещения задач в очереди и выполнение их, когда есть свободные ресурсы сервера.