УДК 004.42 Дата подачи статьи: 12.07.22, после доработки: 18.07.22
DOI: 10.15827/0236-235X.139.466-471 2022. Т. 35. № 3. С. 466-471
Разработка информационной системы в области композитных материалов с применением
современных средств
Н.Д. Кириллов 1, аспирант, nik2010spartak@yandex.ru Э.М. Кольцова 1, д.т.н.., профессор, kolts@muctr.ru
1 Российский химико-технологический университет им. Д.И. Менделеева, г. Москва, 125047, Россия
В статье рассмотрен подход к созданию информационной системы в области композитных материалов с применением современного фреймворка разработки Laravel на языке программирования PHP. Данное исследование включает в себя анализ предметной области и разработку модели хранения данных на его основе, а также разработку основных программных модулей системы и реализацию логики взаимодействия между ними. Оригинальность исследования заключается в реализации информационной системы в виде веб-ориентированного сервиса для быстрого и простого доступа к информации на основе фреймворка Laravel.
Авторы выделяют основные сущности, которые описывают область композитных материалов, и составляют их список. Затем описывают, каким образом по этим сущностям составлена и разработана реляционная модель хранения данных. При создании модели использовались, помимо прочего, методы для наиболее оптимального хранения иерархических структур данных. На основе этой модели хранения данных авторы разработали модули и блоки модулей информационной системы и соединили их в единый конечный сервис. Сервис является веб-ориентированным и очень удобен для предоставления доступа пользователям и исследователям в области композитных материалов ко всей нужной информации. В работе отмечены и описаны инструменты и модули фреймворка Laravel, использованные при разработке всей системы.
Результаты исследования демонстрируют примеры работы информационной системы - приведены страницы авторизации веб-ориентированного сервиса и некоторые страницы основных сущностей системы как представление визуализации сервиса.
Ключевые слова: информационная система, композитные материалы, реляционная модель данных, фреймворк Laravel.
Область композитных материалов является многообразной и перспективной для применения в таких отраслях, как медицина, машиностроение, робототехника, авиастроение, ра-кетно-промышленный комплекс и другие. Растущий интерес со стороны промышленного сектора, расширение способов применения и общее повышение уровня технологий обусловливают появление огромного числа исследований композитных материалов и их основных физико-химических характеристик, а потому часто возникает вопрос, каким образом хранить и обрабатывать полученные объемы данных и как обеспечить оперативный доступ к ним [1].
Авторы статьи предлагают создать информационную систему, представляющую собой веб-ориентированный сервис для быстрого и простого доступа из разных точек мира с использованием различных устройств.
Научная новизна данной работы заключается в том, что основным инструментом разра-
ботки является фреймворк Laravel, который прекрасно подходит для создания информационных систем и API-методов, а также для интеграции с внешними ресурсами данных.
Новым является и подход к проектированию модели хранения данных предметной области - использование методов иерархических структур для правильного представления вложенных типов данных, которые хорошо описывают классификацию композитных материалов.
Авторы исследования установили, что подобные системы с использованием такого же фреймворка обычно создаются в рамках коммерческих задач и целей, в рамках же научно-исследовательских целей системы такого масштаба, с таким подходом к разработке и для области композитных материалов в открытом доступе не представлены. Если говорить о схожих научных работах, то они, как правило, касаются других предметных областей [2, 3] либо имеют другое назначение и выступают как не-
большие локальные приложения [4]. Все перечисленные факты подтверждают оригинальность данной работы.
Разработка информационной системы предполагает решение следующих задач:
- анализ предметной области и составление ее описания на программном уровне - составление списка основных сущностей с учетом выбранных подходов и инструментов разработки;
- разработка модели хранения данных для предметной области с использованием выбранных технических средств;
- разработка логики системы и ее основных модулей взаимодействия с БД и модулей визуализации системы.
Описание фреймворка Laravel
Laravel - это PHP-фреймворк с открытым исходным кодом, предназначенный для упрощения и ускорения разработки веб-приложений с помощью встроенных функций [5, 6]. Эти функции - часть того, что делает Laravel столь широко используемым веб-разработчиками.
• Объектно-реляционное сопоставление БД. В Laravel имеется механизм Eloquent ORM, который представляет таблицы БД в виде классов для упрощения доступа к данным.
• Модульная упаковочная система с управлением зависимостями. Позволяет легко добавлять функциональные возможности в код, не создавая их с нуля. Также есть возможность создавать свои пакеты либо устанавли-
вать готовые пакеты приложений с помощью менеджера Composer [6].
• Автоматическое тестирование. Автоматизированные тесты предоставляются как неотъемлемая часть Laravel и делают процесс разработки более правильным.
• Полноценная система авторизации и аутентификации. Это означает, что процесс разработки заточен под защищенные приложения, доступ к которым может быть осуществлен различными путями.
• Интерфейс командной строки (CLI). Поставляется с десятками готовых команд с помощью встроенного инструмента, называемого Artisan.
Laravel реализует архитектурный паттерн MVC в своем базовом назначении [7]. Также этот фреймворк считается максимально удобным для создания Rest-приложений и API, построенных современным способом [6, 7].
Описание предметной области на программном уровне
При создании информационной системы необходимо выделить основные сущности предметной области и разработать модели хранения данных. Авторы ранее уже описывали свой подход к созданию модели хранения данных для области композитных материалов [8]. Набор сущностей базовой модели является основным, на нем можно в дальнейшем строить любые информационные системы или приложения для области композитов. Сущности модели данной работы представлены в таблице.
Базовые сущности модели хранения данных Basic data storage model entities
Сущность Имя в модели хранения данных Краткое описание
Элемент elements Химические элементы как элементарная сущность
Материал materials Композитные материалы, состоящие из нескольких химических элементов
Образец samples Образцы, над которыми проводят исследования и по которым хранят данные
Состав compositions Состав композита - тип матрицы или наполнителя и процентное содержание
Матрица matrix types, matrix type closure Тип матрицы
Наполнитель filler types, filler type closure Тип наполнителя
Свойство properties Свойства и их базовые параметры -наименование и единицы измерения
Значения свойств single_prop_values, multi_prop_val-ues, multi prop tables Значения свойств и зависимостей
Источник articles, countries Литературные источники, хранящие данные по материалам
Информационная система по композитным материалам должна отражать данные по самим материалам и по их отдельным компонентам -по свойствам этих сущностей и источнику получения информации. Также необходимо учесть, что композитные материалы могут быть совершенно разными по количеству компонентов, по составу и типу матриц и наполнителей. Все эти параметры заложены авторами в данную модель хранения данных. Для сущностей типов матриц и наполнителей использован специальный подход, так как это иерархические структуры данных.
Данная модель хранения подходит под любые реляционные решения, в настоящее время используемые в разработке, а также под разработку во фреймворке Laravel. Структурная модель хранения данных предметной области представлена на рисунке 1.
Описание разработки модели хранения данных
В Laravel модель хранения данных реализуется через две сущности фреймворка - класс модели и миграция [6]. Для каждой сущности предметной области авторы разработали свой класс модели, в котором описывали преобразования полей, связи с другими сущностями предметной области, называемые отношениями, и статические методы для работы с моделью.
Для модели хранения также необходимо создать миграции, представляющие собой описание сущности на уровне, близком к высокоуровневым реляционным языкам. В миграции описываются практически все возможные операторы SQL [6, 9]. Для каждой таблицы в системе разработан свой класс миграции.
Представим пример реализации на программном уровне метода класса миграции для сущности образца материала:
public function up() {
Schema::create('samples', function (blueprint $table){
$table->increments('id'); $table->integer('material_id')->un-signed();
$table->string('name'); $table->text('descr')->nullable(); $table->timestamps(); $table->softDeletes();
$table->foreign('material_id')->refer-ences('id') ->on('materials') -
>onDelete('cascade');
});
}
Как видно из примера, в миграции описывается таблица в БД, которая соответствует определенной сущности. Само описание таблицы представляет собой описание ее отдельных полей и связей [9, 10].
Авторами исследования были созданы классы моделей и файлы миграций под все сущности предметной области и описано взаимодействие этих сущностей. Суммарно со-
materials
PK id int (10)
name varchar (255) compositions matrix_types matrix_type_clo sure
code varchar (255) components PK id int (10) PK id int (10) « 1 PK closure id int (10)
PK id int (10) FK component id int (10) name varchar (255) FK ancestor int (10)
samples name varchar (255) FK matrix type id int (10) FK parent id int (10) FK descendent int (10)
PK id int (10) code varchar (255) FK filler type id int (10) position int (10) depth int (10)
material id FK sample id int (10)
name varchar (255) percentage double
descr text filler types filler type closure
PK id int (10) « PK closure_id int (10)
single_prop values multi_prop_tabies L name varchar (255) FK ancestor int (10)
PK id int (10) PK id int (10) multi_prop_va uues FK parent id int (10) FK descendent int (10)
FK sample id int (10) FK sample id int (10) PK int (10) position int (10) depth int (10)
FK article id int (10) FK article id int (10) FK int (10)
FK prop id int (10) FK prop id int (10)
row int(10)
value min double is_prop_primary tinyint (1)
PK id int (10) double
value max double title varchar (255) double
journal varchar (255) value max double
author varchar (255)
year int (10) properties <J
countries count_page int (10) > PK id int (10)
PK id int (10) FK country id int (10) name varchar (255)
name varchar (255) doi varchar (255) symbol varchar (255)
units varchar (255)
Рис. 1. Структурна Fig. 1. A structi я схема модели предметной области iral diagram of the domain model
здано 15 классов для моделей и 16 файлов миграций для описания этих моделей и связей между ними. Количество миграций отличается, поскольку некоторые сущности имеют схожие дополнительные данные, например, различные медиафайлы или наборы данных, а для таких случаев требуется отдельная миграция.
Описание разработки логики информационной системы
Логика всей системы разрабатывалась через классы контроллеров, взаимодействующие с созданными заранее классами моделей и оперирующие данными сущностей системы. Затем эти данные были преобразованы и переданы на публичную часть сервиса.
Класс контроллеров представляет собой объектно-ориентированный класс с набором методов для оперирования сущностями. В данном случае использованы контроллеры в соответствии со всеми правилами разработки.
Для данной информационной системы самыми сложными были классы контроллеров, описывающие взаимодействие сущностей образца материла и сущностей типов матриц и типов наполнителей композитных материалов. В разработке именно этих контроллеров были реализованы дополнительные методы, направленные на решение сложностей взаимодействия с другими сущностями (рис. 1). Сущность образца материала является наиболее связанной, и это делает ее самой важной и сложной в системе. Для типов матриц и типов наполнителей контроллеры оказались сложными, поскольку для реализации всех действий с иерархическими структурами данных использовались сторонние модули фреймворка.
Базовыми по сложности оказались контроллеры, описывающие менее связанные сущности - материалы, свойства, литературные источники.
Представления, то есть визуальная
часть информационной системы, реализованы через стандартные компоненты HTML и CSS. Контроллеры, получая данные посредством моделей, передают их на публичную часть для визуализации пользователю.
Авторы разработали суммарно 10 классов контроллеров и порядка 40 файлов визуализации данных для всех сущностей предметной области.
Представление работы информационной системы
При авторизации предусмотрены разграничение доступа к системе и возможность привилегий для определенных действий.
После авторизации веб-ориентированный сервис представляет главную страницу информационной системы, где изображено меню по всем сущностям с возможными переходами.
На рисунке 2 представлена сущность образца материала. Конкретно в этом примере рассматривается образец композитного материала оксида алюминия с оксидом магния. Также можно увидеть, что отображается информация о компонентах материала, процентном содержании каждого компонента, о свойствах конкретного образца материала - наименовании свойства и значении с указанием размерности.
В информационной системе таких образцов и материалов большое количество и объем данных постоянно увеличивается, поэтому данные
Рис. 2. Пример представления образца материала в информационной системе с указанием компонент образца материала и его свойств
Fig. 2. An example of the presentation of a material sample in the information system indicating the material sample components and properties
были сгруппированы и представлены для пользователей сервиса в удобном виде.
Заключение
В данной статье описана информационная система в области композитных материалов, разработанная с применением современных средств, в частности, фреймворка Laravel. Представлены описание модели хранения данных на программном уровне и ее разработки, а также краткое описание разработки всей информационной системы.
Система создана с учетом возможных нагрузок из-за большого объема данных и увеличения числа пользователей в будущем. Также учтены множество особенностей предметной области и возможные ограничения для пользователей системы по правам доступа и привилегиям.
В целом информационная система отражает сущности такой обширной предметной области, как композитные материалы. Тем не менее, авторы продолжают работу над улучшением системы и возможным расширением ее назначения.
Литература
1. Colombo P., Ferrari E. Access control technologies for Big Data management systems: Literature review and future trends. Cybersecurity, 2019, vol. 2, no. 1, pp. 1-13. DOI: 10.1186/s42400-018-0020-9.
2. Yunita L., Nurjayadi M., Hariwibowo H. Developing the Computer-Based Test (CBT) on the basic chemistry throughout a web-based application. J. of Physics: Conf. Ser., 2021, vol. 1869, no. 1, art. 012026. DOI: 10.1088/1742-6596/1869/1/012026.
3. Ji Y., Yao X., Liu S., Ma C., Tian M., Yuan T., Li L. Development and application of agriculture data collection and management system based on Laravel framework. Acta Agriculturae Shanghai, 2019, vol. 35, no. 4, pp. 107-113.
4. Rocha A., Vilhena J., Bernardino A. et al. Bio&Med Search - A platform to help health professionals about pharmacogenetics. Procedia Computer Science, 2019, vol. 164, pp. 692-697. DOI: 10.1016/j.procs.2019. 12.237.
5. GitHub. Griffin J. Advanced Laravel / Domain-Driven Laravel. 2021, pp. 161-191. URL: https://github. com/Apress/domain-driven-laravel (дата обращения: 15.06.2022).
6. Stauffer M. Laravel: Up & Running: A Framework for Building Modern PHP Apps. CA, O'Reilly Media Publ., 2019, 531 p.
7. Chen S. Understanding of the management information system based on MVC pattern. AIP Conference Proceedings, 2018, vol. 1955, art. 040014. DOI: 10.1063/1.5033678.
8. Кольцова Э.М., Кириллов Н.Д. Разработка модели хранения данных для области композитных материалов // Вестн. Академии Международных Исследований. Информатика, Экология, Экономика. 2020. Т. 22. С. 34-41.
9. Sendiang M., Kasenda S., Polii A., Putung Y.R. Optimizing Laravel authentication process. Proc. iCAST, 2018, pp. 247-251. DOI: 10.1109/ICAST1.2018.8751257.
10. Pakpahan A.F. Dasar-Dasar Pengembangan Aplikasi Web Modern dengan Framework Laravel. Media Sains Indonesia Publ., 2020.
Software & Systems Received 12.07.22, Revised 18.07.22
DOI: 10.15827/0236-235X.139.466-471 2022, vol. 35, no. 3, pp. 466-471
Developing an information system in the field of composite materials
using modern tools
N.D. Kirillov Postgraduate Student, nik2010spartak@yandex.ru E.M. Koltsova ', Dr.Sc. (Engineering), Professor, kolts@muctr.ru
1 D. Mendeleev University of Chemical Technology of Russia, Moscow, 125047, Russian Federation
Abstract. The article considers the approach to developing an information system in the field of composite materials using the modern development framework Laravel in the PHP programming language. This study includes the subject area analysis and data storage model development based on this analysis, the development of the main program modules of the system and the implementation of the logic of interaction between these
modules. The originality of the study is in the implementation of the information system as a web-based service for quick and easy access to information based on the Laravel development framework.
This paper identifies and compiles a list of the main entities that describe the field of composite materials. Then, the paper presents a description a method of compiling and developing a relational data storage model for these entities. During model developing, among other things, the authors used methods for the most optimal storage of hierarchical data structures. Based on this data storage model, the authors developed modules and blocks of information system modules and connected these modules into a single end service. This service is web-based and can very conveniently provide users and researchers of composite materials with access to all the information they need. The work notes and describes the tools and modules of the Laravel framework, which were used in the development of the entire system.
As a demonstration of the study results, the authors give examples of the information system operation -the authorization pages of a web-based service and some pages of the main entities of the system are given as an example of service visualization.
Keywords: information system, composite materials, relational data models, Laravel framework.
References
1. Colombo P., Ferrari E. Access control technologies for Big Data management systems: Literature review and future trends. Cybersecurity, 2019, vol. 2, no. 1, pp. 1-13. DOI: 10.1186/s42400-018-0020-9.
2. Yunita L., Nurjayadi M., Hariwibowo H. Developing the Computer-Based Test (CBT) on the basic chemistry throughout a web-based application. J. of Physics: Conf. Ser., 2021, vol. 1869, no. 1, art. 012026. DOI: 10.1088/1742-6596/1869/1/012026.
3. Ji Y., Yao X., Liu S., Ma C., Tian M., Yuan T., Li L. Development and application of agriculture data collection and management system based on Laravel framework. Acta Agriculturae Shanghai, 2019, vol. 35, no. 4, pp. 107-113.
4. Rocha A., Vilhena J., Bernardino A. et al. Bio&Med Search - A platform to help health professionals about pharmacogenetics. Procedia Computer Science, 2019, vol. 164, pp. 692-697. DOI: 10.1016/j.procs. 2019.12.237.
5. GitHub. Griffin J. Advanced Laravel / Domain-Driven Laravel. 2021, pp. 161-191. Available at: https://github.com/Apress/domain-driven-laravel (accessed June 15, 2022).
6. Stauffer M. Laravel: Up & Running: A Framework for Building Modern PHP Apps. CA, O'Reilly Media Publ., 2019, 531 p.
7. Chen S. Understanding of the management information system based on MVC pattern. AIP Conference Proceedings, 2018, vol. 1955, art. 040014. DOI: 10.1063/1.5033678.
8. Koltsova E.M., Kirillov N.D. Development of a data storage model for the field of composite materials.
Bull. of Academy of International Studies. Computer Science, Ecology, Economics, 2020, vol. 22, pp. 34-41 (in Russ.).
9. Sendiang M., Kasenda S., Polii A., Putung Y.R. Optimizing Laravel authentication process. Proc. iCAST, 2018, pp. 247-251. DOI: 10.1109/ICAST1.2018.8751257.
10. Pakpahan A.F. Dasar-Dasar Pengembangan Aplikasi Web Modern dengan Framework Laravel. Media Sains Indonesia Publ., 2020.
Для цитирования
Кириллов Н.Д., Кольцова Э.М. Разработка информационной системы в области композитных материалов с применением современных средств // Программные продукты и системы. 2022. Т. 35. № 3. С. 466-471. DOI: 10.15827/0236-235X.139.466-471.
For citation
Kirillov N.D., Koltsova E.M. Developing an information system in the field of composite materials using modern tools. Software & Systems, 2022, vol. 35, no. 3, pp. 466-471 (in Russ.). DOI: 10.15827/0236-235X. 139.466-471.