My experience of state digitalization or the history of the birth of the Digit platform

annotation


I’ll tell you about the experience accumulated over almost 10 years of work related to the digitalization of our country, about the problems that were encountered and what they did to solve them, how all this led to the birth of another platform solution and a little about it.

I have been working on the digitalization of our state for the past 8 years. Back in 2011, I started as a simple analyst, then we were engaged in the translation of services into electronic form for the public services website and the development of the backend part for them in departments on various systems.

I happened to work in different regions of our country and saw a lot of platforms. Some problems were heard from colleagues from other companies but in the same sphere, somewhere from companies with which we integrated, that was obtained from the customer’s experience in interacting with other contractors.

The problems seen when working with old systems


  • In the first systems, all forms and entities were described from beginning to end by code, in the future there appeared form designers, but still there was no complete cycle
  • large release cycle, about a month.
  • deployment reference
  • the analyst often only writes TK, then the developer does everything
  • templates as part of the system - when its creation is a complex process and the template becomes part of the system in rare cases, part of the code
  • disparate systems - I had to use several applications to work: a visualizer of business processes, an IDE with plug-ins, text editors, template engines and the interfaces of the systems themselves. Fragmentation created difficulties with debugging and finding sources of errors.
  • problems associated with installing CryptoPro, which occurred not only for end users but also for developers
  • integration between systems took from a month to six months
  • some systems did not work with data as such, the input information was somehow processed, passed through the business process and produced a result. However, no data was left for further processing. Even primitively to find all user statements for example it was impossible
  • there were problems with the design of visual components by different people, since many UI forms were made by people manually, each of them could make their own style, which ultimately was noticed and had to be negotiated and brought everything to the same style

The most terrible experience was the experience of supporting a system inherited from a collapsing company, the product was written on the basis of Liferay, I have nothing against Liferay itself, but this is not the product on the basis of which it is worth writing similar systems, well, the execution itself raised questions. From Lifarey itself, no more than 10% was used, the rest was written side by side, it turned out monstrously and crookedly, colleagues studying this solution called him Frankinshtein. In the future, it was safely replaced.

How we decided to fix it


Around 2014-2015, our team decided to create its own platform for digitizing departments. Around 2016, I joined the development team. The main goal of creating the platform was to allow development to be done without involving developers, only with the help of analysts. This should have reduced time, since unnecessary people are excluded from the process, as well as the cost of work, since programmers are very expensive. And ideally, the customer was able to digitize their own processes or make small changes.

Of course, we took into account the negative experience of the past years when creating a new product. We have created a platform that allows using built-in visual editors to create and modify business entities if necessary, design user interfaces and data entry forms in visual editors as well, and also has its own engine and BPM editor, reporting subsystem and template generation, full-text search, FIAS address service, electronic signatures management service, file storage service.

Initially, the system was designed to simplify and somewhere automate the activities of specialists involved in converting services into electronic form, but over time we realized that the platform’s functionality allows you to create very powerful solutions ranging from CRM, ERP, ECM to highly specialized systems.

On the basis of the platform, the partners wrote the Safe City system for the Republic of Buryatia, and now it is being developed and replicated to other regions.

“Safe City” in screenshots





















Transfer of the service of issuing a transport card in Tyumen allowed to reduce the time of rendering the service from 10 days to 6 seconds.

As a result, in addition to solving work tasks, for the sake of which a system was developed, which were implemented in more than 30 regions of the country, we implemented 3 commercial projects, as well as implement internal automation of the company’s activities on the platform.

A little about the platform and how it all looks.


Used technologies and products under the hood in a nutshell: Angular, Java, Wildlfy, OrientDB, Solr, Hazelcast.

A short list of the main features of the platform:
Вся работа с платформой через браузер. Нет ни каких IDE и студий.

Редактор моделей UML


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



Встроенный визуальный редактор интерфейсов




Встроенный визуальный редактор форм:


теперь формы единообразны, структурированы и типизированы. Максимум работы автоматизировано, есть возможно генерации формы по объектам. Время работы аналитика на рутинные операции сократилось почти в 10 раз, остается больше времени которое можно уделить бизнес логике. Платформа не позволяет делать ошибок при редактировании.



Встроенный визуальный редактор бизнес процессов





Библиотека визуальных компонентов


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

Интерактивные карты



JS диаграммы




Шаблоны — Конечные пользователи могут самостоятельно редактировать шаблоны и добавлять новые.

Журналирование действий пользователей и история изменений данных. Мягкое удаление записей в БД.

Управление правами доступа на уровне операций с сущностями, их атрибутов и отдельных экземпляров, экранов и компонентов UI.

Полнотекстовый поиск, хотя наверно этим многих не удивишь, но до сих пор встречаются системы где такого нет, а в нашем случае он динамический как и вся система.

Открытые API для интеграции с внешними системами.

In any case, we decided not to limit our users to only built-in components and enabled experienced users to use JS to expand the functionality in the created user interfaces or business processes.

This approach allows us to create custom applications on the fly without deployments and reboots. Which in turn allows to reduce the time of delivery of value to the customer (Time To Market). Our experience shows that the time and cost of creating a system with customization for a customer is reduced at least twice.

For example, in this video (here an accelerated video of 10 minutes - youtu.be/Yvvxn_qbook ) from scratch in 30 minutes, an example of a tracking system is created that can be implemented in companies performing field work.

Future plans


We are currently working on a client redesign, so closer to the fall we will delight our users with a new, more convenient and beautiful UI.

It is very interesting to observe how systems are developing on the platform, sometimes you do not even expect that it was possible to do this. Analysts are constantly amazed at what new systems they get. The platform is great for accounting systems, as a backend for various services, ERP, CRM, ECM and similar systems, as well as for prototyping solutions.

Perhaps there are already a lot of similar platforms and each has its own pros and cons, I will not compare and evaluate them among myself. I understand that over time there will be more and more and their availability will be freer, here you can draw an analogy with the site designers (site-designers.rf) which are now tens and there is real market competition between them, which has a positive effect on quality and consumers .

I am very glad that I work in this company and I am very proud of what we do. I am very pleased to hear the admiration and pleasant feedback from those who get acquainted with our platform. I would like more people to learn about the platform and use it for the benefit of the case. I hope for feedback from readers - we are always open to constructive criticism and suggestions.

If the article goes into the community, then I plan to write a series of articles about how and what problems we solved while developing our platform and products on it, issues of clustering, maintenance and integrated monitoring. about our experience using DevOps and how it is applicable in the public sector, how we switched to using Docker, and in more detail what technologies are under the hood of the platform and its services.

Also popular now: