Научная статья на тему 'Разработка веб-ориентированных динамических пользовательских интерфейсов для распределенных систем инженерного анализа'

Разработка веб-ориентированных динамических пользовательских интерфейсов для распределенных систем инженерного анализа Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
167
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИНАМИЧЕСКИЙ ПОЛЬЗОВАТЕЛЬСКИЙ ГРАФИЧЕСКИЙ ИНТЕРФЕЙС / ВЕБ-ПРИЛОЖЕНИЕ / АДАПТИВНЫЙ ВЕБ-ПРОДУКТ / DYNAMIC GRAPHICAL USER INTERFACE / WEB APPLICATION / RESPONSIVE WEB PRODUCT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кириллов Никита Дмитриевич, Кольцова Элеонора Моисеевна, Соколов Александр Павлович

В данной работе созданы модули построения и отображения адаптивных динамических пользовательских графических интерфейсов в клиентской веб-ориентированной среде. Модули построения принимают на вход данные из таблиц и представляют их в удобном для пользователя виде. Разработка велась на языках HyperText Markup Language, Cascading Style Sheets, JavaScript и Python.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кириллов Никита Дмитриевич, Кольцова Элеонора Моисеевна, Соколов Александр Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF WEB BASED DYNAMIC USER INTERFACES FOR DISTRIBUTED SYSTEMS ENGINEERING ANALYSIS

N this paper, modules for constructing and mapping adaptive dynamic user interfaces in a client-oriented web-based environment have been created. The building modules take input from the database and present them in a user-friendly form. The development was conducted in the languages HyperText Markup Language, Cascading Style Sheets, JavaScript and Python.

Текст научной работы на тему «Разработка веб-ориентированных динамических пользовательских интерфейсов для распределенных систем инженерного анализа»

УДК 519.710.5:004.8

Кириллов Н.Д., Кольцова Э.М., Соколов А.П.

РАЗРАБОТКА ВЕБ-ОРИЕНТИРОВАННЫХ ДИНАМИЧЕСКИХ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ ДЛЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ ИНЖЕНЕРНОГО АНАЛИЗА

Кириллов Никита Дмитриевич, студент 4 курса бакалавриата факультета информационных технологий и управления, e-mail: nik2010spartak@yandex.ru;

Кольцова Элеонора Моисеевна, д.т.н., профессор, заведующая кафедрой информационных компьютерных технологий;

Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия 125480, Москва, ул. Героев Панфиловцев, д. 20

Соколов Александр Павлович, к.ф.-м.н., доцент кафедры систем автоматизированного проектирования, Московский государственный технический университет им. Н.Э. Баумана, Москва, Россия

В данной работе созданы модули построения и отображения адаптивных динамических пользовательских графических интерфейсов в клиентской веб-ориентированной среде. Модули построения принимают на вход данные из таблиц и представляют их в удобном для пользователя виде. Разработка велась на языках HyperText Markup Language, Cascading Style Sheets, JavaScript и Python.

Ключевые слова: динамический пользовательский графический интерфейс, веб-приложение, адаптивный веб-продукт.

DEVELOPMENT OF WEB BASED DYNAMIC USER INTERFACES FOR DISTRIBUTED SYSTEMS ENGINEERING ANALYSIS

Kirillov N.D., Koltsova E.M., Sokolov A.P.*

D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia * Bauman Moscow State Technical University, Moscow, Russia

In this paper, modules for constructing and mapping adaptive dynamic user interfaces in a client-oriented web-based environment have been created. The building modules take input from the database and present them in a user-friendly form. The development was conducted in the languages HyperText Markup Language, Cascading Style Sheets, JavaScript and Python.

Keywords: dynamic graphical user interface, web application, responsive web product.

Введение

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

Особенностью такого продукта является то, что он предоставляет удаленный доступ. Когда пользователь использует продукт для персонального компьютера, он привязан к машине, на которой выполняются действия. Когда мы говорим о веб-программах, то нужно отчетливо понимать, что их преимущество в том, что необходимо иметь всего лишь выход в сеть Интернет, чтобы пользоваться всеми возможностями [1].

Очевидно, что с развитием веб-технологий также развиваются средства и инструменты в этой области. Это оказывает влияние на все системы, в том числе

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

Теоретическая часть

Рассмотрим подробнее графическое

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

Эти модули созданы в рамках распределенной вычислительной системы GCD, которая ведет свою деятельность с 2004 года в области композиционных материалов. Как и весь веб-клиент, модули глобально представляют собой две части: frontend -визуальная часть, backend - серверная часть. Эти части связаны друг с другом и практически не могут функционировать по отдельности.

Frontend часть состоит из шаблонов html, а также скриптов и стилей для этих шаблонов. Backend часть представляет собой исполняемые файлы и плагины, реализованные на языке Python. Взаимодействие этих частей обеспечивает a/ax-протокол.

Практическая часть

Древовидное представление данных. Итак, рассмотрим первый модуль построения пользовательского графического интерфейса. Этим модулем решается задача представления данных субплагинов системы, которые содержатся в БД, в табличном древовидном отображении.

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

Как уже было сказано, разработка модуля ведется на двух частях. В серверной части этого

Также важно отметить, что в разработке использовался внешний плагин JavaScript, который называется tree-table.js. Этот плагин позволил правильно представить атрибуты данных в соответствии с требованиями работы.

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

Как и в предыдущем модуле, в этом разработка ввелась как в серверной части, так и в визуальной. В серверной части опять же была разработана

модуля была разработана отдельная функция, которая выполняя запрос к БД, создавала справочник значений и вызывала шаблон tree-tab letemplate.html.

Затем, как только был определен тип данных для работы, успешно разработан шаблон для представления данных в древовидном виде. Этот шаблон получал данные от функции серверной части. Эти данные структурировались и записывались в таблицу. Как только встречался элемент, содержащий дочерние элементы, то шаблон с помощью рекурсивной функции начинал обрабатывать дочерние элементы. Особенность реализации такой работы состояла в следующих требованиях:

- у дочерних элементов, которые имеют внешний ключ, ссылающийся на другие данные, этот ключ обязательно нужно скрыть для устранения избыточности данных;

- сами дочерние элементы также следует скрывать, а у родительского - поместить кнопку, при нажатии на которую дочерние элементы станут видимыми;

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

В соответствии с требованиями, описанными выше, было разработано представление (рис.1).

отчетов.

функция, которая вызывает шаблон построения, также принимает от этого шаблона параметры группировки и возвращает данные для отображения пользователю. В визуальной части разработан шаблон group_table_template.html, который содержит элемент формы selectbox, в котором пользователь выбирает параметры группировки. После подтверждения пользователем выбора происходит а/ах-запрос на выборку данных с сервера в соответствии с параметрами группировки. На рис.2 представлен пример такого шаблона: сверху элементы формы, с помощью которых происходит выбор, ниже сама таблица с данными.

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

atype aides (kerb

Имя предметного типа Описание Подробное описание

® REPORTS ОТЧЕТЫ Огкяа. Модаш формирования

В GCDDBSSYS СИСТЕМА

DBSySAI Системные компоненты

Подсистема справочной

HELPS

информации

Рис.1. Пример древовидного отображения данных

pbsid

Птппиклипя

Condie2Q13

Отобразить

field pfVal

Атрибут значение птрийчтп

author {Tyson Condie} and {Paul Mmeiro} and {Neoklis Polyzotis} and {Markus Weimer}

doi ID. 1109/1CDE.2013.6544913

journal Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data (SIGMOD113)

Рис.2. Пример группового отображения данных

Модуль графо-ориентированной технологии.

Последний модуль в данной работе связан с визуальным представлением сложных

вычислительных методов системы (решателей) в виде графовой модели. Такая модель отображает структурные блоки исполнения сложных методов для решения задач [2].

На этот раз в серверной части был разработан целый плагин, который осуществляет передачу набора данных в шаблон в виде словаря, содержащего полное описание всех узлов и ребер

модели. Связь между узлами описывается строкой dot формата.

В визуальной части при разработке шаблона был использован внешний плагин для отображения графовой модели - vis.js. Этот плагин позволил изменить большое количество настроек как для узлов и ребер, так и для всего внешнего слоя. И, что самое главное, плагин позволил применить html код для визуализации.

В итоге получилось такое отображение графовой модели, пример которой представлен на рис.3.

Рис.3. Пример графовой модели

Заключение

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

Список литературы

1. Web-сервер и web-клиент [Электронный ресурс]. Режим доступа: https://fosslook.ru/articles/web-client (дата обращения: 20.05.17).

2. Распределенная вычислительная система GCD [Электронный ресурс]. Режим доступа: http://sa2systems.ru/svn/public/sa2pdf/educae_evn_DE VCAE_LEC7.pdf (дата обращения: 21.05.17).

i Надоели баннеры? Вы всегда можете отключить рекламу.