Світовий досвід в розробці аналогічних рішень

Вступ

З метою покращення доступності та ефективності урядових послуг, всі більше країн і організацій віддають перевагу електронному уряду (e-governance). У даному документі ми пропонуємо розглянути три ініціативи з різних держав, які спрямовані на спрощення процесу створення сервісів електронного уряду: Digit-Core, Singapore Government Tech Stack та eGovernment Standard Framework. Кожна з цих платформ має власні особливості, функціональність та підходи до розробки електронних урядових сервісів. Це порівняння допоможе зрозуміти які підходи використовуються у світі та визначити які з них варто перейняти чи мати на увазі при розвитку Платформи Реєстрів.

Digit-Core

Digit-Core - це платформа, розроблена спеціально для державних організацій та урядових структур з метою спрощення створення та розгортання сервісів надання цифрових послуг громадянам. Розробкою та просуненням платформи займається індійська некомерційна організація eGov Foundation. Платформа розповсюджується за вільною та відкритою ліцензією MIT

Платформа почала свій розвиток як спосіб стандартизувати та прискорити побудову сервісів для надання муніципальних послуг мешканцям міст. Типові приклади послуг реалізованих на платформі це оплата податку на нерухомість, оплата комунальних послуг, заявки на підключення до комунальних послуг, подання скарг на роботу служб міста, заявки на затвердження плану забудови і т.д.

На сьогодні сфера застосування платформи дещо розширились але в своїй основі вона все ще націлена на побудову сервісів обробки запитів на цифрову послугу від громадян. Типовий паттерн виглядає наступним чином:

digit flow
  • Громадянин реєструється/входить, заповнює заявку та завантажує необхідні документи, сплачує рахунок та надалі може відстежувати статус своєї заявки.

  • Службовець бачить заявки та починає робочий процес її обробки, оновлює статуси та додає коментарі, закриває заявку після того як послуга була надана чи в наданні послуги було відмовлено.

  • Громадянин має можливість створити запит на підтримку у випадку виникнення виключних ситуацій або надати зворотний зв’язок.

  • Технічні адміністратори моніторять продуктивність та виявляють області для покращення.

  • Керівники отримують статистику для планування та бюджетування для постійного покращення послуг.

Платформа побудова за мікро-сервісною архітектурою розрахованою на розгортання в контейнерному оточенні Kubernetes. Вона включає до себе набір API специфікацій, сервісів та референтних імплементацій.

digit

Треба зауважити що платформа не включає до себе API Gateway, Queue Service, Реляційну БД та Аналітичну БД (позначені сірим), а лише зазначає у вимогах до інфраструктури необхідність мати Netflix ZUUL, Apache Kafka, PostgreSQL та Elastic Search відповідно, на додачу до Kubernetes.

Розробка сервісів на платформі відбувається на Java із Spring Boot, а інтерфейсу користувача на ReactJS чи Flutter (підтримує створення додатків для платформ Android та iOS). Для полегшення розробки, платформа надає утиліти які генерують темплейт проекту за специфікацією API та декларативним описом переходів між станами процесу надання послуги. Для розробки UI також доступна бібліотека загальних компонентів, які можна імпортувати для використання в новому модулі.

Окрім технічної складової Digit пропонує методологію управління впровадженням цифрових сервісів на основі платформи Digit-Core.

digit governance

Вона охоплює співпрацю всіх зацікавлених сторін, від високопосадовців до розробників, та всі етапи впровадження, від формування бачення до впровадження в експлуатацію.

Детальніше
digit governance1
digit governance2

Основні функції та можливості

Сервіси та компоненти з яких складається DIGIT-Core надають можливість інтегрувати наступну функціональнисть:

  • Кабінет громадянина: Інтерфейс отримувача послуги може бути розроблений по шаблону що надається Digit або може бути незалежним рішенням.

  • Сервіс зберігання файлів: дозволяє користувачам завантажувати відповідні документи.

  • Сервіс збереження даних: асинхронно зберігає подану заявку та зміни в ній в реляційній БД (PostgreSQL).

  • Сервісу шифрування: дозволяє шифрувати особисті ідентифікаційні дані перед збереженням.

  • Сервіс індексування: перетворює та збагачує дані заявки та також видаляє особисті ідентифікаційні дані та надсилає їх до сховища аналітичних даних (ElasticSearch).

  • Сервіс інформаційних панелей: виконує налаштовані запити до сховища аналітичних даних та забезпечує доступ до агрегованих даних для фронтенда панелі керування для перегляду адміністратором або працівником.

  • Сервіс біллінга: генерує рахунок згідно логіки розрахунку для надання певної послуги.

  • Сервіс платіжного шлюзу: інтегрується зі сторонніми постачальниками послуг та надає громадянам можливість онлайн-платежів. Сервіс направляє громадянина на веб-сайт постачальника послуг, а потім повертає його на інтерфейс громадянина після успішного платежу.

  • Сервіс обліку платежів: реєструє всі успішні платежі.

  • Сервіс PDF: використовується для генерації квитанцій на основі налаштованого шаблону.

  • Сервісу робочого процесу (workflow): призначає завдання згідно налаштованому дереву переходів між станами робочих процесів.

  • Сервіс працівників: дозволяє реєстрацію працівників і дозволяє їм аутентифікуватися в кабінеті працівника

  • Кабінет працівника: інтерфейс надавача послуги може бути розроблений по шаблону що надається Digit або може бути незалежним рішенням. Відображає список невирішених заявок відповідно до ролі працівника. Працівник може виконувати дії щодо цих заявок, використовуючи інтерфейс кабінету.

  • Служби повідомлень SMS та електронної пошти: надсилають відповідні оновлення громадянину при зміні статусу або виконанні дій щодо заявок.

  • Сервіс місцезнаходження дозволяє налаштувати ієрархію організацій що надають послуги згідно географічним чи структурним ознакам, таким як Країна, Штат, Район, Відділ та Підвідділ. Кожна організація може мати власні налаштування для послуг, ролей, робочих процесів і т.д. Це дозволяє враховувати варіації в різних органах відповідно до місцевого контексту.

  • Сервіс мови: полегшує підтримку кількох мов, зберігає переклади на кількох мовах.

Платформа динамічно розвивається та вже має в планах розширення функціональності такими можливостями як цифровий підпис даних та логування історії їх змін, перші кроки в сторону low-code та багато іншого. Детальніше з дорожньою картою розвитку платформи можна ознайомитись за посиланням - Yearly Roadmap

Переваги

  • Відкритий та вільний код за ліцензією MIT.

  • Відкрита документація, навчальні матеріалами та підтримка від розробників.

  • Активна спільнота

  • Гнучка та налаштовувана модульна архітектура.

  • Можливість розширення функціональності за допомогою зовнішніх додатків та сервісів.

  • Підтримка багатомовності.

  • Підтримка розробки мобільних застосунків.

  • Відпрацьована та задокументована методика впровадження.

Обмеження або недоліки

  • Вимагає високого рівня IT-експертизи для розробки на платформі та налаштування і управління платформою. Повний список вимог для розробників та devops приведений в статті Essential Skills and Pre-requisites

  • Документація має пробіли особливо в частині адміністрування де присутні тільки заголовки статей.

  • Потребує відповідних інвестицій у розгортання та підтримку платформи.

Singapore Government Tech Stack (SGTS)

Singapore Government Tech Stack - це ініціатива уряду Сингапуру, спрямована на створення та сприяння використанню спільної технологічної інфраструктури для урядових організацій в Сінгапурі.

В основі ініціативи лежить Government on Commercial Cloud (GCC) - це "обгорткова" платформа, яка надає урядовим органам єдиний спосіб використання комерційних хмарних рішень, пропонованих постачальниками хмарних послуг.

gcc fig1

GCC надає централізовані та уніфіковані інструменти для онбордингу, білінгу, моніторингу та виконання вимог відповідності до державних стандартів, при використанні хмарної інфраструктури.

На даний час GCC підтримує Amazon Web Services (AWS) та Microsoft Azure. Підтримка Google Cloud в планах на 2023 рік.

Наступним рівнем є Singapore Government Tech Stack - набір Software-as-a-Service (SaaS) компонентів які розгорнуті у GCC та можуть бути використані урядовими органами на платній та безоплатній основі. До SGTS також входять рекомендації та стандарти по найкращим практикам побудови електронних урядових сервісів.

Тобто при розробці та впровадженні своїх сервісів та застосунків урядові організації можуть використовувати спільну інфраструктуру що надається GCC та сервіси які розгорнуті в рамках SGTS.

Основні функції та можливості

SGTS складається з двох шарив, де базовий шар спрямований на стандартизацію інструментів розробки та управління середовищем, а верхній шар - сервісний шар, забезпечує повторне використання сервісів в усіх урядових організаціях.

sgts layers

Нижче приведено склад обох шарів та функції цих складових

Base Layer

  • Панель управління сервісами: допомагає урядовим посадовим особам знаходити, підписуватися та керувати послугами SGTS на одному консольному інтерфейсі.

  • Система управління ідентифікацією та доступом (Identity and Access Management, IAM) та платформа нульової довіри: захищає від несанкціонованого доступу до державних ресурсів.

  • Єдиний портал для моніторингу стану урядових сервісів.

  • Система моніторингу безпеки: надає рекомендації для відповідності вимогам з безпеки, а також автоматично сканує оточення для моніторингу та відправлення сповіщень, коли системи не відповідають базовому рівню безпеки.

  • Централізована та повністю керована платформа розробки для контейнерів і Kubernetes: зменшує накладні витрати на налаштування та обслуговування інфраструктури додатків.

  • Інструменти CI/CD з механізмами безпеки та управління: дозволяють розробникам планувати, будувати, тестувати та розгортати код у промисловому оточенні. Складається з таких продуктів як GitLab, Confluence, Jira, Nexus IQ, SonarQube і т. ін.

Service Layer

  • Шлюз управління та обміну API: дозволяє розробникам, агентствам та бізнесам керувати обміном SOAP та REST API на всіх етапах - від реєстрації до публікації та виводу з експлуатації.

  • Asynchronous Data Exchange: це побудований на Kafka централізований сервіс асинхронного обміну даними та подіями в режимі реального часу. Дозволяє державним установам публікувати та підписуватися на дані реального часу за допомогою порталу самообслуговування в GCC

  • Booking: надає можливість урядовим агентствам надавати громадянам послуги попереднього бронювання. За допомогою цього сервісу агентства можуть керувати календарем, доступністю, графіком роботи та бронюваннями.

  • GovWallet: це модуль цифрового гаманця, який урядові агентства можуть використовувати для зручного та безпечного переказу бюджетних грошей громадянам та іншим отримувачам.

  • Сервіс обміну великими файлами: централізований, безпечний та повністю керований сервіс передачі файлів.

  • Сервіс обміну відео потоками: допомагає урядовим агентствам підключити та об’єднати їх відеосистеми (веб-камери, системи відео спостереження тощо) на одній хмарній платформі. Надає легкий уніфікований доступ до відеопотоків в одному місці.

  • Платформа аналізу відеоданих: надає можливість розробляти власні моделі відеоаналітики та використовувати попередньо розроблені моделі, такі як підрахунок кількості пішоходів та щільності скупчення людей по даним з камер відеоспостереження.

  • Платформа аналізу тексту: дозволяє визначити основні теми, що присутні в текстах та робити автоматичне резюмування тексту. В даний момент зосереджена на використанні в сфері управління якістю сервісу (Quality Service Management, QSM).

  • Платформа Speech-to-Text: дозволяє автоматично транскрибувати мовлення з аудіо або відеофайлів, а також надає можливість розпізнавання мовлення в реальному часі під час його потокового відтворення.

  • IoT Tech Stack: набір інструментів та сервісів для сенсорів та IoT-додатків. Він складається з компонентів, які сприяють збору та обміну даними від сенсорів до хмари.

  • Сервіси цифрової ідентифікації: набір з сімох сервісів інтеграції з найбільш розповсюдженими у Сингапурі системами цифрової ідентифікації.

  • Design System: загальний набір компонентів користувацького інтерфейсу, шаблонів та зразків.

  • Application Analytics: надає ключову інформацію, таку як відвідуваність веб-сайту, відгуки користувачів, рекомендації щодо покращення продуктивності сайту, а також порівняльні показники з середніми значеннями усієї урядової організації у одній інформаційній панелі.

Переваги

  • Стандартизована технологічна інфраструктура для урядових організацій.

  • Разомноження технологічних рішень для уникнення дублювання роботи.

  • Централізоване управління для забезпечення координації та однорідності.

Обмеження або недоліки

  • Не має на меті розповсюдження за межами урядових організацій Сингапуру.

  • Закритий код.

  • Основна частина документації доступна лише по запиту та лише для урядових організацій Сингапуру.

  • Сконцентрований на вирішенні питань ефективності внутрішньої роботи урядових структур. Немає жодного сервісу для взаємодії громадян з урядовими структурами.

eGovernment Standard Framework (Південна Корея)

eGovernment Standard Framework (eGSF) - це технічний фреймворк, розроблений для спрощення та стандартизації процесу розробки веб застосунків для урядових сервісів на платформі Java. eGSF був розроблений в середині 2000х років урядом Південної Кореї.

Цей фреймворк побудований на основі платформи Spring та включає в себе додаткові відкриті бібліотеки та розширення для роботи з базами даних, кешування, безпеки, логування, веб-розробки тощо.

Table 1. Використані open source компоненти
Layer Open Sources

Presentation Layer

Spring MVC, Apache commons validator, jQuery

Business Layer

Spring

Persistence Layer

DBCP, iBtis/MyBatis, Hibernate

Integration Layer

Apache CXF

Foundation Layer

Spring, Log4j, Spring Security

Batch Layer

Spring Batch

Mobile UX/UI Layer

jQuery Mobile

Mobile Device API Layer

Apache Cordva

Поверх цього в eGSF включена бібліотека власних спільних компонент які розроблені спеціально для потреб розробки урядових сервісів. Оригінальні бібліотеки так само поширюються як вільне і відкрите програмне забезпечення за ліцензією Apache License, Version 2.0.

