Download - I gov chernihiv-ihub
![Page 1: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/1.jpg)
Организація Backend частинипроекту iGov.
Огляд структури і технологій
Олександр Скосир28 січня 2016
![Page 2: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/2.jpg)
Про себеВ проекті з червня 2015 року
Є одним з координаторів iGov в Чернігові
Працюю з Java з 2006 року
Java розробник в компанії Astound Commerce
e-mail: [email protected]: askosyr 2
![Page 3: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/3.jpg)
Зміст
1. Трошки історії розвитку проекту
2.Загальна структура проекту
3.Про технологіїApache Activiti як основний фреймворк для бізнес процесівЗберігання данихСторонні інтеграціїІнтеграції найближчим часом
4. Розробка бізнес процесу
5. Типові задачі для Java розробника3
![Page 4: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/4.jpg)
Історія розвиткуРозпочався в квітні 2015 року.
Координатор проекту - Дмитро Дубілет
Географія учасників проекту - Україна і закордон
Енерджайзер проекту - Володимир Білявцев (Дніпропетровськ)
Java як мова програмування backend частини
4
![Page 5: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/5.jpg)
Структура проекту
5
![Page 6: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/6.jpg)
Apache Activiti
Ключовий фреймворк проекту iGov
Процес описується у вигляді діаграми бізнес аналітиком
Швидкий запуск послуг
Дозволяє просто і прозоро змінювати стандартний функціонал
6
http://activiti.org/
![Page 7: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/7.jpg)
Зберігання данихPostgresql як база даних для Apache Activity
Liquibase - бібліотека для трекання та застосування змін в схемі бази даних
Mongo DB - документо-орієнтована no-sql база даних для зберігання документів
Redis - розподілене сховище пар ключ-значення, які зберігаються в оперативній памяті
7
<changeSet id="issue-605-dates-size" author="askosyr"><modifyDataType tableName="FlowProperty" columnName="sDateTimeAt"
newDataType="varchar(30)" /></changeSet>
![Page 8: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/8.jpg)
Java фреймворкиSpring - фреймворк для ін’єкції залежностей (dependency injection) при побудові дуже відокремлених систем
Rest веб-сервіси на основі Spring.використання HTTP протоколу замість використання складніших механізмів взаємодії між частинами системи
Hibernate - фреймворк для відображення між об'єктно-орієнтованою моделлю даних і традиційною реляційною базою даних
8
![Page 9: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/9.jpg)
Сторонні інтеграціїBankID - спосіб верифікації громадян через українські банки для надання адміністративних послуг через Інтернет. На даний момент підключено 9 банків (ПриватБанк, Альфа-Банк, PlatinumBank)
UniSender - веб-сервіс розсилки повідомленнь по електронній пошті. В основу веб-сервісу закладена розроблена всередині компанії технологія швидкої і гарантованої доставки повідомлень
9
![Page 10: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/10.jpg)
Інтеграції найближчим часомСистеми електронного документообігу (а саме FossDoc)
Наказ № 1207 від 20.10.2011 Міністерства освіти і науки, молоді та спорту України Про вимоги до форматів даних електронного документообігу в органах державної влади.
Мета інтеграції: - двостороння взаємодія з iGov- автоматичне створення документів с системі документообігу- отримання повідомленнь про обробку документів
10
![Page 11: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/11.jpg)
Технології які не увійшли в минулі слайди
Jenkins - відкритий інструмент для безперервної інтеграції
Git - система керування версіями файлів та спільної роботи
Maven - засіб автоматизації для складання проекту
Swagger - для створення документації функціоналу рест сервісів
11
![Page 12: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/12.jpg)
Розробка бізнес процесу
12
<userTask id="usertask1" name="Перевірка даних" activiti: candidateGroups="${sID_UA}_oda_4">
<extensionElements>...<activiti:formProperty id="email"
name="e-mail громадянина" type="string" writable="false"/>
<activiti:formPropertyid="messageText" name="Текст Заяви" type="textArea" writable="false"/>
...</userTask>
![Page 13: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/13.jpg)
Типові задачі Backend розробника
- Створення нового Rest сервісу
- Кастомізація структури бази даних для збереження додаткової
інформації
- Кастомізація Apache Activiti
Середній час на виконання задачі - 4-8 годин
Середній час роботи на тиждень - 8 годин13
![Page 14: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/14.jpg)
Чому я займаюсь iGov?
- Це корисно
- Це в багатьох випадках цікавіше ніж робота
- Я роблю те що мені цікаво
- Я швидко бачу результати
- Спілкуючись з держорганами ти розумієш, що там
треба шось міняти :)14
![Page 15: I gov chernihiv-ihub](https://reader030.vdocuments.pub/reader030/viewer/2022021422/589f39111a28ab490c8b4b99/html5/thumbnails/15.jpg)
Дякую за увагу!
15