Siblion
Siblion
SYNPLITY
PLATFORM
Платформа для быстрого запуска любых бизнес процессов
Высокопроизводительный движок с набором готовых инструментов, доступный каждому Java-разработчику
О проекте
Цифровая трансформация бизнеса требует комплексного подхода, в котором акцент смещается в пользу легких высокопроизводительных решений с открытым исходным кодом и потенциалом многолетнего развития собственной командой
ЗАЧЕМ SYNPLITY PLATFORM?
Общая гибкая модель и образ процесса как для согласования с бизнесом, так и для постановки задач разработчикам
Аналитикам
Знакомые паттерны и технологии, пространство для развития и расширения, понятные возможности для обеспечения нужного уровня отказоустойчивости
Архитектору
Самые распространённые общие библиотеки и инструменты, а также внутренние библиотеки и инструменты, упрощающие шаблонные операции тестирования, сборки, создания новых микросервисов, адаптированных под систему
Разработчикам
С исполнителями удобнее оперировать простыми понятиями, чтобы раньше видеть полноценные реализации, быстро получать исправления и не слышать традиционных отказов разработчиков, что это долго и сложно
Бизнесу
НАШИ ПРЕИМУЩЕСТВА
Минимальный набор ограничений
Максимально общая модель, которую все понимают. Если же в неё не укладываться, то возрастает шанс выстрелить себе в ногу. На техническом уровне — пользуйтесь готовыми библиотеками и инструментами, которые адаптируют ваш функционал для запросов из ядра, или делайте по-своему — только соблюдайте простой контракт межмодульного общения, придерживайтесь REST и используйте авторизационные токены
1
Переиспользуемость
Как и внутри себя — методы адаптеров можно вызывать по разным сценариям, общую логику скриптов легко копировать или выносить в общие места, так и снаружи — любое синхронное и асинхронное API существующей внешней системы легко адаптировать при помощи готовых шаблонов
2
Готовая инфраструктура
Логирование, модуль статистики, балансировка нагрузки. Эти инструменты легко тюнить под свои нужды, или можно перенастроить конфигурации Synplity platform на использование своих подобных инструментов
3
Тестируемость
Доступны любые средства тестирования кода и внешнего API, нет необходимости имитировать части движков системы для интеграционного теста. Готовая библиотека для unit-тестов скриптов с бизнес логикой, инструмент для обновления модели сценария и скриптов, а все основные изменения можно проводить без перезагрузок и легко откатывать. Можно выводить на прод изменения, которые не будут доступны пользователям сразу, но будут доступны для тестирования в режиме реальной работы
4
Автоматизация бизнес-процессов любой сложности и для любой отрасли
Готовая архитектура и сервисы, для поддержки которых не требуются узкоспециализированные дорогие специалисты
Специально подобранный стек технологий обеспечивает высокую производительность и быстрый запуск новых процессов вне зависимости от их количества
Любые бизнес-процессы
Снижение издержек
Современные технологии
ПОЧЕМУ SYNPLITY PLATFORM?
Наша платформа позволяет быстрее других решать поставленные бизнесом задачи и обеспечивает многолетний потенциал развития
Обучение вашей команды и возможность в дальнейшем оперативно переключаться между собственными ресурсами и ресурсами разработчика
Synplity platform постоянно дорабатывается и улучшается командой из десятков разработчиков
Отсутствие влияния стоимости валюты, санкций и других возможных ограничений для работы на российском рынке на лицензионную политику и стоимость поддержки
Поддержка разработчиков
Непрерывное развитие
Российское ПО
ИНТЕРФЕЙСНЫЕ ВОЗМОЖНОСТИ
Гибкий подход к разработке интерфейсов. Платформа содержит собственную компонентную базу и руководство по стилю для популярных фреймворков, но при этом не ограничивает возможности заказчика по использованию корпоративного стиля или привычных инструментов
Частые вопросы о платформе
Как происходит управление бизнес-правилами процессов на платформе?
Правила можно получать извне, работая со скриптами. Например, у клиента есть некий сервис, принимающий на вход данные пользователя, работающего с системой (или клиента которого он обслуживает), а на выходе предоставляющий информацию о доступных операциях. В скриптах можно обратиться к этому сервису на нужном этапе и на основе этого строить логику перехода в другой этап, или корректировать состав данных отображаемых на текущем этапе, или не пускать в процесс/этап. Под конец, если видна возможность переиспользовать любую логику в скриптах, можно вынести в отдельный скрипт-утилиту те же правила, например, и вызывать их в скриптах коротко. Кроме этого, есть возможность указать пользователю системы тэги/группы, которые позволяют ограничивать доступ к этапам процесса, вызов определенных правил, доступ к API в целом.
Каким образом осуществляется пайплайн разработка-тестирование-деплой функционала
В части пайплайна для скриптов есть вспомогательные инструменты — библиотека для разработки скриптов и написания unit-тестов на них. Запуск unit-тестов проекта можно настроить в CI инструменте, который вы используете.

