Научная статья на тему 'ПРОЕКТИРОВАНИЕ LC/NC ПЛАТФОРМЫ НА БАЗЕ ФРЕЙМВОРКА LARAVEL'

ПРОЕКТИРОВАНИЕ LC/NC ПЛАТФОРМЫ НА БАЗЕ ФРЕЙМВОРКА LARAVEL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
43
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
LOW-CODE / NO-CODE / РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / LARAVEL / ПРОЕКТИРОВАНИЕ ПЛАТФОРМ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мизюков Г.С.

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

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

DESIGNING AN LC/NC PLATFORM BASED ON THE LARAVEL FRAMEWORK

The article highlights the distinguishing features of low-code, no-code platforms, their advantages and disadvantages, reviews existing research in the field of low-code, no-code development, discusses the main components of the platform being designed and fragments of algorithms responsible for generating program code.

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ LC/NC ПЛАТФОРМЫ НА БАЗЕ ФРЕЙМВОРКА LARAVEL»

Проектирование LC/NC платформы на базе фреймворка Laravel

Г. С. Мизюков

Ростовский государственный университет путей сообщения, Ростов-на-Дону

Аннотация: В статье освещаются отличительные признаки low-code, no-code платформ, их преимущества и недостатки, делается обзор существующих исследований в области low-code, no-code разработки, рассматриваются основные компоненты проектируемой платформы и фрагменты алгоритмов, отвечающих за генерацию программного кода. Ключевые слова: low-code, no-code, разработка программного обеспечения, laravel, проектирование платформ

Введение

