diff --git a/docs/part 3.5.md b/docs/part 3.5.md new file mode 100644 index 0000000..72253f3 --- /dev/null +++ b/docs/part 3.5.md @@ -0,0 +1,75 @@ +# Демонстрация работы + + + +## Пример отображения данных о сотруднике лаборатории + + + +Для демонстрации работы приложения рассмотрим следующий пример: покажем как будет происходить публикации данных о сотрудниках университета ИТМО и покажем страницу данных об одном из сотрудников. + +1. Формируется SML маппинг файл. *См. рисунок в разеделе выше* + +2. Данные выгружаются из БД и преобразуются в RDF. На рисунке указа фрагмент файла-онтологии. + + ![Файл с данными университета ИТМО фрагмент](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/ea69272f-b7b9-4c28-869e-60056d511ff2/itmo_nt.png) + + Рисунок 5.1 Наборы данных университета ИТМО (Фрагмент) + +3. Данные загружаются в Virtuoso и становятся доступны через SPARQL endpoint (см рисунок). + + ![Фрагмент выборки сотрудников университета с использованием SPARQL](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/750bdfcc-ff05-413d-be17-be3411cbc24c/ifmo_data_people.png) + + Рисунок 5.2 Фрагмент выборки сотрудников университета с использованием SPARQL (Фрагмент) + +4. На рисунке представлена страница с данными о сотруднике университета, сгенерированная при помощи Pubby. *См. рисунок в разделе выше* + + + +## Использование портала открытых данных на примере приложения поиска + + + +В качестве одного из приложений, использующих открытые данные университета ИТМО, это приложение поиска по порталу открытых данных с использованием автодополнения (autocomplete). + +Приложение разработано на Ruby On Rails с использованием Twitter Typeahead и доступно по: https://lod-ifmo-search.herokuapp.com. + +Приложение работает по следующему алгоритму: + +1. Пользователь открывает приложение +2. Система подгружает, используя RESTful API прослойку, данные о сотрудниках, лабораториях, исследовательских областях, в формате JSON. Каждая сущность содержит два поля: название на русском и ссылку на сущность в портале открытых данных университета. +3. Формируется страница с полем для поиска к которму подключается список данных. +4. Пользователь вводит запрос и система показывает возможные варианты. +5. Пользователь выбирает нужный вариант и система перебрасывает (редиректит) пользователя на соответствующую страницу на портале открытых данных. + +На рисунке 5.3 показана страница разработанного приложения: + +![Приложение поиска по порталу открытых данных университета ИТМО](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/c9f1ed6d-8903-4427-8ec1-e2e7726e7416/lod_ifmo_search.png) + +Рисунок 5.3 Приложение поиска по порталу открытых данных университета ИТМО + + + +## Развертывание приложения + + + +Для развертывания приложения необходимо: + +1. Сервер с Linux, в университете ИТМО используется Ubuntu Server. +2. JRE, установленная на севере - используется программным средство sparqlify. +3. Nginx - реализует роутинг приложения, переводит запросы к Pubby для отображения датасетов, перенаправляет SPARQL запросы к Virtuoso от внешних приложений +4. Virtuoso Universal Server - для хранения датасетов и реализации SPARQL endpoint. +5. Pubby - для отображения датасетов. + +При развертывании приложения в университете ИТМО используется OpenVPN, для доступа к корпоративной базе данных университета. + +На первом этапе на сервер устанвливается служебное программное обеспечение: jre, open vpn клиент, git для выгрузки проекта из репозитория. + +На втором этапе загружается программное средство sparqlify и настраивается VPN тунель до сети университета ИТМО, проверяется доступность базы данных университета. + +На третьем этапе запускается выгрзука данных из БД и преобразование этих данных в RDF. Устанавливается Virtuoso и запускается загрузка данных в Virtuoso. Если процесс проходит успешно, на настраивается cron задача для автоматизации получения этих данных. + +На следующем этапе устанавливается Pubby, Nginx и настраиватется роутинг приложения. + +Тестируется доступность SPARQL endpoint, датасетов, и корректность работы RESTful API прослойки, приложение развернуто. \ No newline at end of file