about SMEV3 in the first person

Hello IT community! I’m Anastasia Pyatko, implementation analyst from RTLabs. This is a company that develops well-known public services and tries to make our bureaucratic life easier.

Recently, I had a chance to speak at HighLoad++ 2022 with a similar topic: “SMEV. Much easier than it seems. Useful tips on how to start integration through SMEV3 and SMEV4. The organizers know their stuff. There was an interested audience in the hall, who asked questions with genuine interest. With some, the conversation at the stand continued for several more hours. So the idea was born – to fix everything with the text in this article.

Let’s start with a little background. Digitalization came to our large country definitely before experts appeared who could immediately tell how to do it, came up with standards and protocols. Regions, departments, their contractors wrote their systems in different programming languages, building different architectures, and then did integrations as they could. At some point, there were a lot of systems. The understanding came that it became simply impossible for them to exchange information among themselves without a single unified framework. And 12 years ago, the System of Interdepartmental Electronic Interaction (SIEV) appeared.

What is SMEV

SMEV is the transport that delivers millions of “envelopes” necessary for the provision of public services. Through SMEV information is exchanged with each other:

  • federal and regional departments

  • MFC

  • public services

  • Unified Identification and Authentication System (ESIA)

  • a number of commercial organizations

SMEV in numbers:

SMEV traffic, number of connected systems, speed and reliability

SMEV traffic, number of connected systems, speed and reliability

There are two actual SMEVs: SMEV3 and SMEV4. At the same time, the fourth version does not replace the third. These are two fundamentally different systems with one purpose – the organization of exchanges between the systems of participants in the interaction. The difference is that:

  • SMEV3 is suitable when you need to guarantee the transfer of information

  • SMEV4 – when the data exchange rate comes first

This article will focus on the third version of SMEV. Whatever one may say, it is still the most in demand. However, the popularity of the fourth is growing before our eyes, and I plan to write about it in the next article.

How SMEV3 works

Actually, all messages in SMEV3 are XML, compiled on the basis of the XSD schemas of the transport itself and the type of information sent through the web service.

Based on the experience of previous, already outdated versions of the system, SMEV3 focuses on delivery guarantees. That is, “deliver at any cost”, despite possible technical problems on the side of any of the participants in the interaction, is the slogan of the third SMEV.

What are queues in SMEV3

An important feature of SMEV3 is queues. In the transport itself, at least 2 queues are created for each registered system: requests and responses.

The systems of all participants must be able to generate messages and sign them with a registered certificate. Messages are of three types:

  • send – with basic information

  • get – for polling queues

  • ack – to confirm receipt

Consider the exchange between the information systems of two departments, one of which initiates the exchange or requests information, the second responds to the request.

1. The initiator sends a request —SendRequest. It enters the responder’s request queue. The request will be stored there until the respondent subtracts it, but the maximum is 14 days.

If the request is not deducted within 14 days, the initiator will receive a “rebuff” from the SMEV that his request has been archived.

2. Responder polls the queue — GetRequest. He must do this constantly. And when a request gets there, a non-empty “envelope” is returned to it.

3. The responder processes the request. Having received the “envelope”, the responder’s system must perform a number of actions: parse, put into the database, etc. Then the system sends an “envelope” to the SMEV with confirmation of receipt of the request – AckRequest. This is another level to ensure guaranteed delivery. If SMEV does not receive such confirmation from the responder, after 15 minutes the request will return to the queue again.

4. The initiator receives a response. After the responder’s system prepares an “envelope” with the answer, exactly the same thing happens:

  • “envelope” enters the queue of the initiator – SendResponse

  • the initiator reads it – GetResponse

  • the initiator sends an acknowledgment of receipt – AckResponse

Only then is the exchange considered complete.

Of course, there are many more nuances here:

  • there are other types of exchanges, such as mailing

  • various checks take place on the SMEV side

  • different types of messages are generated: status and error messages

But in general, all exchanges through SMEV3 are arranged as I described above.

What are the types of information in SMEV

An important role in SMEV3 is played by such entities as “Types of information” (VS).

Transport schemes set conditionally common fields for all exchanges, for example, for correct routing, transfer of attachments, signatures, etc.

VS schemes set the rules by which the semantic part of the “envelope” will be formed. That is, just the information for which the exchange is carried out.

As a result, the aircraft are:

  1. Rules by which requests and responses (XSD) are formed.

  2. References (XML) – examples of “envelopes” for the emulator.

  3. User Guide – a document, automatically or manually compiled by the owner or creator of the Aircraft, designed to assist connecting members.

Types of information in SMEV3

Types of information in SMEV3

VS as a whole can be created and registered by any participant in the interaction. There are now about 2,750 such aircraft.

How to connect to SMEV3

