W6 AssessNews Based security profiling
Contributors:Mikhail BelousTsypushkin ArsenyOrlov Ilia Golovanov Egor
Also:Christina QuastMary Georgiou
1/28
Зачем нужен этот проект?● В мире много вооруженных конфликтов, терроризма, убийств и т.д.● Существуют некоммерческие организации по оказанию помощи● Нужна статистика происшествий● Необходимо уметь выделять нужные факты из источников информации
2/28
О проекте
Мы обрабатываем документы на предмет(ищем) насилия\преступлений
W6 - Who used what Weapon to do What to Whom, Where and When?
3/28
С чего начинался данный семестр● Apache Solr cores - Articles, Emails, Events● Страница событий
Планы на осенний семестр● Автоматически получать почту и сохранять в Solr● Переписать backend на Spring Boot + Spring Data для Solr● Поправить Front End● Задеплоить проект и настроить тестирование
4/28
Задачи Арсения на семестр
● Разобраться в java mail api● Сделать получение писем регулярным (раз в день)● Разобраться с Travis CI и настроить автоматическое тестирование ● Проявить менеджерские качества в общении с людьми, проявившими
интерес к нашему проекту во время хакатона в Церне● Решить проблемы со сборкой проекта на разных серверах (Tomkat,
GlassFish)
5/28
Почта● Протокол соединения с почтовым сервером (POP3)● Парсинг и форматирование текста
Вжух, вжух и в продакшн6/28
Хакатон в Церне
7/28
Travis CI● Привязывается к github аккаунту● Скрипт тестирования● Интегрирован со многими сервисами (Dockerhub)
8/28
Задачи Ильи на семестр(или история про мальчика, который очень любил Spring)
● Spring Core:○ перевести создание Java объектов на Spring bean
● Spring Boot:○ перевести проект на Spring Boot
● Spring Security:○ добавить Spring Security для авторизации
● Spring Data:○ сделать работу с базой данных через Spring Data
9/28
10/28
Spring Core и Spring Bean
● Парсинг статей → много парсеров○ LexicalizedParser○ ViolentVerbParser○ WeaponsParser○ ...
● Объявляем классы Spring bean-ами:○ аннотация @Component○ метод с аннотацией @Bean
● Используем:○ поле с аннотацией @Autowired
11/28
Spring Boot● Приложение внутри docker контейнера● Хочется от приложения:
○ максимально простое окружение○ максимально простой запуск
● Spring Boot:○ нужна Java○ java -jar W6.jar○ встроенный сервер приложений○ автоконфигурация (Java)
12/28
13/28
14/28
15/28
Spring Security
16/28
Spring Data
● Сохраняем статьи, события, письма в базу данных● Извлекаем статьи, события, письма из базы данных● Статьи, события, письма ‒ Java объекты● Spring Data:
○ Поддерживает CRUD операции из коробки○ Работа в коде с Java объектами приложения
17/28
До...
18/28
И все еще до...
19/28
И после
20/28
Задачи Егора на семестр● Развертывание приложения на облаке (AWS, Docker Cloud)● Разобраться в Docker● Continuous delivery● Backup Solr’a● DNS
21/28
Docker Engine● Наше приложение в отдельном образе● Образ был создан с помощью Dockerfile
22/28
Hosting ● Docker Cloud● AWS($48.24)● Linode($10.7)
23/28
Continuous delivery
● Интеграция с Travis CI● DockerHub webhooks● Реализация приложения, которое обрабатывает post запрос от
dockerhub
24/28
25/28
Backup● Backup API Solr● Копирование с удаленного сервера● По расписанию
26/28
В итоге● Мобильность● Масштабируемость● Стабильность● w6-assess.ru
27/28
● Проанализировать статьи, которые были получены после хакатона● Добавить извлечение дополнительных данных● Усовершенствовать извлечение данных (ML)
Планы на ближайшее будущее
28/28