ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 September 2024

Developing an information system in the field of composite materials using modern tools

Date of submission article: 12.07.2022
Date after edit article: 18.07.2022
UDC: 004.42
The article was published in issue no. № 3, 2022 [ pp. 466-471 ]
Abstract:The article considers the approach to developing an information system in the field of composite mate-rials 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 de-velopment of the main program modules of the system and the implementation of the logic of interac-tion 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 develop-ment framework. This paper identifies and compiles a list of the main entities that describe the field of composite ma-terials. 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 meth-ods 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 re-searchers of composite materials with access to all the information they need. The work notes and de-scribes the tools and modules of the Laravel framework, which were used in the development of the en-tire system. As a demonstration of the study results, the authors give examples of the information system opera-tion - 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.
Аннотация:В статье рассмотрен подход к созданию информационной системы в области композитных материалов с применением современного фреймворка разработки Laravel на языке программирования PHP. Данное исследование включает в себя анализ предметной области и разработку модели хранения данных на его основе, а также разработку основных программных модулей системы и реализацию логики взаимодействия между ними. Оригинальность исследования заключается в реализации информационной системы в виде веб-ориентированного сервиса для быстрого и простого доступа к информации на основе фреймворка Laravel. Авторы выделяют основные сущности, которые описывают область композитных материалов, и составляют их список. Затем описывают, каким образом по этим сущностям составлена и разработана реляционная модель хранения данных. При создании модели использовались, помимо прочего, методы для наиболее оптимального хранения иерархических структур данных. На основе этой модели хранения данных авторы разработали модули и блоки модулей информационной системы и соединили их в единый конечный сервис. Сервис является веб-ориентированным и очень удобен для предоставления доступа пользователям и исследователям в области композитных материалов ко всей нужной информации. В работе отмечены и описаны инструменты и моду-ли фреймворка Laravel, использованные при разработке всей системы. Результаты исследования демонстрируют примеры работы информационной системы – приведены страницы авторизации веб-ориентированного сервиса и некоторые страницы основных сущностей системы как представление визуализации сервиса.
Authors: Kirillov N.D. (nik2010spartak@yandex.ru) - D. Mendeleev University of Chemical Technology of Russia (Postgraduate Student), Moscow, Russia, Koltsova E.M. (kolts@muctr.ru) - D. Mendeleev University of Chemical Technology of Russia (Professor), Moscow, Russia, Ph.D
Keywords: information system, composite materials, relational data models, laravel framework
Page views: 2856
PDF version article

Font size:       Font:

Область композитных материалов является многообразной и перспективной для применения в таких отраслях, как медицина, машиностроение, робототехника, авиастроение, ракетно-промышленный комплекс и другие. Растущий интерес со стороны промышленного сектора, расширение способов применения и общее повышение уровня технологий обусловливают появление огромного числа исследований композитных материалов и их основных физико-химических характеристик, а потому часто возникает вопрос, каким образом хранить и обрабатывать полученные объемы данных и как обеспечить оперативный доступ к ним [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]. Набор сущностей базовой модели является основным, на нем можно в дальнейшем строить любые информационные системы или прило-  жения для области композитов. Сущности модели данной работы представлены в таблице.

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

Данная модель хранения подходит под любые реляционные решения, в настоящее время используемые в разработке, а также под разработку во фреймворке Laravel. Структурная модель хранения данных предметной области представлена на рисунке 1.

Описание разработки модели   хранения данных

В Laravel модель хранения данных реализуется через две сущности фреймворка – класс модели и миграция [6]. Для каждой сущности предметной области авторы разработали свой класс модели, в котором описывали преобразования полей, связи с другими сущностями предметной области, называемые отношениями, и статические методы для работы с моделью.

Для модели хранения также необходимо создать миграции, представляющие собой описание сущности на уровне, близком к высокоуровневым реляционным языкам. В миграции описываются практически все возможные операторы SQL [6, 9]. Для каждой таблицы в системе разработан свой класс миграции.

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

public function up()

{

   Schema::create(’samples’, function (blueprint $table){

      $table->increments(’id’);

      $table->integer(’material_id’)->unsigned();

      $table->string(’name’);

      $table->text(’descr’)->nullable();

      $table->timestamps();

      $table->softDeletes();

      $table->foreign(’material_id’)->references(’id’)->on(’materials’)->onDelete(’cascade’);

   });

}

Как видно из примера, в миграции описывается таблица в БД, которая соответствует определенной сущности. Само описание таблицы представляет собой описание ее отдельных полей и связей [9, 10].

Авторами исследования были созданы классы моделей и файлы миграций под все сущности предметной области и описано взаи-  модействие этих сущностей. Суммарно создано 15 классов для моделей и 16 файлов миграций для описания этих моделей и связей между ними. Количество миграций отличается, поскольку некоторые сущности имеют схожие дополнительные данные, например, различные медиафайлы или наборы данных, а для таких случаев требуется отдельная миграция.

Описание разработки логики   информационной системы

Логика всей системы разрабатывалась через классы контроллеров, взаимодействующие с созданными заранее классами моделей и оперирующие данными сущностей системы. Затем эти данные были преобразованы и переданы на публичную часть сервиса.

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

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

Базовыми по сложности оказались контроллеры, описывающие менее связанные сущности – материалы, свойства, литературные источники.

Представления, то есть визуальная часть информационной системы, реализованы через стандартные компоненты HTML и CSS. Контроллеры, получая данные посредством моделей, передают их на публичную часть для визуализации пользователю.

Авторы разработали суммарно 10 классов контроллеров и порядка 40 файлов визуализации данных для всех сущностей предметной области.

Представление работы   информационной системы

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

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

На рисунке 2 представлена сущность образца материала. Конкретно в этом примере рассматривается образец композитного материала оксида алюминия с оксидом магния. Также можно увидеть, что отображается информация о компонентах материала, процентном содержании каждого компонента, о свойствах конкретного образца материала – наименовании свойства и значении с указанием размерности.

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

Заключение

В данной статье описана информационная система в области композитных материалов, разработанная с применением современных средств, в частности, фреймворка 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.

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.

Permanent link:
http://swsys.ru/index.php?page=article&id=4928&lang=en
Print version
The article was published in issue no. № 3, 2022 [ pp. 466-471 ]

Perhaps, you might be interested in the following articles of similar topics: