I gov chernihiv-ihub

Post on 11-Feb-2017

133 views 0 download

Transcript of I gov chernihiv-ihub

Организація  Backend  частинипроекту  iGov.  

Огляд  структури  і  технологій

Олександр  Скосир28  січня  2016

Про  себеВ  проекті  з  червня  2015 року

Є  одним  з  координаторів  iGov  в  Чернігові

Працюю  з  Java  з  2006  року

Java  розробник  в  компанії  Astound  Commerce

e-­mail:  askosyr@gmail.comskype:  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