To become a participant in the interaction, the organization needs to go through 7 steps.

  1. Submit an application for registration of the organization in SMEV. The application indicates the legal justification for the connection. Depending on the type of organization and its goals, this application can be considered either very quickly or for a long time – with the submission to the presidium of a special commission.

  2. Establish a secure channel. This is also done on request, under which you will be provided and helped to set up the equipment.

  3. Obtain certificates from an accredited certification authority (ACC).

  4. Register one or more of your systems with the received certificates in SMEV through the Personal Account of the interaction participant (LC HC). Choose the type of information you will work with, or register your own.

  5. Set up or develop an integration module for connection to SMEV. Here our adapter SMEV3 will come to your aid.

  6. Get access to the aircraft by passing the technical readiness procedure (PTG) on a test environment through the LK HC.

  7. Switch to a productive environment.

How LK UV works

If the first 3 steps of the instructions are more or less clear, then I would like to tell you more about the rest.

We have an amazing LK UV. It will not be difficult to get access to it if the application from the first paragraph is completed. Authorization takes place under the ESIA account. The only thing is that the administrator of your organization’s profile in the ESIA will need to add you to the organization.

It looks like LK UV

It looks like LK UV

All the regulated procedures that must be performed for full-fledged work in the SMEV are automated in the LK UV.

In a few clicks you can:

  • register the system

  • change her certificate

  • get access to the aircraft

  • register your aircraft

  • pass PTG with emulator

  • check the fullness of your queues

  • track the fate of the exchange

  • create a report and much more

LK UV is developing by leaps and bounds and is winning the hearts of our users. Those who know how it was before its appearance are especially happy. You know, we somehow thought: it turned out that LK UV saves the participants years (!) of life.

Environments in SMEV3

In SMEV3 we provide 3 environments: development, testing and productive.

Environments in SMEV3

Environments in SMEV3

Development environment. It provides a unique opportunity – to try your hand at SMEV, without having any access yet and without waiting for the first points to be completed.

On the development environment, you can create a demo version of an organization, register a couple of systems for it, a type of information, and try to make exchanges through SMEV.

Test environment. More popular than the development environment, because everyone must get here before going on sale. And most maintain the performance of their test systems after the release of the prod.

Test and development environments do not require a secure channel. Again, it turns out that you can test in parallel with the organization of the channel for the sale.

Another important thing for these environments is that a certificate for systems can be generated directly in the CC in a few seconds.

On the test environment, in addition to its direct purpose, the PTG is also passed to gain access to the types of information.

Actually, PTH is a full-fledged exchange of your system in the desired role with our emulator

Actually, PTH is a full-fledged exchange of your system in the desired role with our emulator

productive environment. It is not advisable to experiment here. It is available only through a secure channel. Envelopes can only be signed with certificates received at the ATC.

Adapter integration unit (IUA) SMEV3

Lyrical digression: the love for abbreviations in our company and the public sector is, in principle, not without reason. The systems are named so that they can be uniquely identified. So it is with IUA. Of course, they like to call it simply “adapter”, but this causes misunderstanding. Contractors can call the modules of their systems adapters, and someone has developed their own universal SMEV adapters. In SMEV4, the adapter is generally part of another software.

So, IUA SMEV3 is a client software that supports all the necessary operations to perform exchanges through SMEV3. It is deployed on the side of the interaction participant and provides integration-friendly interfaces.

In fact, this is a layer between your system and SMEV, which will make your life easier several times.

IUA can be installed on both Windows and Linux. There is a version for the cuber, and there is for the housewife: “next, next, ok, done.” There is also a version complete with all the necessary environment: Java, cryptographic provider and DBMS.

This is what the interface looks like

This is what the interface looks like

How can IUA help?

  • Takes care of signing envelopes

  • Will poll your queues, executing get at the frequency you set

  • Helps to conveniently log all exchanges

  • It will allow you to choose a convenient interface: amqp, rest api, soap, database, through the file system and even the built-in web interface. Using the latter, by the way, you can not develop your information system at all, but use only the SMEV3 adapter

  • It will select the configuration for the selected environment, wrap the transferred attachments in the required format, send statistics, etc.

IUA is distributed freely, and we strongly recommend that all participants in the interaction use it.

Where to read more and where to run with questions

Unified context help system

Like any self-respecting system, our SMEV, LK UV and IUA, of course, have acquired official documentation. Many pages of hard to read text.

But we also have a cool knowledge base in the form of articles. It’s called Unified context help system (ESKS). Official documents and distributions are also stored here. There is also a very useful news section and forum.

Knowledge base SMEV3

Knowledge base SMEV3

Bot. The fate of messages and notifications

The LK UV team, together with other, outwardly invisible, but no less significant teams, developed telegram bot. You can communicate with him about the fate of your exchanges and receive notifications of key events concerning you in SMEV.

We have an official channel of communication with the operation and other participants in the interaction – the Situation Center. There you will be answered nicely and beautifully, but not very quickly.

However, we love our users, so we often create live support chats in Telegram. Sometimes they live for years, and the participants and I become family to each other.

Keeping up with the times, we actively lead telegram channel “News SMEV +”. Here you can not only find out the latest news, but also ask your question under any of them. It does not matter if it is not in the subject of the news – we will answer!

SMEV is a complex highly loaded system. But we try very hard to make it seem easy for users, especially at the most difficult step – the stage of connecting to it.

That’s all I would like to tell. I hope for your interest and motivation to write new articles.

Thank you for attention.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *