Аннотация
Расскажу о накопленном за почти 10 лет работы опыте, связанном с цифровизацией нашей страны, о проблемах с которыми сталкивались и что сделали чтобы их решить, как все это привело к рождению еще одного платформенного решения и немного о нем.
Я работаю над цифровизацией нашего государства уже на протяжении 8 лет. В далеком 2011 начинал простым аналитиком, тогда мы занимались переводом услуг в электронный вид для сайта госуслуг и разработка бэкэндовой части для них в ведомствах на различных системах.
Мне довелось работать в разных регионах нашей страны и видел множество платформ. Какие то проблемы были услышаны от коллег с других компаний но той же сферы, где то от компаний с которыми мы интегрировались, что то было получено из опыта заказчика по взаимодействию с другими подрядчиками.
Проблематика увиденная при работе со старыми системами
- В первых системах все формы и сущности описывались от начала и до конца кодом, в перспективе появлялись конструкторы форм, но все равно полного цикла не было
- большой релизный цикл, около месяца.
- привязка к деплою
- аналитик часто только пишет ТЗ, далее все делает разработчик
- шаблоны как часть системы — когда его создание это сложный процесс и шаблон становится частью системы в редких случаях частью кода
- разрозненные системы — для работы приходилось использовать несколько приложений: визуализатор бизнес процессов, IDE с плагинами, текстовые редакторы, шаблонизаторы и интерфейсы самих систем. Разрозненность создавала сложности с отладкой и поиском источников ошибок
- проблемы связанные с установкой CryptoPro, которые возникали не только у конечных пользователей но и у разработчиков
- интеграции между системами занимали от месяца до полугода
- некоторые системы не работали с данными как таковыми, входная информация как то обрабатывалась, проходила по бизнес процессу и выдавала результат. При этом никаких данных для дальнейшей обработки не оставалось. Даже примитивно найти все заявления пользователя например было нельзя
- были проблемы с оформлением визуальных компонентов разными людьми, так как много UI форм делалось людьми вручную, каждый при оформлении мог внести свой стиль, что в итоге обязательно замечалось и приходилось договариваться и приводить все к одному стилю
Самый ужасный опыт был опыт поддержки системы доставшейся нам в наследство от развалившейся компании, продукт был написан на базе Liferay, ничего против самого Liferay не имею но это не тот продукт на базе которого стоит писать подобные системы, ну и само исполнение вызывало вопросы. От самого Lifarey использовалось не больше 10% остальное было написано рядом, получалось монструозно и криво, коллеги изучая это решение называли его франкинштейном. В перспективе оно было благополучно заменено.
Как мы решили это исправить
Примерно в 2014-2015 году наша команда задумалась создать собственную платформу для оцифровки ведомств. Примерно в 2016 я присоединился к команде разработки. Основной целью создания платформы было позволить делать разработку не привлекая разработчиков, только силами аналитиков. Это должно было сократить время, так как исключаются лишних людей из процесса, а так же и стоимость работ, так как программисты очень дорого стоят. А в идеале заказчик самостоятельно смог оцифровывать свои процессы или вносить небольшие изменения.
Конечно же мы учли негативный опыт прошлых лет создавая новый продукт. Мы создали платформу, которая позволяла с помощью встроенных визуальных редакторов создавать и изменять при необходимости бизнес сущности, конструировать так же в визуальных редакторах пользовательские интерфейсы и формы ввода данных, а также имеет собственный движок и редактор BPM, подсистему отчетности и генерацию шаблонов, полнотекстовый поиск, сервис ФИАС адресов, сервис работы с электронными подписями, сервис файлохранилища.
Первично система разрабатывалась чтобы упростить и где то автоматизировать деятельность специалистов занимающийся переводом услуг в электронный вид, но со временем мы поняли что функционал платформы позволяет создавать очень мощные решения начиная от CRM, ERP, ECM до узко специализированных систем.
На базе платформы партнерами была написана система “Безопасный город” для республики Бурятия, а теперь развивается и тиражируется в другие регионы.
“Безопасный город” в скриншотах![](https://habrastorage.org/r/w1560/webt/jz/ty/5e/jzty5ek92dehxht78fal7wpugbg.png)
![](https://habrastorage.org/r/w1560/webt/2e/nl/dv/2enldvo1cfm4po14fztukwlarqe.png)
![](https://habrastorage.org/r/w1560/webt/2f/_2/wr/2f_2wrrf4of6m9aqkp4fjv14smu.png)
![](https://habrastorage.org/r/w1560/webt/in/92/15/in92155u8uylibaujbw-n6evna8.png)
![](https://habrastorage.org/r/w1560/webt/cc/_g/mk/cc_gmk6hezxa08emmrtrztn_gae.png)
![](https://habrastorage.org/r/w1560/webt/i9/sz/7d/i9sz7ddg1dopecy6djtx5mrd3qq.png)
![](https://habrastorage.org/r/w1560/webt/sb/iz/x1/sbizx15e8jb6gmfcfphrh6pxjmu.png)
![](https://habrastorage.org/r/w1560/webt/vj/mz/f-/vjmzf-zt7b3dh5aaxio48vcmp60.png)
![](https://habrastorage.org/r/w1560/webt/xq/hb/0v/xqhb0vvvipwiv80qctz7oro0pqo.png)
![](https://habrastorage.org/r/w780q1/webt/po/xc/om/poxcomrtjyku_pyhpfgeounr3gy.jpeg)
![](https://habrastorage.org/webt/jz/ty/5e/jzty5ek92dehxht78fal7wpugbg.png)
![](https://habrastorage.org/webt/2e/nl/dv/2enldvo1cfm4po14fztukwlarqe.png)
![](https://habrastorage.org/webt/2f/_2/wr/2f_2wrrf4of6m9aqkp4fjv14smu.png)
![](https://habrastorage.org/webt/in/92/15/in92155u8uylibaujbw-n6evna8.png)
![](https://habrastorage.org/webt/cc/_g/mk/cc_gmk6hezxa08emmrtrztn_gae.png)
![](https://habrastorage.org/webt/i9/sz/7d/i9sz7ddg1dopecy6djtx5mrd3qq.png)
![](https://habrastorage.org/webt/sb/iz/x1/sbizx15e8jb6gmfcfphrh6pxjmu.png)
![](https://habrastorage.org/webt/vj/mz/f-/vjmzf-zt7b3dh5aaxio48vcmp60.png)
![](https://habrastorage.org/webt/xq/hb/0v/xqhb0vvvipwiv80qctz7oro0pqo.png)
![](https://habrastorage.org/webt/po/xc/om/poxcomrtjyku_pyhpfgeounr3gy.jpeg)
Перевод услуги выдачи транспортной карты в Тюмени позволил сократить время оказания услуги с 10 дней до 6 секунд.
В итоге помимо решения рабочих задач, ради которых разрабатывалась система, которые были внедрены более чем в 30 регионах страны, мы реализовали 3 коммерческих проекта, а так же реализуем внутреннюю автоматизацию деятельности компании на платформе.
Немного про платформу и как все это выглядит.
Используемые технологии и продукты под капотом вкратце: Angular, Java, Wildlfy, OrientDB, Solr, Hazelcast.
Краткий список основных возможностей платформы:
Вся работа с платформой через браузер. Нет ни каких IDE и студий.
UML — проектирование метамоделей бизнес сущностей визуально, настройка связей между ними. Все это наглядно. Общая схема данных позволяет выстраивать структуры данных которые могут использоваться новыми системами, например описанная сущность человека или организации используется и увязывается в новых разработках(применили принципы ООП), так же как и данные — это дает возможность исключить дублирование от системы к системе.
![](https://habrastorage.org/r/w1560/webt/pw/fc/px/pwfcpxeej1s7gz5uiponxsrui28.png)
![](https://habrastorage.org/r/w1560/webt/bq/v5/3j/bqv53jjugdlh1n9u5ee2yhq1wwc.png)
теперь формы единообразны, структурированы и типизированы. Максимум работы автоматизировано, есть возможно генерации формы по объектам. Время работы аналитика на рутинные операции сократилось почти в 10 раз, остается больше времени которое можно уделить бизнес логике. Платформа не позволяет делать ошибок при редактировании.
![](https://habrastorage.org/r/w1560/webt/l_/b0/a2/l_b0a2grbfosb-rlsn_-4xoi96s.png)
![](https://habrastorage.org/r/w1560/webt/rr/g8/g8/rrg8g8txg__sv3-9vffjnqohg2e.png)
стандартные и специфические, например, универсальный фильтр данных, поля выбора связанных сущностей с разнообразными возможностями, связанные таблицы, фасеты.
![](https://habrastorage.org/r/w1560/webt/e9/0_/xd/e90_xd7uhzrtqqlnycra0jitnqc.png)
![](https://habrastorage.org/r/w1560/webt/bc/mj/wt/bcmjwtac6k0qy98lngo3qwtd2ga.png)
![](https://habrastorage.org/r/w1560/webt/e8/rp/z4/e8rpz4zcrxrw8thtqazygaksmrq.png)
Шаблоны — Конечные пользователи могут самостоятельно редактировать шаблоны и добавлять новые.
Журналирование действий пользователей и история изменений данных. Мягкое удаление записей в БД.
Управление правами доступа на уровне операций с сущностями, их атрибутов и отдельных экземпляров, экранов и компонентов UI.
Полнотекстовый поиск, хотя наверно этим многих не удивишь, но до сих пор встречаются системы где такого нет, а в нашем случае он динамический как и вся система.
Открытые API для интеграции с внешними системами.
Редактор моделей UML
UML — проектирование метамоделей бизнес сущностей визуально, настройка связей между ними. Все это наглядно. Общая схема данных позволяет выстраивать структуры данных которые могут использоваться новыми системами, например описанная сущность человека или организации используется и увязывается в новых разработках(применили принципы ООП), так же как и данные — это дает возможность исключить дублирование от системы к системе.
![](https://habrastorage.org/webt/pw/fc/px/pwfcpxeej1s7gz5uiponxsrui28.png)
Встроенный визуальный редактор интерфейсов
![](https://habrastorage.org/webt/bq/v5/3j/bqv53jjugdlh1n9u5ee2yhq1wwc.png)
Встроенный визуальный редактор форм:
теперь формы единообразны, структурированы и типизированы. Максимум работы автоматизировано, есть возможно генерации формы по объектам. Время работы аналитика на рутинные операции сократилось почти в 10 раз, остается больше времени которое можно уделить бизнес логике. Платформа не позволяет делать ошибок при редактировании.
![](https://habrastorage.org/webt/l_/b0/a2/l_b0a2grbfosb-rlsn_-4xoi96s.png)
Встроенный визуальный редактор бизнес процессов
![](https://habrastorage.org/webt/rr/g8/g8/rrg8g8txg__sv3-9vffjnqohg2e.png)
Библиотека визуальных компонентов
стандартные и специфические, например, универсальный фильтр данных, поля выбора связанных сущностей с разнообразными возможностями, связанные таблицы, фасеты.
Интерактивные карты
![](https://habrastorage.org/webt/e9/0_/xd/e90_xd7uhzrtqqlnycra0jitnqc.png)
![](https://habrastorage.org/webt/bc/mj/wt/bcmjwtac6k0qy98lngo3qwtd2ga.png)
JS диаграммы
![](https://habrastorage.org/webt/e8/rp/z4/e8rpz4zcrxrw8thtqazygaksmrq.png)
Шаблоны — Конечные пользователи могут самостоятельно редактировать шаблоны и добавлять новые.
Журналирование действий пользователей и история изменений данных. Мягкое удаление записей в БД.
Управление правами доступа на уровне операций с сущностями, их атрибутов и отдельных экземпляров, экранов и компонентов UI.
Полнотекстовый поиск, хотя наверно этим многих не удивишь, но до сих пор встречаются системы где такого нет, а в нашем случае он динамический как и вся система.
Открытые API для интеграции с внешними системами.
В любом случае мы решили не ограничивать наших пользователей только встроенными компонентами и дали возможность опытным пользователям использовать JS для расширения функционала в создаваемых пользовательских интерфейсах или бизнес процессах.
Данный подход позволяет нам создавать пользовательские приложения на лету без деплоев и перезагрузок. Что в свою очередь позволяет сокращать время доставки ценности до заказчика(Time To Market). Наш опыт показывает что время и стоимости создания системы с кастомизацией под заказчика сокращаются минимум в два раза.
Например на данном видео (Тут ускоренное видео 10 минуты — youtu.be/Yvvxn_qbook) с нуля за 30 минут создается пример трекинговой система которая может внедряться в компании выполняющие выездные работы.
Планы на будущее
В данный момент мы работает над редизайном клиента, так что ближе к осени порадуем наших пользователей новым более удобным и красивым UI.
Очень интересно наблюдать как на платформе развиваются системы, иногда даже не ожидаешь что такое возможно было сделать. Аналитики постоянно удивляют тем какие новые системы у них получаются. Платформа отлично подходит для учетных систем, как бэкенд для различных сервисов, ERP, CRM, ECM и подобных систем а также для прототипирования решений.
Возможно подобных платформ уже достаточно много и у каждой есть свои плюсы и минусы, сравнивать и оценивать их между собой я тут не буду. Я понимаю что со временем их будет становиться все больше и их доступность будет все свободнее, тут можно провести аналогию с конструкторами сайтов (конструкторы-сайтов.рф) которых сейчас уже десятки и между ними происходит реальная рыночная конкуренция, что положительно сказывается на качестве и потребителях.
Я очень рад что работаю в этой компании и я очень горжусь тем что мы делаем. Мне очень приятно слышать восхищения и приятные отзывы от тех кто знакомится с нашей платформой. Хотелось бы чтобы о платформе узнало больше людей и применили ее для пользы дела. Надеюсь на обратную связь от читателей — мы всегда открыты к конструктивной критике и предложениям.
Если статья зайдет в сообществе, то я планирую написать серию статей о том как и какие проблемы мы решали пока развивали нашу платформу и продукты на ней, вопросы кластеризации, сопровождения и комплексного мониторинга. о нашем опыте использования DevOps и как это применимо в госсекторе, как мы перешли на использование Docker и более детально какие технологии под капотом у платформы и ее сервисов.