annotation
I will tell you about the experience accumulated over almost 10 years of work related to the digitization of our country, about the problems encountered and what we did to solve them, how it all led to the birth of another platform solution and a little about it.
I have been working on the digitization of our state for the past 8 years. Back in 2011, I started as a simple analyst, then we were engaged in translating services into electronic form for the website of public services and developing the backend part for them in departments on various systems.
I happened to work in different regions of our country and saw many platforms. Some problems were heard from colleagues from other companies but in the same sphere, somewhere from the companies with which we were integrated, which was obtained from the customer's experience in interacting with other contractors.
Problems seen when working with old systems
- In the first systems, all forms and entities were described from beginning to end by code, form designers appeared in perspective, but still there was no complete cycle
- big release cycle, about a month.
- attachment to deployment
- the analyst often only writes TZ, then the developer does everything
- templates as part of the system - when creating it is a complex process and the template becomes part of the system in rare cases a part of the code
- disparate systems - for work, you had to use several applications: a business process visualizer, IDE with plugins, text editors, template engines and interfaces of the systems themselves. Fragmentation created difficulties with debugging and finding sources of errors
- Problems associated with installing CryptoPro, which arose not only among end users, but also among developers
- integration between systems took from one to six months
- Some systems did not work with the data as such, the input information was somehow processed, passed through the business process and produced a result. However, no data for further processing remained. It was even primitive to find all statements of the user
- there were problems with the design of visual components by different people, as many UI forms were made by people manually, each of them could introduce their own style during the design, which in the end was surely noticed and had to be negotiated and lead everything to the same style
The most terrible experience was the experience of supporting the system inherited from the collapsed company, the product was written on the basis of Liferay, I don’t have anything against Liferay itself, but this isn’t the product based on which such systems should be written, and the performance itself raised questions. From the Lifarey itself, no more than 10% was used; the rest was written side by side, it turned out monstrously and crooked, and colleagues studying this solution called it Frankinstein. In the future, it was successfully replaced.
')
How we decided to fix it
Around 2014-2015, our team thought to create its own platform for digitizing departments. Around 2016, I joined the development team. The main purpose of the platform was to allow the development to be done without attracting developers, only by analysts. This should have shortened the time, as extra people are excluded from the process, as well as the cost of the work, as 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 past years when creating a new product. We created a platform that allowed us to create and modify business entities using built-in visual editors, to design user interfaces and data entry forms in visual editors, as well as our own BPM engine and editor, reporting subsystem and template generation, full-text search, FIAS address service, electronic signature service, file storage service.
Initially, the system was designed to simplify and automate the activities of specialists involved in the translation of 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, partners have written the “Safe City” system for the Republic of Buryatia, and now it is being developed and replicated in other regions.
“Safe City” in the screenshots The transfer of the service of issuing a transport card in Tyumen made it possible to reduce the time the service was provided from 10 days to 6 seconds.
As a result, in addition to solving work tasks for which the system was developed, which were implemented in more than 30 regions of the country, we implemented 3 commercial projects, as well as implementing 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 short: Angular, Java, Wildlfy, OrientDB, Solr, Hazelcast.
A short list of the main features of the platform:All work with the platform through the browser. There is not any IDE and studios.
UML Model Editor
UML - designing metamodels of business entities visually, setting up links between them. All this is clear. The general data scheme allows building data structures that can be used by new systems, for example, the described entity of a person or organization is used and linked in new developments (using the principles of OOP), as well as data - this makes it possible to eliminate duplication from the system to the system.

Built-in visual interface editor

Built-in visual form editor:
Now forms are uniform, structured and typed. The maximum of work is automated, there is a possibility of form generation by objects. The analyst’s work time for routine operations has been reduced by almost 10 times; more time remains to be spent on business logic. The platform does not allow you to make mistakes when editing.

Built-in business process visual editor

Visual Component Library
standard and specific, for example, a universal data filter, fields for selecting related entities with various possibilities, related tables, facets.
Interactive maps


Js charts

Templates - End users can independently edit templates and add new ones.
Logging user actions and data change history. Soft deletion of records in the database.
Management of access rights at the level of operations with entities, their attributes and individual instances, screens and UI components.
Full-text search, although perhaps this will not surprise many, but there are still systems where there is none, and in our case it is dynamic like the whole system.
Open API for integration with external systems.
In any case, we decided not to limit our users to only built-in components and gave experienced users the opportunity to use JS to expand functionality in the created user interfaces or business processes.
This approach allows us to create custom applications on the fly without deployments and reloads. That in turn allows you 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 the customer are 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 creates an example of a tracking system that can be implemented in companies that perform field work.
Future plans
At the moment we are working on the client's design, so closer to the fall we will please our users with a new, more convenient and beautiful UI.
It is very interesting to observe how systems develop on the platform, sometimes you do not even expect that such a thing could be done. Analysts are constantly surprised by what new systems they have. 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 quite a lot of similar platforms and each has its own pros and cons; I will not compare and evaluate them among themselves. I understand that over time they will become more and more accessible and their availability will be freer, here you can draw an analogy with the designers of sites (designers-sites. RF) which are already dozens and between them there is a real market competition, 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 are acquainted with our platform. I would like more people to learn about the platform and use it to benefit the cause. I hope for feedback from readers - we are always open to constructive criticism and suggestions.
If the article comes 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 in 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.