Сокращение бизнес-логики в клиентской части веб-приложений
Автор: Авчинников Виталий Вадимович
Рубрика: 4. Информатика
Опубликовано в
XC международная научная конференция «Исследования молодых ученых» (Казань, ноябрь 2024)
Дата публикации: 08.11.2024
Статья просмотрена: 13 раз
Библиографическое описание:
Авчинников, В. В. Сокращение бизнес-логики в клиентской части веб-приложений / В. В. Авчинников. — Текст : непосредственный // Исследования молодых ученых : материалы XC Междунар. науч. конф. (г. Казань, ноябрь 2024 г.). — Казань : Молодой ученый, 2024. — С. 1-5. — URL: https://moluch.ru/conf/stud/archive/524/18706/ (дата обращения: 19.12.2024).
В докладе рассматривается один из способов минимизации бизнес-логики в клиентской части веб-приложения, построенного на принципах клиент-серверной архитектуры.
Ключевые слова: веб-приложение, корпоративное приложение, бизнес-логика.
В настоящее время интернет-технологии развиваются довольно стремительно, вместе с этим растет и развивается сфера интернет-сервисов, среди которых есть мобильные и веб-приложения для корпоративных пользователей. Сложные корпоративные приложения обычно отличаются большим объемом функционала, логика которого находится как на стороне сервера, так и на стороне клиента в коде мобильного приложения или в коде клиентской части веб-приложения.
По сравнению с персональными компьютерами и ноутбуками, на которых интернет-соединение обычно обеспечивается оптоволоконной технологией, на мобильных устройствах хороший интернет есть далеко не во всех уголках планеты, также у мобильных устройств вычислительные мощности уступает настольным ПК и есть ограничение по запасу энергии. Учитывая все эти факторы, нужно понимать, что приложения для мобильных устройств должны иметь небольшой размер, использовать минимум интернет-трафика и не производить ресурсоемких вычислений. Если следовать вышеуказанной рекомендации, то приложение будет работать быстро практически на всех мобильных устройствах, включая старые и бюджетные модели.
Чтобы существенно минимизировать размер клиентской части приложений для мобильных устройств, необходимо минимизировать размер бизнес-логики, которая там находится. Например, в коде клиентской части может размещаться контент информационных материалов, множество форм со всеми условиями показа полей, контент всплывающих окон и много чего другого. Всё это можно перенести в серверную часть и передавать в клиентскую при необходимости используя при этом JSON формат. Таким образом в клиентской части останется только базовый функционал, который ничего не знает о конкретных страницах и их содержании, а также главный компонент, который на основе переданной с сервера в формате JSON структуры страницы построит дерево из имеющихся компонентов. Например, общий код страницы может быть представлен следующим набором данных:
Рис. 1. Данные общей структуры страницы в формате JSON
Рис. 2. Данные для элемента формы регистрации в формате JSON
Как видно из приведенных примеров, есть несколько разных elem (элемент): “block”, “text”, “h1” и другие элементы, названия которых начинаются с символа “@”. Block — простейший блочный элемент на всю ширину родительского элемента. Text — строчный элемент с текстовым содержимым. H1 — заголовок первого уровня. @Logo, @Search, @ProfileLink, @Form, @Link — это базовые компоненты клиентской части приложения, которые имеют некоторую внутреннюю логику отображения и/или интерактивного взаимодействия.
Реализуя такой подход, львиная часть бизнес-логики, отвечающей за представление, которая зачастую размещается в клиентской части приложения, будет генерироваться на серверной стороне, но несмотря на это, те компоненты, которые нуждаются в сложной интерактивной логике, реализуют интерактивность именно на клиентской стороне. Но эта реализация общей интерактивности обычно вообще не связана с нюансами конкретной бизнес-логики. Например, данные для полей формы содержат параметры валидации, это часть бизнес-логики и она будет приходить с серверной части приложения. А сам механизм валидации, общий для всех форм, будет реализован на клиентской стороне.
При таком подходе, даже если в нашем приложении будет 1000 различных страниц, форм, таблиц и других довольно объемных по содержанию элементов, код клиентской части приложения будет гораздо меньше, чем при широко распространенном подходе, когда вся логика представления хранится в клиентской части приложений. И хотя вышеописанный пример касается в большей степени веб-приложений, но аналогичный подход можно использовать и при разработке мобильных приложений. В этом случае размер мобильного приложения сократится, а также не потребуется реализовывать логику представления отдельно в клиентской части мобильной версии веб-приложения и отдельно в коде мобильного приложения.
Литература:
- Где наша бизнес-логика для идеалиста? / [Электронный ресурс] // Хабр: [сайт]. — URL: https://habr.com/ru/articles/219445/ (дата обращения: 07.11.2024).
- Авчинников, В. В. Проблемы размещения бизнес-логики в клиентской части веб-приложений / В. В. Авчинников. — Текст: непосредственный // Молодой ученый. — 2024. — № 18 (517). — С. 11–13. — URL: https://moluch.ru/archive/517/111927/ (дата обращения: 07.11.2024).
Похожие статьи
Разработка мобильных приложений с использованием облачных баз данных
В статье рассмотрены особенности разработки мобильных приложений с использованием облачных баз данных. Отдельное внимание уделено контейнерам, микросервисам, а также их композициям. Особый акцент сделан на целесообразности применения архитектурного ш...
Использование мобильных приложений в бизнес-процессах
В статье автор рассматривает эффективное использование мобильных приложений в бизнес-процессах, выделяя их преимущества и вызовы.
Построение имитационной модели JavaEE веб-приложения по результатам тестирования производительности
В статье рассматриваются вопросы построения имитационной модели веб-приложения в среде Palladio Bench по результатам тестирования производительности реального веб-приложения на базе Apache Tomcat с использованием приложения Apache Jmeter, чтобы опред...
Выбор языка программирования для разработки серверной части веб-приложения
В статье автор проводит исследование среди наиболее популярных языков программирования с целью определения наиболее функционального и поддерживаемого сообществом языка для разработки веб-приложений.
Обоснование выбора платформы для создания чат-бота в гостиничном бизнесе
В статье представлены результаты кабинетного исследования аналитических обзоров, позволивших автору обосновать выбор платформы для создания чат-бота для отеля.
Использование тезаурусов для автоматизации построения поисковых запросов в интернете
Актуальность выбранной темы обусловлена необходимостью использования тезауруса для упрощения поиска в сети и разновидных системных областях.
Маркетинговое сегментирование клиентской базы с помощью применения RFM-анализа
В статье подчеркивается важность применения RFM– анализа в сегментировании клиентской базы. Приводятся некоторые трактовки понятия сегмент рынка. Выделяются различные способы разбиения клиентов на группы при сегментации. Описывается стратегия примене...
Анализ эффективности методов нахождения оптимальной концепции веб-дизайна
Статья посвящена методам нахождении оптимальной концепции веб-дизайна. Рассматриваются методы нахождения оптимальной концепции и анализируется эффективность их применения.
Программный модуль моделирования атак в сегменте корпоративной сети с учетом оценки риска
Разработан программный модуль анализа атак в корпоративной сети на основе оценки рисков. В основу данного модуля положен новый метод на основе уязвимостей каждого элемента сети.
Модификация архитектуры web-приложения, основанной на паттерне CQRS, для повышения производительности
В работе рассматривается способ организации архитектуры web-приложения на основе паттерна CQRS. В основе архитектуры лежит разделение на write- и read- модели, которые используют SQL и NoSql базы данных. Результатом применения архитектуры стало возмо...
Похожие статьи
Разработка мобильных приложений с использованием облачных баз данных
В статье рассмотрены особенности разработки мобильных приложений с использованием облачных баз данных. Отдельное внимание уделено контейнерам, микросервисам, а также их композициям. Особый акцент сделан на целесообразности применения архитектурного ш...
Использование мобильных приложений в бизнес-процессах
В статье автор рассматривает эффективное использование мобильных приложений в бизнес-процессах, выделяя их преимущества и вызовы.
Построение имитационной модели JavaEE веб-приложения по результатам тестирования производительности
В статье рассматриваются вопросы построения имитационной модели веб-приложения в среде Palladio Bench по результатам тестирования производительности реального веб-приложения на базе Apache Tomcat с использованием приложения Apache Jmeter, чтобы опред...
Выбор языка программирования для разработки серверной части веб-приложения
В статье автор проводит исследование среди наиболее популярных языков программирования с целью определения наиболее функционального и поддерживаемого сообществом языка для разработки веб-приложений.
Обоснование выбора платформы для создания чат-бота в гостиничном бизнесе
В статье представлены результаты кабинетного исследования аналитических обзоров, позволивших автору обосновать выбор платформы для создания чат-бота для отеля.
Использование тезаурусов для автоматизации построения поисковых запросов в интернете
Актуальность выбранной темы обусловлена необходимостью использования тезауруса для упрощения поиска в сети и разновидных системных областях.
Маркетинговое сегментирование клиентской базы с помощью применения RFM-анализа
В статье подчеркивается важность применения RFM– анализа в сегментировании клиентской базы. Приводятся некоторые трактовки понятия сегмент рынка. Выделяются различные способы разбиения клиентов на группы при сегментации. Описывается стратегия примене...
Анализ эффективности методов нахождения оптимальной концепции веб-дизайна
Статья посвящена методам нахождении оптимальной концепции веб-дизайна. Рассматриваются методы нахождения оптимальной концепции и анализируется эффективность их применения.
Программный модуль моделирования атак в сегменте корпоративной сети с учетом оценки риска
Разработан программный модуль анализа атак в корпоративной сети на основе оценки рисков. В основу данного модуля положен новый метод на основе уязвимостей каждого элемента сети.
Модификация архитектуры web-приложения, основанной на паттерне CQRS, для повышения производительности
В работе рассматривается способ организации архитектуры web-приложения на основе паттерна CQRS. В основе архитектуры лежит разделение на write- и read- модели, которые используют SQL и NoSql базы данных. Результатом применения архитектуры стало возмо...