Сepвиcнaя c^TeMa SaaS-мoдeли иpoгpaммиoгo oбecиeч єния
расч eToB иaдeжиocти РЭА
Жаднов В. В.
Кафедра Радиоэлектроники и телекоммуникаций,
Московский институт электроники и математики национального исследовательского университета ««Высшая школа экономики», Москва
«Облачная» модель распространения и поддержки программных средств (англ. Software as a Service, сокращенно SaaS) предполагает использование их в режиме удаленного доступа [1]. Суть этой модели заключается в максимальном переносе процесса вычислений и хранения данных на сервер. При реализации модели SaaS практически все данные хранятся на сервере, основной объем вычислений проводятся на сервере, а взаимодействие пользователя с программным средством осуществляется посредством обмена данными через сервер. [2]. При этом на долю рабочей станции пользователя (компьютер, планшет, смартфон и др.) остается задача обеспечения связи с сервером, отображения информации и предоставление минимальных вычислительных ресурсов [3].
Такими свойствами обладает система АСОНИКА-К-СЧ программного комплекса АСОНИКА-К [4]. Однако, входящая в ее состав система администрирования пользователей, лишь отчасти отвечала требованиям к сервисной модели программного обеспечения, которое должно [5]:
- содержать функциональности развертывания сервиса и администрирования пользователей;
- включать механизмы тарификации условий работы пользователей и проведения биллинга в соответствии с выбранными пользователем условиями и потребленными ресурсами;
- обеспечивать удобные механизмы обращения в службу технической поддержки сервиса непосредственно с рабочей станции пользователя.
Поэтому для реализации этих требований была создана сервисная система, отвечающая вышеперечисленным требованиям и реализованная в виде WEB-портала, состав которого приведен на рис. 1.
Ниже приведено краткое описание модулей системы.
Модуль регистрации отвечает за регистрацию пользователя в системе и содержит две функции. Функция вывода формы регистрации выводит форму регистрации в HTML-формате и отправляет данные в функцию регистрации. Функция регистрации получает данные от функции вывода формы регистрации и проверяет введенные значения. Если правильно заполнены все необходимые поля и пользователя с введенным логином не существует, то отправляется SQL-запрос на добавление нового пользователя. В противном случае возвращается сообщение об ошибке.
Рис. 1. Состав модулей сервисной системы Модуль авторизации отвечает за успешную авторизацию в системе и содержит две функции. Функция вывода формы авторизации выводит форму авторизации на портале в HTML-формате и отправляет данные в функцию авторизации. Функция авторизации получает данные от функции вывода формы авторизации и проверяет введенные значения. Формирует SQL-запрос к базе данных. Если пользователь и пароль совпадают с существующими в базе данных, то авторизация проходит успешно. В ином случае выводится сообщение об ошибке и авторизации не происходит.
Модуль вопросов и ответов занимается системой вопросов и ответов со стороны пользователя и содержит четыре функции. Функция показа списка вопросов выводит список вопросов, заданных пользователем и выделяет вопросы, на которые есть ответ. Функция вывода формы вопроса выводит форму в HTML-формате и отправляет данные в функцию добавления вопроса. Функция вывода вопроса выводит заданный вопрос и ответ, если он есть. Функция добавления вопроса отправляет на сервер SQL-запрос и выводит сообщение об успешном запросе.
Модуль добавления ЭРИ в систему АСОНИКА-К-СЧ отправляет запрос на добавление ЭРИ и содержит две функции. Функция вывода формы добавления ЭРИ выводит форму добавления ЭРИ в HTML-формате и отправляет данные в функцию добавления ЭРИ. Функция добавления ЭРИ получает данные от функции вывода формы добавления ЭРИ и проверяет введенные значения. Если все поля заполнены правильно, то функция добавляет запрос в базу данных и выводит сообщение об успехе. В противном случае выводится сообщение об ошибке.
Модуль добавления функции в систему АСОНИКА-К-СЧ отправляет запрос на добавление функции и содер ит две функции. Функция вывода формы добавления функции выводит форму добавления функции в HTML-формате и отправляет данные в функцию добавления функции. Функция добавления функции получает данные от функции вывода формы добавления функции и проверяет введенные значения. Если все заполнено правильно, то функция добавляет запрос в базу данных и выводит сообщение об успехе. В противном случае выводится сообщение об ошибке.
Модуль вывода обновления системы АСОНИКА-К-СЧ выдает список файлов и содер ит функцию вывода файлов, которая выводит список необходимых для работы архивов системы АСОНИКА-К-СЧ в формате HTML.
Модуль административной панели отвечает за управление порталом и содер ит восемь функций. Функция вывода списка запросов ЭРИ выводит список запросов на добавление ЭРИ в HTML-формате. Функция вывода списка запросов на добавление функции выводит список запросов на добавление функции в HTML-формате. Функция вывода списка вопросов выводит список вопросов в HTML формате. Функция вывода запроса ЭРИ выводит запрос на добавление ЭРИ в HTML-формате. Функция вывода запроса на добавление функции выводит запрос на добавление функции в HTML-формате. Функция вывода вопроса выводит заданный вопрос в HTML формате. Функция вывода формы ответа на вопрос выводит форму для ответа на вопрос в HTML формате и отправляет данные в функцию ответа на вопрос. Функция ответа на вопрос получает данные из функции вывода формы ответа на вопрос. Если сообщение не пустое, то добавляет ответ в заданный вопрос. В противном случае выводит сообщение об ошибке.
В сервисной системе для хранения данных используется СУБД MySQL. База данных системы состоят из четырех таблиц, для ка дой из которых использован префикс assk_ во избе ание случайных совпадений.
Данные пользователей хранятся в таблице ASSK_USERS, описание которой приведено в табл. 1.
Поле Тип Описание
1 2 3
a_id int Целое число, отвечающее за уникальный номер пользователя.
a_mail text Текстовое поле. Хранит в себе e-mail пользователя.
a_login varchar(64) Строка длиной 64 символа. Хранит в себе логин пользователя, под которым он заходит в систему.
a_pass varchar(64) Строка длиной 64 символа. Хранит в себе пароль пользователя.
a_name text Текстовое поле, которое содержит имя пользователя.
a_family text Текстовое поле, которое содержит фамилию пользователя.
a_secondname text Текстовое поле, которое содержит отчество пользователя.
a_firmname text Текстовое поле. Хранит в себе название предприятия.
a_jobadress text Текстовое поле. Хранит в себе адрес предприятия.
a_mail_index varchar(256) Строка длиной 256 символов. Почтовый адрес предприятия.
a_job_position text Текстовое поле. Хранит в себе должность пользователя.
a_telephone varchar(16) Строка длиной 16 символов. Хранит в себе контактный телефон.
a_fax varchar(16) Строка длиной 16 символов. Хранит в себе факс пользователя.
a_know text Текстовое поле.
a_desc text Текстовое поле.
a_balance float Число с плавающей запятой. Хранит в себе число оставшихся запросов.
a_perm enum(‘0’,’1’) Перечисление между 0 и 1. Отвечает за уровень доступа пользователя. 0 - простой пользователь, 1 -администратор.
a_status enum(‘0’,’1’) Перечисление ме ду 0 и 1. Отвечает за статус пользователя. 0 -пользователь выключен, 1 -пользователь включен.
a_hddnum varchar(256) Строка длиной 256 символов. Хранит в себе номер жесткого диска пользователя.
a_lastcount int Целое число. Хранит в себе последнее количество запросов к Ж AmH^A-K.
Вопросы пользователей и ответы администратора хранятся в таблице ASSK_QA, описание которой приведено в табл. 2.
Заявки пользователей на добавление ЭРИ в СЧБД системы АСОНИКА-К-СЧ хранятся в таблице ASSK_ERI, описание которой приведено в табл. 3.
Запросы пользователей на добавление функций в систему АСОНИКА-К-СЧ хранятся в таблице ASSK_FUNC, описание которой приведено в табл. 3.
Поле Тип Описание
qa_id int Целое число. Хранит в себе уникальный идентификатор вопроса.
a_id int Целое число. Хранит в себе уникальный идентификатор автора вопроса.
qa_status enurn^’,’!’ ) Перечисление между 0 и 1. Отвечает за статус сообщения. 0 - сообщение без ответа, 1 - на сообщение есть ответ.
qa_question text Текстовое поле. Хранит в себе вопрос.
qa_answer text Текстовое поле. Хранит в себе ответ.
qa_time int Целое число. Хранит в себе время отправки сообщения согласно ИМХ-времени.
Таблица 3. Описание таблицы ASSK_ER1
Поле Тип Описание
e_id int Целое число. Хранит в себе уникальный идентификатор заявки на добавление ЭРИ.
a_id int Целое число. Хранит в себе уникальный идентификатор автора заявки на добавление ЭРИ.
a_login text Текстовое поле. Хранит себе логин автора заявки на добавление ЭРИ.
e_name text Текстовое поле. Хранит в себе типономинал (наименование) ЭРИ.
e_func_group text Текстовое поле. Хранит в себе функциональную группу ЭРИ.
e_nomer_tu text Текстовое поле. Хранит в себе номер ТУ ЭРИ.
e_ktp text Текстовое поле. Хранит в себе конструктивнотехнологические параметры ЭРИ.
e_ep text Текстовое поле. Хранит в себе электрические параметры ЭРИ.
e_up text Текстовое поле. Хранит в себе условия применения ЭРИ.
e_file text Текстовое поле. Хранит в себе файл технической документации ЭРИ.
Таблица 4. Описание таблицы ASSK_FUNC
Поле Тип Описание
f_id int Целое число. Хранит в себе уникальный идентификатор запроса на добавление функции.
a_id int Целое число. Хранит в себе уникальный идентификатор автора запроса на добавление функции.
a_login varchar(64) Строка длиной 64 символа. Хранит в себе логин автора заявки на добавление функции.
f_text text Текстовое поле. Хранит в себе текст заявки на добавление функции.
f_status enum(‘0’,’1’) Перечисление ме ду 0 и 1. Отвечает за статус заявки. 0 - заявка не была просмотрена. 1 - заявку просмотрел администратор.
войти
Рис. 3. Начальная страница WEB-nopmaлa
Все таблицы связаны уникальным идентификатором пользователя (А_ГО), который присваивается автоматически при регистрации.
Укрупненная Блок-схема алгоритма функционирования сервисной системы приведена на рис. 2.
Ниже приведено краткое описание блоков алгоритма.
Блок 1. Начало. Запуск браузера и переход на начальную страницу WEB-портала (см. рис. 3).
Блок. 2. Решение. Выбор способа входа в систему: ввод персональных данных или регистрация.
Блок. 3. Регистрация. Ввод данных, необходимых для регистрации нового пользователя (см. рис. 4).
В случае успешной регистрации в таблице А88К_И8ЕЯ8 базы данных появится новая запись (см. рис. 5).
После успешной регистрации переход на Блок 5. В противном случае переход на Блок 2.
Блок 5. Авторизация. Ввод персональных данных пользователя. В случае успешной авторизации переход на Блок 5. В противном случае переход на Блок 2.
Блок 6. Вывод интерфейса сервисной системы (см. рис. 6).
Блок 7. Решение. Выбор функции сервисной системы.
Рис. 2. Алгоритм функционирования сервисной системы
Рис. 4. Страница регистрации
* т > а_к1 а_таМ а_1одт а_раав а_пате а_(атИу а_5есопс1иате
□ у X 1 sergionikol@gmail.com эп!ко1аеу дег@#$%)кЬ!4п к]к Сергей Николаев Сергеевич
Рис. 5. Фрагмент таблицы ASSK_USERS
Блоки 8-11. Вывод страницы соответствующей функции.
Поддержка (Блок 9). После отправления вопроса в таблице А8БК_РА базы данных появится новая запись (см. рис. 7).
qaid aid qastatus qaquestion qaanswer qatime
1 1 0 Добрый день Какая у вас температура за окном? 1338103768
Рис. 7. Фрагмент таблицы ASSK_QA
Как видно из рис. 7 вопрос добавился. Статус у вопроса 0, а это значит, что администратор системы еще не ответил на него.
Добавление ЭРИ (Блок 10). После отправления запроса на добавление ЭРИ в таблице ASSK_ERI базы данныгх появится новая запись (см. рис. 8).
Добавление функции (Блок 11). После отправления запроса на добавление функции в таблице ASSK_FUNC базы данных появится новая запись (см. рис. 9).
e_id aid alogin ename efuncgroup enomertu
Рис. 8. Фрагмент таблицы ASSK_ERI
\ \ snikolaev До&рый день У меня в ОС Windows нет калькулятора.... О
Рис. 9. Фрагмент таблицы ASSK_FUNC
Как видно из рис. 9 сообщение добавилось. Статус у заявки 0, а это значит, что администратор системы еще не просмотрел заявку.
Блок 12. Окончание. Завершение работы с системой.
Опытная эксплуатация сервисной системы подтвердила ее функциональные возможности и эффективность работы с интернет-пользователями системы АСОНИКА-К-СЧ.
Список литературы
1. Фингар П. Dot. Cloud: облачные вычисления - бизнес-платформа XXI века. -М.: Аквамариновая Книга, 2011. - 256 с.
2. Риз Д. Облачные вычисления. - СПб.: БХВ-Петербург, 2011. - 288 с.
3. Деревянко А.С., Солощук М.Н. Технологии и средства консолидации информации: Учебное пособие. - Харьков: НТУ «ХПИ», 2008. - 432 с.
4. Абрамешин А.Е., Жаднов В.В., Полесский С.Н. Информационная технология обеспечения наде ности электронных средств наземно-космических систем: Научное издание. / Отв. ред. В.В. Жаднов. - Екатеринбург: Форт Диалог-Исеть, 2012. - 565 с.
5. Жаднов В.В. Перспективы создания программного обеспечения на технологиях «облачных вычислений» для расчетов наде ности РЭА. / Инновации на основе информационных и коммуникационных технологий: материалы международной научно-технической конференции. // Под. ред. С.У. Увайсова, отв. за вып. И.А. Иванов. - М.: МИЭМ НИУ ВШЭ, 2012. - с. 288-292.
- 14б -