I gov chernihiv-ihub
-
Upload
vasyabh -
Category
Technology
-
view
130 -
download
0
Transcript of I gov chernihiv-ihub
Организація Backend частинипроекту iGov.
Огляд структури і технологій
Олександр Скосир28 січня 2016
Про себеВ проекті з червня 2015 року
Є одним з координаторів iGov в Чернігові
Працюю з Java з 2006 року
Java розробник в компанії Astound Commerce
e-mail: [email protected]: askosyr 2
Зміст
1. Трошки історії розвитку проекту
2.Загальна структура проекту
3.Про технологіїApache Activiti як основний фреймворк для бізнес процесівЗберігання данихСторонні інтеграціїІнтеграції найближчим часом
4. Розробка бізнес процесу
5. Типові задачі для Java розробника3
Історія розвиткуРозпочався в квітні 2015 року.
Координатор проекту - Дмитро Дубілет
Географія учасників проекту - Україна і закордон
Енерджайзер проекту - Володимир Білявцев (Дніпропетровськ)
Java як мова програмування backend частини
4
Структура проекту
5
Apache Activiti
Ключовий фреймворк проекту iGov
Процес описується у вигляді діаграми бізнес аналітиком
Швидкий запуск послуг
Дозволяє просто і прозоро змінювати стандартний функціонал
6
http://activiti.org/
Зберігання даних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>
Java фреймворкиSpring - фреймворк для ін’єкції залежностей (dependency injection) при побудові дуже відокремлених систем
Rest веб-сервіси на основі Spring.використання HTTP протоколу замість використання складніших механізмів взаємодії між частинами системи
Hibernate - фреймворк для відображення між об'єктно-орієнтованою моделлю даних і традиційною реляційною базою даних
8
Сторонні інтеграціїBankID - спосіб верифікації громадян через українські банки для надання адміністративних послуг через Інтернет. На даний момент підключено 9 банків (ПриватБанк, Альфа-Банк, PlatinumBank)
UniSender - веб-сервіс розсилки повідомленнь по електронній пошті. В основу веб-сервісу закладена розроблена всередині компанії технологія швидкої і гарантованої доставки повідомлень
9
Інтеграції найближчим часомСистеми електронного документообігу (а саме FossDoc)
Наказ № 1207 від 20.10.2011 Міністерства освіти і науки, молоді та спорту України Про вимоги до форматів даних електронного документообігу в органах державної влади.
Мета інтеграції: - двостороння взаємодія з iGov- автоматичне створення документів с системі документообігу- отримання повідомленнь про обробку документів
10
Технології які не увійшли в минулі слайди
Jenkins - відкритий інструмент для безперервної інтеграції
Git - система керування версіями файлів та спільної роботи
Maven - засіб автоматизації для складання проекту
Swagger - для створення документації функціоналу рест сервісів
11
Розробка бізнес процесу
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>
Типові задачі Backend розробника
- Створення нового Rest сервісу
- Кастомізація структури бази даних для збереження додаткової
інформації
- Кастомізація Apache Activiti
Середній час на виконання задачі - 4-8 годин
Середній час роботи на тиждень - 8 годин13
Чому я займаюсь iGov?
- Це корисно
- Це в багатьох випадках цікавіше ніж робота
- Я роблю те що мені цікаво
- Я швидко бачу результати
- Спілкуючись з держорганами ти розумієш, що там
треба шось міняти :)14
Дякую за увагу!
15