Для деплоя написан maven-plugin, у которого есть две функции: первая — провалидировать структуру проекта (расположение скриптов) и описание модели процесса и графа; вторая — собрать всю структуру воедино и обновить на указанном стенде. Меняя настройки плагина и запуская его в том же CI, можно выкатывать изменения процессов на тестовую или продуктовую среду.

В части пайплайна для модулей всё стандартно — собрать docker-образ в CI, обновить стэк.
Как осуществляется аудит бизнес-процессов?
Тут два варианта. Первый — реализовать аудит по-своему, создав модуль и БД к нему с нужной структурой записей, а потом складывать туда записи вызывая этот модуль из скриптов через Rest или Kafka. Второй — использовать нашу реализацию подобного модуля, которая также позволяет складывать сообщения аудита из скриптов. Ещё есть подключаемая spring-boot библиотека, оборачивающая API ваших модулей аспектами, которые будут срабатывать по настроенному шаблону, когда эти методы вызывают, отправляя события аудита в модуль.
Как реализовано версионирование бизнес-процессов?
Версионировать скрипты и модель процесса логичнее всего будет с помощью GIT, т.к. там удобнее вести их разработку. А интерфейс — статическая часть, зависящая только от данных экземпляра процесса (эти данные описываются контрактом, который и бэкенд, и фронтенд соблюдают для взаимопонимания и исключения ошибок), то разные варианты одного и того же процесса необходимо разнести по разным идентификаторам и добавить дополнительный вызов на клиенте или в скриптах (если процесс создаётся по логике внешнего процесса) для выбора запускаемого варианта процесса.
Как устроено логирование?
Логирование реализовано с slf4j & logback, логи обслуживаются на ELK кластере. Состав индексов с примерами значений такой: имя модуля («sp-core»), имя логгера («sp.commons.request.Filter»), дата, название потока («asyncExecutor»), уровень логирования («INFO»), основной идентификатор трассировки («asddsj32r87gtksdf094»), дочерний идентификатор трассировки — если основной поток породил несколько подпотоков («asddsj32r87gtksdf093»), и само сообщение + стектрейс. По идентификаторам трассировки можно проследить все действия, вызванные внешним вызовом в разных микросервисах. Можно писать свои поисковые запросы в синтаксисе Lucene. Есть таблицы с описанием всех логгеров и примерами их сообщений в системных модулях.
Какие преимущества Synplity platform дает в разработке фронта?
Если рассматривать разработку фронта с нуля на популярных фреймворках, например, Angular, то нужно брать за основу опенсорсные наработки, прорабатывать архитектуру сервиса, подбирать компонентную базу и/или писать свою, прорабатывать контракт взаимодействия с Backend. В случае использования Synplity platform вы получаете компонентную базу с возможностью использовать свою/другие, руководство по стилю (интегрировать свое/другое), проработанную и задокументированную архитектуру и контракт взаимодействия с Backend. Это значительно повышает скорость и качество реализации проекта.
Руководитель центра развития Synplity Platform
Руководитель департамента аналитики
Технический руководитель центра развития Synplity Platform
Александр Савёлов
Антон Зенюков
Николай Ермолаев
КОМАНДА ПРОЕКТА
Наша команда работает каждый день, чтобы предоставить лучшие решения и сделать наших клиентов счастливыми
Юрий Локтионов
Архитектор
Свяжитесь с нами, и мы ответим на все Ваши вопросы