До поставки також входять інструменти розробника та навчальні матеріали. Інструменти розробника складаються з вільних і відкритих засобів розробки до яких додано плагіни специфічні для розробки з використанням компонентів eGSF.

Table 2. Інструменти розробки
Toolset Open Sources

Implementation Tools

Eclipse, PMD

Test Tools

JUnit, EasyMock, DbUnit, EclEmma

Configuration Management Tools

Subversion, jTrac

Build & Deploy Tools

Maven, Jenkins, Nexus

Таким чином цей фреймворк дозволяє створювати веб-застосунки, побудовані за монолітною архітектурою, які можуть бути розгорнуті на платформі Java.

eGSF
Figure 1. Архітектура застосунків

Основні функції та можливості

До тих можливостей які надає Spring та вбудовані відкриті бібліотеки, компоненти eGSF додають можливість розробникам інтегрувати в свої застосунки наступну функціональність:

  • Управління користувачами та ролями, в тому числі на основі організаційної структури.

  • Аутентифікація та авторизація в тому числі за допомогою ключа чи сертифікату та single sign-on

  • Збір та звітність по статистиці користувачів, публікацій, підключень, відвідування сторінок.

  • Побудова Вебфорумів з можливістю створювати спільноти з деякими елементами соціальних мереж.

  • Робота з розкладом користувачів, організацій, періодичної звітності.

  • Адресна книга

  • Інтеграція з системами розсилки та отримання email.

  • Інтеграція з соціальними платформами

  • Контент менеджмент веб сайта.

  • Інтеграція картографічної інформації

  • Електронні голосування та опитування.

  • Службові та системні розширення такі як друк, робота з файлами, робота з мережею, спільні елементи UI та ін.

Компоненти для мобільних пристроїв включають в себе як деякі конвертовані з зазначених вище компонентів, так і орієнтовані виключно на мобільні застосунки, такі як:

  • Повідомлення у реальному часі

  • Сервіси синхронізації

  • Сервіси місця розташування

  • Контроль мультимедіа

  • Ідентифікація мобільних пристроїв

З повним списком компонентів можна ознайомитись за посиланнями eGSF Common Components, eGSF Mobile Common Components

Переваги

  • Відкритий та вільний код за ліцензією Apache License, Version 2.0.

  • Відкрита документація, навчальні матеріалами та підтримка від розробників.

  • Підтримка розробки мобільних застосунків

Обмеження або недоліки

  • Вимагає високого рівня IT-експертизи для розробки, в тому числі і в технологіях яки мало використовуються на сьогоднішній день.

  • Використовує застарілі технології які, порівняно з сучасними, надають гірший досвід користувача, гіршу гнучкість та гіршу масштабованість.

  • Монолітна не cloud native архітектура стандартна для продуктів середини 2000х.

  • Не адресує шар збереження даних, їх безпечного зберігання та контролю походження. Таким чином має малу користь при розробці саме реєстрів.

Порівняння

Розглянуті системи в різній мірі перекривають функціональність Платформи Реєстрів, кожна в різних аспектах. Але жодна з них окремо не наближується до паритету з Платформою Реєстрів.

Окрім спільних можливостей, Платформа Реєстрів має унікальні особливості, яких немає в жодної з розглянутих систем:

  • Платформа Реєстрів поставляється з повним налаштованим набором залежностей починаючи з контейнерного середовища. Таким чином при встановленні платформи немає необхідності встановлювати, налаштовувати та підтримувати власні системи контейнеризації, управління трафіком, бази даних, інструменти моніторингу та резервного копіювання тощо. Це забезпечує дотримання стандартів безпеки та надійності та значно знижує вимоги до технічних адміністраторів платформи.

  • Платформа Реєстрів, на відміну від усіх інших, є low-code платформою і дозволяє створювати реєстри та електронні державні послуги з використанням мінімального рівня кодування. За допомогою low-code платформи, розробники можуть зосередитися на важливих бізнес-логічних аспектах, швидше прототипувати та впроваджувати рішення, а також спрощувати процес супроводу та розширення програмного забезпечення.

  • Платформа Реєстрів включає в себе безпечний шар збереження та доступу до даних, який відповідає вимогам забезпечення незмінності даних та контролюю походження, що є одним із найважливіших аспектів для державних реєстрів.

Висновки

Має сенс звернути увагу на наступні аспекти які відсутні або недостатньо пропрацьовані в рамках Платформи Реєстрів.

  • Функціональність білінгу та приймання платежів.

  • Підтримка мобільних інтерфейсів користувача для громадян.

  • Підтримка інтернаціоналізації та багатомовності.

  • Розробка та документація методології управління впровадженням, особливо в частині співпраці з державою як замовником та стейкхолдером.