+7 (495) 003-75-19

info@ssphera.ru

Москва (г. Зеленоград),
Георгиевский проспект, 4

Нижний Новгород,
ул. Славянская, 19, оф.406

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) при частом установлении и разрыве подключений.

Менеджеры фоновых операций

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

Базовые возможности

На виртуальной машине с 4 CPU и 8Гб оперативной памяти производительность составляет около 200 карточек документов в секунду.

Если этого недостаточно, можно увеличить за счет

  • вертикального:
    установка на более мощный сервер.
  • горизонтального:
    добавляем недорогие серверы и объединяем их в кластер.

На наш взгляд, горизональное масштабирование более предпочтительно, так как добавляет отказоустойчивости системы в целом (перераспределение нагрузки) и намного более экономично.

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

На «легкой» виртуальной машине устанавливается кэширующий прокси-сервер nginx, который отдает статические файлы (стили и JavaScript) и файлы, загруженные пользователем, самостоятельно.

Динамический контент (html-код и ajax-запросы) он переадресует серверам приложений, равномерно распределяя нагрузку.

Кэширующим сервером является memcached, обеспечивающий единый кэш для всех серверов uWSGI и их серверных процессов.

Серверы базы данных

СУБД является частью системы, наиболее сложной для масштабирования.

  • Синхронный master — slave

    Чтение делается в slave-сервера, а запись — в master.

    Настраивается репликация данных в синхронном режиме (долгая запись, быстрое чтение).

  • Асинхронный master — slave
    Часть системы, отвечающая за оперативную обработку транзакций, работает только с master-сервером, а отчетность и не критичные к запаздыванию данных части читают с slave, а пишут в master-сервер.

WEB-система / Браузер

Не требуется установка какого-либо дополнительного ПО, библиотек или зависимостей на компьютеры пользователей.

Не требуется каких-либо мероприятий для установки обновлений. Система работает одинаково у всех пользователей.

Можно пользоваться системой на разных операционных системах, как платных, так бесплатных.

Адаптивная верстка

Система доступна на любом мобильном устройстве. На встрече или в командировке Ваши данные и отчеты всегда «под рукой», их не нужно отдельно выписывать и подготавливать к встречам.

Адаптивная верстка позволяет получить комфортный доступ на любом устройстве — от компьютера до смартфона.

Защищенный доступ

По шифрованному каналу https (возможно использование двусторонних ключей со стороны клиента и сервера). С системой можно работать только через браузер или WEB-сервисы. Нет прямого доступа к базе данных, который можно прослушать, и возможности декомпиляции приложения

Быстрое изменение

Python — интерпретируемый язык, и вносить изменения можно моментально, без компиляции приложения. Все настройки конфигурации система хранит в виде файлов XML, которые можно обрабатывать автоматически. Вы можете развернуть систему в режиме бета-версии, когда система с новыми настройками конфигурации подключена к production базе данных вместе с stable-релизом. Это позволит выделить несколько операторов для работы в режиме проверки конфигурации и подхода (в случае, если что-то пошло не так, операторы могут перейти на stable версию и продолжить работу с теми же документами, но в конфигурации предыдущего релиза).

Быстрый результат

Мы можем выкладывать изменения с тестовой площадки после Вашей проверки на рабочую версию каждые сутки за счет того, что все, что требуется системе, есть в конфигурации. Достаточно объединить тестовую ветку репозитория и выложить ее в production. Никаких дополнительных операций не требуется.

Можно самим

Есть пошаговое руководство по созданию конфигураций, которое описывает:

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

Гибкий интерфейс

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

Машинное обучение

Язык Python широко используется для целей машинного обучения и является одним из лидеров в этой области. Использование модуля scikit-learn

Backend для мобильных приложений

Система может играть роль backend-сервера для мобильных приложений на различных платформах

Интеграция

Клиенты:

  • SOAP
  • REST
  • WEB-service POST/GET
  • Базы данных (Oracle, MSSQL, MySQL, PostgreSQL, SQLite, MongoDB)
  • Файловые обменные ресурсы (забирать создавать XML / CSV / JSON файлы в директории обмена)
  • Почтовые серверы (получать сообщения, отправленные другим сервисом в почту, и генерировать ответные сообщения тоже в почту)

Cерверы:

  • SOAP
  • REST
  • Почтовые серверы
  • WEB-service POST/GET
  • Базы данных

Сигналы (аналог триггеров в базе данных)

Различные действия в системе выпускают так называемые «сигналы», на которые можно подписаться и отреагировать каким-либо действием, например:

  • при получении письма от VIP-клиента системой скачивания сообщений
  • при загрузке файла определенного типа
  • при отправке документа с этапа «Ожидание»
  • при поступлении дела на этап «Архив»
  • при изменении даты страхового события или суммы
  • заполнить какое-то поле
  • cоздать скрытую задачу на проверку дела сотрудником СБ
  • отправить уведомление по почте или SMS сотруднику
  • уведомить клиента или партнера СТОА о назначении даты ремонта (где и когда)

Система сбора и обработки логов

Предназначена для сбора различных событий с множестра разнородных систем и сервисов, их объединения, обработки, хранения, поиска

  • Возможность приема сообщений от внешних сервисов (REST-интерфейс)
  • Возможность объединения сообщений в группы по месту возникновения и шаблонам
  • Возможность уведомления о ключевых событиях по SMS и электронной почте
  • Антиспам. Если одно и то же критическое событие произойдет у 100 пользователей, Вы получите 1 сообщение на почту / SMS

Работа с электронной почтой

  • Отправка сообщений через GUI с авто-генерацией текстов по шаблону
  • Отправка сообщений в автоматическом режиме, как реакции на сигналы, так и по расписанию
  • Загрузка сообщений через IMAP с обработкой
  • Разбор и автоматическая обработка темы, текста, вложений по шаблонам
  • Создание по письмам-заданиям
  • Взаимодействие с контрагентами в автоматическом режиме
  • Визуализация почтовой переписки в виде чата в карточке дела

Отправка SMS с визуальным редактором

Позволяет формировать SMS по шаблонам с возможностью редактирования операторами или автоматически, а также контролировать статус доставки.

Запись всех действий оператора

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

Система асинхронных операций

Различные операции можно вынести в отдельные потоки и выполнять на отдельных процессах или даже на отдельных серверах. Можно получать результат выполнения этих задач назад в поток, из которого была поставлена задача и отслеживать статус выполнения задач. Можно перезапускать задачи, если сейчас нет сетевого соединения. Задача будет выполнена тогда, когда соединение восстановится.

  • Отправка email и SMS
  • Обновление модели машинного обучения
  • Запись логов
  • Отправка накопившихся изменений в интеграционный сервис
  • Периодическая отправка сообщений о просроченных делах

Настройка конфигурации

Все основные настройки системы выполняются через редактирование конфигурационных файлов

  • Параметры документов (поля)
  • Этапы процесса
  • Роли доступа
  • Правила доступа видимость / редактирование
  • Правила перемещения документов по процессу
  • Системные справочники, на которых строится логика проверок предоставления доступа и прочее.

Ограничение доступа к документам

на основе произвольных параметров

  • Роли доступа операторов
  • Разные типы документов
  • Отвечает оператор за документ или нет
  • Отвечает ли за документ коллега, который находится в одном отделе / филиале с оператором
  • Есть ли файл «Оплаченный счет»
  • Есть ли выполненная задача «Оплата»

Различные типы полей

  • Числовые (целое число, нецелое число, денежный тип повышенной точности)
  • Списочные (список, множественный список, авто-заполнение)
  • Даты (дата, дата с временем)
  • Текстовые (однострочный текст, многострочный текст). Внутри таблицы также, могут быть вложенные таблицы.
  • Составные (таблица)
  • Поля-формулы (значения в этих полях рассчитывается «на лету» на основе других полей или внешних систем через интеграцию)

Подсказки оператору

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

Система задач для моделирования подпроцессов

  • Факт отработки / ожидания / отмены задачи можно использовать для моделирования процессов
  • Доступ к созданию и редактированию задач настраивается индивидуально
  • Возможные статусы задач настраиваются для каждого типа задачи
  • У задач есть своя настройка этапов и движение по процессу

Файловый архив

  • Загрузка перетаскиванием на категорию файла
  • Подключения станций сканирования
  • Доступ к файлам настраивается для каждого пользователя
  • ЭЦП файлов через USB-токен
  • Групповые операции со списком файлов (скачивание в zip, типизация, удаление)

Система комментирования документов

С поддержкой веток переписки (кто на какой вопрос отвечал)

Встроенная система отчетности

более подробно о этом рассказано в разделе «Система отчетности»

Excel

Отображение в табличном или графическом виде, скачивание в Excel

Многоуровневая детализация

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

напишите нам

Письмо отправлено

Мы свяжемся с вами в ближайшее время!

Хорошо