Развитие информационных технологий способствует появлению новых подходов к проектированию и разработке программного обеспечения. Одними из таких подходов являются low-code (LC) и no-code (NC). Оба подхода предполагают разработку программного обеспечения без написания программного кода. Отличие состоит лишь в том, что low-code подход допускает написание и редактирование программного кода в небольшом объеме (например, написание sql-запроса). Платформы, разработанные на основе данных подходов, позволяют снизить затраты за счет сокращения времени разработки программного продукта, а также требований к квалификации персонала, и ускорить процесс цифровой трансформации организации за счет использования готовых шаблонов и решений. Основными отличительными признаками LC/NC платформ являются наличие визуального интерфейса с поддержкой drag and drop функционала, наличие готовых шаблонов, компонентов, модулей и решений, а также поддержка быстрого развертывания программного продукта. Среди недостатков LC/NC платформ следует отметить зависимость от платформы и сложность миграции на другие сервисы, ограниченность в функционале (особенно при работе с NC платформами), наличие персонала с минимальными знаниями программирования (при работе с LC

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

Предшествующие работы

Возможность сокращения цикла проектирования программного обеспечения, разработка программ без написания программного кода являются актуальными направлениями, исследованиям которых уделяется большое внимание. Так, например, в статье [1] автор рассматривает наиболее популярные low-code и no-code платформы (Salesforce, OutSystem, Microsoft Power App), описывает основные отличия между ними и некоторые из проблем, с которыми можно столкнуться при переходе к данным платформам. Авторы статей сосредоточили свои исследования вокруг low-code платформ: сделали обзор платформ [2, 3], показали их преимущества [4, 5], в качестве примеров привели свои наработки в области low-code [6]. В статье [7] авторы освещают основные вызовы, с которыми можно столкнуться при разработке low-code и no-code платформ. Статья [8] посвящена обзору вспомогательных инструментов, основанных на машинном обучении, с помощью которых возможна генерация небольших фрагментов программного кода. В статье [9] авторы описывают критерии обучающей выборки для тренировки нейронной сети, которая способна проводить анализ исходного кода программ. В статье [10] авторы предлагают no-code платформу на основе предсказательной аналитики для анализа социальных сетей.

Описание LC/NC платформы на базе фреймворка Laravel

Для проектирования и дальнейшей реализации LC/NC платформы был выбран фреймворк Laravel. Данный фреймворк позволяет разрабатывать веб-

и

приложение любой сложности. В основе фреймворка лежит архитектура MVC (Model-View-Controller), которая позволяет гибко управлять структурой веб-приложения. На рис. 1 показан процесс генерации кода n-ой вебстраницы. Процесс начинается с получения запроса от пользователя на показ n-ой веб-страницы. Далее запрос получает маршрутизатор (Router). Маршрутизатор определяет тип запроса, его параметры и передает их в контроллер (Controller). В контроллере определен ряд методов, вызов, которых определяется параметрами запроса. Таким образом, на основании запроса определяется n-й метод из контроллера. Затем контроллер запрашивает данные из базы данных на основе модели (Model) объекта. Под моделью объекта понимается таблица из базы данных. После этого контроллер передает данные в размеченный шаблон (View) и возвращает пользователю готовую веб-страницу.

Рис. 1. - Модель процесса генерации кода веб-страницы

Далее рассмотрим реализацию генерации кода n-ой веб-страницы на фреймворке Laravel. На первом этапе необходимо определить модели объектов базы данных. В качестве основных моделей будут выступать 4 таблицы: pages, sections, elements, elementcontens (рис. 2). Таблица pages

хранит информации о заголовке страницы, её url адрес, а также сведения, необходимые для индексации страницы поисковыми системами. Таблица sections отвечает за хранение логической структуры веб-страницы, в таблице elements хранятся объекты интерфейса веб-страницы, такие, как кнопка (<button>, <input type="submit" value="button">, <input type="radio">), текстовое поле (<input type="text">, <textarea>), таблица (<table>) и т.д. Таблица element_contens отвечает за хранение содержимого объектов из таблицы elements.

cms_app_db sections ^ id : bigint[20) unsigned

# page_id : bigintf20) unsigned

# element_id : bigint[20) unsigned

# is_hide : tinyintfl) □ created_at : timestamp Ш npdated_at : timestamp ш deleted_at : timestamp

cms_app. dl pages ^ id : bigint[20) unsigned 4i title : varchar(255} e url : varchar(255) dj meta_title : varchar(255) m meta_keywords : varchar[255) © meta_description : varchar(255)

# is_noindex : tinyint(1)

# is_hide : tinyintfl) ш created_at : timestamp Ш Lipdated_at : timestamp ш deleted_at : timestamp

Рис. 2. - Фрагмент физической модели базы данных с отражением связей

между таблицами

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

М Инженерный вестник Дона, №11 (2022) ivdon.ru/ru/magazine/arcliive/nlly2022/7993

Route::get(' {slug}', [UrlController: class, 'index'])->name('uif);

Рис. 3. - Фрагмент программного кода маршрутизатора (файл web.php)

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

$ е lern ent = Elem ent:: s e le et ('titl e')->fin dOrF^l ($ it em->e lern ent_i d);

Рис. 4. - Фрагмент программного кода контроллера (файл UrlController.php)

Заключение

На основе небольшого примера, разработанного на фреймворке Laravel, продемонстрированно создание веб-приложения, которое способно

генерировать веб-страницы с динамичным содержимым. Структура такого приложения позволяет создавать простые веб-ресурсы без написания программного кода, ориентированные на малый и средний бизнес. Среди минусов стоит отметить отсутствие сложной бизнес-логики. Но, несмотря на это, данное веб-приложение может занять свой сегмент рынка программных продуктов, на базе которого возможно построение полноценной LC/NC платформы.

Литература

1. Магомадов В.С. Платформы low-code и no-code как способ сделать программирование более доступным для широкой общественности // МНИЖ. 2021. №6-1 (108). С.100-103.

2. Гаврилина Дарья Эдуардовна, Манцивода Андрей Валерьевич Low-code и объектные электронные таблицы // Известия Иркутского государственного университета. Серия: Математика. 2022. №.40. С. 93-103.

3. Яковлев Г.С., Иванов Ф.Ф. Использование low-code платформ при переходе на процессный подход в создании автоматизированных систем // Вест. КРАУНЦ. Физ.-мат. науки. 2020. №1. С. 120-126.

4. Bock, A.C., Frank, U. Low-Code Platform. Bus Inf Syst Eng 63. 2021. Pp. 733-740. URL: doi.org/10.1007/s12599-021-00726-8

5. Phalake, V.S., Joshi, S.D. Low Code Development Platform for Digital Transformation. In: Kaiser, M.S., Xie, J., Rathore, V.S. (eds) Information and Communication Technology for Competitive Strategies (ICTCS 2020). Lecture Notes in Networks and Systems. 2021. Vol. 190. Springer, Singapore. URL: doi.org/10.1007/978-981 -16-0882-7_61

6. Bucaioni, A., Cicchetti, A. & Ciccozzi, F. Modelling in low-code development: a multi-vocal systematic review. Softw Syst Model 21. 2022. Pp. 1959-1981. URL: doi.org/10.1007/s10270-021-00964-0

7. Rokis, K., Kirikova, M. Challenges of Low-Code/No-Code Software Development: A Literature Review. In: Nazaruka, Ё., Sandkuhl, K., Seigerroth, U. (eds) Perspectives in Business Informatics Research. BIR 2022. Lecture Notes in Business Information Processing. 2022. Vol. 462. Springer, Cham. URL: doi.org/10.1007/978-3-031 -16947-2_1

8. Какутин Д.Ю., Дмитриев А.С., Абрамов И.М. Обзор вспомогательных инструментов на основе машинного обучения для написания исходного кода программ // Инженерный вестник Дона, 2022, №5. URL: ivdon.ru/ru/magazine/archive/n5y2022/7675

9. Какутин Д.Ю., Дмитриев А.С. Формирование и анализ эффективности выборки для обучения языковых моделей распознаванию и анализу исходного кода программ // Инженерный вестник Дона, 2022, №5. URL: ivdon.ru/ru/magazine/archive/n5y2022/7682

10. Schötteler, S., Laumer, S., Schuhbauer, H., Scheidthauer, N., Seeberger, P., Miethsam, B. A No-Code Platform for Tie Prediction Analysis in Social Media Networks. In: Ahlemann, F., Schütte, R., Stieglitz, S. (eds) Innovation Through Information Systems. WI 2021. Lecture Notes in Information Systems and Organisation. 2021. Vol. 47. Springer, Cham. URL: doi.org/10.1007/978-3-030-86797-3_32

References

1. Magomadov V.S. MNIJ. 2021. №6-1 (108). Pp.100-103.

2. Gavrilina Darya Eduardovna, Mantsivoda Andrey Valerevich. Izvestiya Irkutskogo gosudarstvennogo universiteta. Seriya: Matematika. 2022. №.40. Pp. 93-103.

3. Yakovlev G.S., Ivanov F.F. Vest. KRAUNTS. Fiz.-mat. nauki. 2020. №1. Pp. 120-126.

4. Bock, A.C., Frank, U. Bus Inf Syst Eng 63, 2021. Pp. 733-740. URL: doi.org/10.1007/s12599-021-00726-8

5. Phalake, V.S., Joshi, S.D. In: Kaiser, M.S., Xie, J., Rathore, V.S. (eds) Information and Communication Technology for Competitive Strategies (ICTCS 2020). Lecture Notes in Networks and Systems. 2021. Vol. 190. Springer, Singapore. URL: doi.org/10.1007/978-981-16-0882-7_61

6. Bucaioni, A., Cicchetti, A. & Ciccozzi, F. Softw Syst Model 21, 2022. Pp. 1959-1981. URL: doi.org/10.1007/s10270-021-00964-0

7. Rokis, K., Kirikova, M. In: Nazaruka, Ë., Sandkuhl, K., Seigerroth, U. (eds) Perspectives in Business Informatics Research. BIR 2022. Lecture Notes in Business Information Processing. 2022. Vol. 462. Springer, Cham. URL: doi.org/10.1007/978-3-031-16947-2_1

8. Kakutin D.YU., Dmitriev A.S., Abramov I.M. Inzhenernyj vestnik Dona, 2022, №5. URL: ivdon.ru/ru/magazine/archive/n5y2022/7675

9. Kakutin D.YU., Dmitriev A.S. Inzhenernyj vestnik Dona, 2022, №5. URL : ivdon.ru/ru/magazine/archive/n5y2022/7682

10. Schötteler, S., Laumer, S., Schuhbauer, H., Scheidthauer, N., Seeberger, P., Miethsam, B. In: Ahlemann, F., Schütte, R., Stieglitz, S. (eds) Innovation Through Information Systems. WI 2021. Lecture Notes in Information Systems and Organisation. 2021. Vol. 47. Springer, Cham. URL: doi.org/10.1007/978-3-030-86797-3 32

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