<<
>>

Веб-сервис

Программное обеспечение подсистемы интернет-тестирования (веб­сервис), обеспечивает интернет - тестирование удаленного пользователя, то есть удаленное взаимодействие СППР с ЛПР.

При интернет-тестировании веб-сервис взаимодействует не только с базой-данных СППР, но и базой знаний, что позволяет использовать методы обработки данных и решающие правила, предназначенных для обработки таблиц экспериментальных данных, заполненных в результате

взаимодействия с удаленным пользователем.

Каждой таблице экспериментальных данных соответствовал определенный метод ее анализа, а каждой группе аналогичных таблиц экспериментальных данных (построены по принципу тест - решающее правило) соответствовал свой мета - метод.

Кроме того, у удаленного пользователя имеется возможность доступа к таблицам экспериментальных данных, так и возможности удаленного пользователя редактировать записи базы данных, то есть добавлять свои таблицы экспериментальных данных, свои методы и свои мета-методы. При этом не ставилась задача в обеспечении единой координации исследований. По существу каждый удаленный пользователь может выполнять как пассивные функции: наполнение базы данных таблицами экспериментальных данных и методами их обработки, так и использовать все информационные ресурсы веб-сервиса для решения своей конкретной задачи [171].

Модуль удаленного взаимодействия с пользователем представляет набор скриптов на языке Java и требует для работы установленного веб сервера, интерпретатора Java и СУБД MySQL. Сервер СУБД и веб-сервер могут быть установлены на разных компьютерах.

Для создания продукта применялся фреймворк Spring [220], язык Java для программирования основной функциональной части. Для доступа к данным используется драйвер mysql-connector-java, используемый в пуле c3p0. Для создания шаблонов страниц использовался шаблонизатор thymeleaf [223].

Программный модуль предназначен для обеспечения сетевыми функциями системы обработки ТЭД.

Сетевые функции предоставляются пользователю по схеме запрос-ответ. Основные запросы клиента могут быть следующих видов:

- обработка ТЭД (загрузка, хранение, получение и др.), полученных в ходе клинической практики пользователя;

- ведение списка пациентов, у которых необходимо определить склонности к работе в МЧС;

- обработка информации о тестах и методики тестирования, которые могут быть использованы;

- ведение списка тестов.

Основные ответы от сервера клиенту веб-сервиса могут быть следующих видов:

- получение информации о тестах профпригодности работников МЧС;

- ведение списка тестируемых;

- ведение списка тестов, которые могут быть использованы для работников МЧС;

На основе вышеперечисленных требований составим блочную структуру программного обеспечения. Блочная структура должна отражать логическую структуру программного обеспечения и связи между модулями программного обеспечения. Ее можно представить в виде схемы, показанной на рисунке 6.2.

Рисунок 6.2 - Структура программного обеспечения веб-сервиса

Программное обеспечение состоит из следующих логических блоков:

-контроллер запросов;

-сервисный слой;

-репозиторий;

-доменный слой;

-утилиты;

-объекты передачи данных.

Все запросы, поступающие из внешней среды, перенаправляются в блок авторизации Security, который является частью фреймворка Spring. Работа в системе неавторизованных пользователей запрещена. Пользователям будет предложено зарегистрироваться, или войти в систему используя свой логин и пароль.

Контроллер запросов, обрабатывающий http-запросы пользователя, перенаправляет эти запросы на уровень бизнес-логики и формирует ответы пользователю в виде параметров модели представлений. Ответы формируются шаблонизатором на основе библиотеки thymeleaf [223]. Контроллер запросов изменяет параметры представлений или напрямую, или с помощью объектов передачи данных из модуля объектов передачи данных.

Блок описания объектов передачи данных выполняет функции сериализации данных в/из слоя представлений, необходим для маршалинга данных.

Сервисный слой необходим для реализации бизнес-логики, обработки и трансляции передаваемых данных с уровня представлений на уровень данных.

Пакет описания репозиториев служит для хранения сущностей, необходим для формирования интерфейсов доступа к данным предметной области посредством стандартных JPA-интерфейсов с формированием CRUD-модели хранения данных.

Блок доменного уровня сущностей необходим для представления сущностей предметной области в таблицах реляционной базы данных с указанием взаимосвязей между сущностями.

Блок утилит содержит процедуры маппинга (проецирования) данных из сервисного слоя в слой репозиториев и обратно, классов задания ролей в базе данных, а также некоторых вспомогательных классов имплементирующих различные сервисные процедуры.

Блок настройки и инициализации необходим для настройки параметров приложения. Содержит следующие процедуры:

1. Процедура инициализации контекста приложения - необходима для настройки параметров многоязыковой поддержки и загрузки файлов, подключения основных компонент и сборки каркаса приложения, а также определения параметров окружения и места хранения статических ресурсов.

2. Процедура настройки параметров доступа к базе данных - необходима для конфигурации драйверов подключения к базе данных, настройки пула драйверов подключения, настройки менеджера персистентности, запуска менеджера транзакций.

3. Процедура инициализации секьюрити-менеджера - необходима для настройки уровней доступа, списка защищаемых контроллеров, определения точки входа в приложение и страниц авторизации.

4. Процедура настройки параметров шаблонизатора - необходима для задания путей шаблонов представлений, указания типа продукта шаблонизации и параметров кэша.

Веб-сервиса включает следующие элементы:

-персональный компьютер;

-базу данных удаленного пользователя (сегмент в базе данных СППР);

-программный модуль для формирования принятия решений (зеркальное отражение блоков принятия решений в подсистеме принятия решений);

-программный модуль агрегирования решений (зеркальное отражение блока заключений в подсистеме принятия решений).

Проведя работу по оценки необходимой мощности вычислительных средств для решения поставленных задач, были предложены рекомендации по выбору персонального компьютера. Персональный компьютер рекомендуется использовать со следующими параметрами:

-от 3 Гб оперативной памяти, например память 8 шт. Kingston

ValueRAM DDR-III DIMM 8Gb ECC Registered with Parity CL11;

-процессор семейства х86-64 с частотой не ниже 1 ГГц., например 2 шт. CPU Intel Xeon E5-2630 V2 2.6 GHz/6core/1.5+15Mb/80W/7.2 GT/s LGA2011;

-жесткий диск объемом не менее 30 Гб, например 2 шт. HDD 2 Tb SATA 6Gb/s Western Digital RE 3.5" 7200rpm 64Mb. Рекомендуемая программная конфигурация приведена ниже:

-виртуальная машина Java v7;

-СУБД MySQL v5;

-программная платформа MATLAB R2014a;

-веб-браузеры Mozilla Firefox, Google Chrome, Internet Explorer как программы-клиенты пользователей.

После выбора конфигурации программной платформы обоснуем выбор операционной системы.

Выбор программной платформы обуславливает выбор операционной системы. Отметим, что из-за кроссплатформенности частей выбранная программная платформа может быть запущена как на операционной системе из ряда Windows, так и на операционной системе из ряда Linux. Причем как на серверных операционных системах, так и на пользовательских операционных системах. Главное требование - это поддержка протокола TCP/IP и возможность запуска приведенной программной конфигурации, чему удовлетворяют все вышеприведенные семейства операционных систем.

Для администрирования СУБД рекомендуется установить на сервер phpMyAdmin.

Для корректной работы программного обеспечения должны быть выполнены следующие условия: доступность сервера через сеть Internet, а также развернута СУБД и создана база данных. Если в базе данных первоначально не было необходимых таблиц, то JPA-менеджер создаст необходимые таблицы и связи между ними.

Сформируем входные данные программного обеспечения.

К входным данным программного обеспечения относят:

-базовый URL-адрес сервера;

-адрес сервера баз данных;

-имя базы данных;

-имя пользователя базы данных и его пароль;

-максимально допустимый размер загружаемых файлов.

Данные, поступающие от пользователей:

-ФИО;

-логин;

-пароль;

-данные об используемых тестах;

-данные о тестируемых;

-данные о методах принятия решений (решающих правилах).

Все запросы от пользователей отправляются по протоколу http. Форматы запросов приведены далее.

Адрес и поля запроса «Вход в систему» представлены на рисунке 6.3.

Для выхода из системы необходимо направить get-запрос по адресу /logout.

Адрес - /login

Имя пользователя

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" j_username\"

Пароль

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" j_password\"

Рисунок 6.3 - Адреса и поля запроса «Вход в систему»

На рисунке 6.4 представлены поля и адрес запроса «Регистрация в системе».

Адрес - / /signup

Имя

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=∖" firstName∖"

Фамилия

ContentTypeHeader - text/plain ContentDispositionHeader - form-data; name=\" lastName\"

Логин

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" username\"

Пароль

ContentTypeHeader - text/plain ContentDispositionHeader - form-data; name=\" password\"Пароль еще раз

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖" repassword∖"_________

Рисунок 6.4 - Поля и адрес запроса «Регистрация в системе»

Для получения списка используемых тестов get-запрос на адрес /medications/get.

Для создания описания нового теста используется POST-запрос на

адрес /medications/create. Адрес и поля этого запроса приведены на рисунке

6.5.

Адрес - /medications/create

Наименование

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\"name \"

Описание

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\"description \"

Тип

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\"type \"

Рисунок 6.5 - Адрес и поля запроса для создания описания нового

теста или метода

Для редактирования описания нового метода используется GET-запрос на адрес /medications/ edit.

Адрес и поля этого запроса приведены на рисунке 6.6.

Адрес - /medications/ edit

Идентификатор

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\"id \"

Рисунок 6.6 - Адрес и поля запроса «редактирование существующего описания нового метода»

Для удаления описания нового теста используется GET-запрос на адрес /medications/ delete. Адрес и поля этого запроса приведены на рисунке 6.7.

Адрес - /medications/ delete

Идентификатор

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\"id \"

Рисунок 6.7 - Адрес и поля запроса «удаление существующего теста»

Для получения списка применяемых тестов используется get-запрос на адрес / prescriptions /get.

Для создания нового метода используется POST-запрос на адрес / prescriptions /create.

Адрес и поля этого запроса приведены на рисунке 6.8.

Адрес - / prescriptions /create

Доза

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=∖" doze ∖"

Описание

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=∖"description ∖"

пациент

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=∖"patient _id\"

Лекарство

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" medication _id\"

Рисунок 6.8 - Адрес и поля запроса «создание нового метода»

Для редактирования метода используется GET-запрос на адрес / prescriptions / edit. Адрес и поля этого запроса приведены на рисунке 6.9.

Адрес - / prescriptions / edit

Идентификатор

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖"id ∖"________________________________

Рисунок 6.9 - Адрес и поля запроса «редактирование существующего метода»

Для удаления метода используется GET-запрос на адрес / prescriptions / delete. Адрес и поля этого запроса приведены на рисунке 6.10.

Адрес - / prescriptions / delete

Идентификатор

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖"id \"________________________________

Рисунок 6.10 - Адрес и поля запроса «удаление существующего лекарственного назначения»

Для получения списка описания кандидатов используется get-запрос на адрес / patients /get.

Для создания нового описания пациента используется POST-запрос на адрес / patients /create.

Адрес и поля этого запроса приведены на рисунке 6.11.

Адрес - / patients /create

Имя

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" firstname \"

Фамилия

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" lastname \"

Отчество

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" middlename \"

Дата рождения

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=∖" birth ∖"Пол

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖" male ∖"______________________________

Рисунок 6.11 - Адрес и поля запроса «создание нового описания

пациента»

Для редактирования описания пациента используется GET-запрос на

адрес / patients / edit. Адрес и поля этого запроса приведены на рисунке 6.12.

Адрес - / patients / edit Идентификатор ContentTypeHeader - text/plain ______ ContentDispositionHeader - form-data; name=∖"id ∖"________________________________

Рисунок 6.12 - Адрес и поля запроса «редактирование существующего

описания пациента»

Для удаления описания пациента используется GET-запрос на адрес / patients / delete. Адрес и поля этого запроса приведены на рисунке 6.13.

Адрес - / patients / delete

Идентификатор

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=\"id \"________________________________

Рисунок 6.13 - Адрес и поля запроса «удаление существующего описания пациента»

Для получения списка изображений используется get-запрос на адрес / pictures /get.

Для создания нового описания обучающей выборки используется POST-запрос на адрес / pictures /create. Для загрузки файла обучающей выборки на сервер используется POST-запрос на адрес / pictures /upload с параметром MultipartFile. Адрес и поля запроса для создания нового описания обучающей выборки приведены на рисунке 6.14.

Адрес - / pictures /create

Имя

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" name \"

Локатор ресурса

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" url \"

Путь к файлу

ContentTypeHeader - text/plain

ContentDispositionHeader - form-data; name=\" path \"

Пациент

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=\" patient_id \"__________________________

Рисунок 6.14 - Адрес и поля запроса «создание нового описания обучающей выборки»

Для редактирования описания обучающей выборки используется GET-запрос на адрес / pictures / edit. Адрес и поля этого запроса приведены на рисунке 6.15.

Адрес - / pictures / edit

Идентификатор

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖"id ∖"________________________________

Рисунок 6.15 - Адрес и поля запроса «редактирование существующего описания изображения»

Для удаления описания обучающей выборки используется GET-запрос на адрес / pictures / delete. Адрес и поля этого запроса приведены на рисунке

6.16.

Адрес - / pictures / delete

Идентификатор

ContentTypeHeader - text/plain

______ ContentDispositionHeader - form-data; name=∖"id ∖"________________________________

Рисунок 6.16 - Адрес и поля запроса «удаление существующего описания обучающей выборки»

Сформулируем требования к выходным данным программного тобеспечения.

К выходным данным программы можно отнести следующее:

- html-страницы, содержащие информацию по запросу пользователя;

- файлы обучающих выборок и файлы ТЭД;

- ответы системы в случае возникновения ошибок.

В случае возникновения ошибок возвращаются следующие сообщения с соответствующими кодами HTTP-ответа (отличным от 200):

Ошибка запрета доступа error.access.denied. Сообщение: «Доступ не разрешен. У вас недостаточно прав для доступа!».

Ошибка неверного запроса пользователя error.BadRequest. Сообщение: «Неправильный запрос. Проверьте данные.».

Внутренняя ошибка сервера error.InternalServerError. Сообщение: «Внутренняя ошибка сервера».

Недопустимые данные error.WrongData. Сообщение: «Проверьте вводимые данные.».

Неправильный логин или пароль status.login.failure. Сообщение: «Не могу войти. Проверьте имя и пароль!».

Совпадение логина status.signup.invalid.username.duplicate. Сообщение: «Такой логин уже занят!».

Несоответствие паролей на форме ввода пользователя status.signup.invalid.password.notmatching. Сообщение: «Пароли не соответствуют друг другу!».

6.3

<< | >>
Источник: Шуткин Александр Николаевич. МЕТОДОЛОГИЯ СИНТЕЗА ГИБРИДНЫХ КЛАССИФИКАТОРОВ ДЛЯ ПРОГНОЗИРОВАНИЯ СОСТОЯНИЯ ЗДОРОВЬЯ И ПРОФЕССИОНАЛЬНОЙ ПРИГОДНОСТИ ПРИ РАБОТЕ В ЭКСТРЕМАЛЬНЫХ УСЛОВИЯХ. Диссертация на соискание ученой степени доктора технических наук. Курск - 2018. 2018

Еще по теме Веб-сервис:

  1. список работ, опубликованных по теме диссертации
  2. 3.2 Снижение порога доступа к тестированию на ВИЧ
  3. 1 Значения деловых совещаний в менеджменте сервиса и туризма
  4. 1.2 Обзор основных задач, классификаций деловых совещаний и их роль в менеджменте сервиса и туризма.
  5. Претворение в жизнь маркетинговых мероприятий
  6. Общие сведения о глобальной сети Internet
  7. Сервисное программное обеспечение
  8. Киваев A.A., Шапиро Б.И.. Контактная коррекция зрения - Москва, ЛДМ Сервис,2000. - 224 c., 2000
  9. Проблемы обеспечения качества медицинской помощи детям
  10. Глава 7. Инфекции и рак
  11. Веб-сервис
  12. Чернышова Ольга Викторовна. ПСИХОЛОГИЧЕСКИЕ ФАКТОРЫ ЭФФЕКТИВНОСТИ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ МАСТЕРОВ-КОНСУЛЬТАНТОВ СЕРВИСНЫХ ЦЕНТРОВ АВТОМОБИЛЬНЫХ КОМПАНИЙ. АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата психологических наук. ТВЕРЬ - 2014, 2014
  13. ОБЩАЯ ХАРАКТЕРИСТИКА ИССЛЕДОВАНИЯ
  14. ОСНОВНОЕ СОДЕРЖАНИЕ ДИССЕРТАЦИИ
  15. ЧЕРНЫШОВА ОЛЬГА ВИКТОРОВНА. ПСИХОЛОГИЧЕСКИЕ ФАКТОРЫ ЭФФЕКТИВНОСТИ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ МАСТЕРОВ - КОНСУЛЬТАНТОВ СЕРВИСНЫХ ЦЕНТРОВ АВТОМОБИЛЬНЫХ КОМПАНИЙ. Диссертация на соискание учёной степени кандидата психологических наук. Тверь - 2014, 2014
  16. ВВЕДЕНИЕ
  17. Анализ факторов, обусловливающих потребность практики сервисных центров автомобильных компаний в повышении эффективности профессиональной деятельности мастеров - консультантов
- Акушерство и гинекология - Анатомия - Андрология - Биология - Болезни уха, горла и носа - Валеология - Ветеринария - Внутренние болезни - Военно-полевая медицина - Восстановительная медицина - Гастроэнтерология и гепатология - Гематология - Геронтология, гериатрия - Гигиена и санэпидконтроль - Дерматология - Диетология - Здравоохранение - Иммунология и аллергология - Интенсивная терапия, анестезиология и реанимация - Инфекционные заболевания - Информационные технологии в медицине - История медицины - Кардиология - Клинические методы диагностики - Кожные и венерические болезни - Комплементарная медицина - Лучевая диагностика, лучевая терапия - Маммология - Медицина катастроф - Медицинская паразитология - Медицинская этика - Медицинские приборы - Медицинское право - Наследственные болезни - Неврология и нейрохирургия - Нефрология - Онкология - Организация системы здравоохранения - Оториноларингология - Офтальмология - Патофизиология - Педиатрия - Приборы медицинского назначения - Психиатрия - Психология - Пульмонология - Стоматология - Судебная медицина - Токсикология - Травматология - Фармакология и фармацевтика - Физиология - Фтизиатрия - Хирургия - Эмбриология и гистология - Эпидемиология -