Файл: Особенности алгоритмизации при работе WEB-приложений.pdf
Добавлен: 31.03.2023
Просмотров: 305
Скачиваний: 2
На скорость загрузки страниц влияет низкая производительность CMS и большая нагрузка на ОП, которую Drupal создает количеством запросов к БД.
Немного выше скорость загрузки у Wordpress. Если посещаемость сайта высокая (от 3 тысяч в день), Wordpress сильно грузит систему из-за тяжелого движка, большого количества запросов к базе данных. Требуется работа над оптимизацией, но данная оптимизация краткосрочная.
OpenCart имеет высокое значение скорости загрузки, хотя содержит большое количество модулей, которые влияют на производительность.
Лучшая скорость загрузки у MODx. При правильном выборе хостинга и использовании последней версии обновления, сайты загружаются быстро.
3. Seo-ориентированность [4].
В Joomla нет возможности настроить страницы для SEO «из коробки», то есть необходимо устанавливать модули.
Чтобы настроить Drupal для SEO-оптимизации, нужно установить от 5 до 8 модулей, что усложняет процесс. Также модули генерируют нежелательные технические страницы, которые могут попасть в индекс.
Wordpress хорошо оптимизируется под SEO, но нужно провести большую работу, прежде, чем переходить непосредственно к оптимизации. Также эта CMS генерирует дубли страниц, а это усложняет оптимизацию.
OpenCart обладает хорошими возможностями для SEO-оптимизации, в частности, есть ЧПУ (человекопонятные URL), которые «любит» Google.
Продвижение сайта – одно из преимуществ MODx. Все требования специалистов по SEO реализуются очень быстро.
4. Безопасность.
Joomla и Drupal не используют специальных мер защиты. А сайты на Joomla подвергаются хакерским атакам чаще всего.
OpenCart, Wordpress: из-за открытого кода и доступности бесплатных модулей, в них могут оказаться вложенные вирусы. Но при использовании проверенных источников, этого можно избежать [39].
Из рассматриваемых видов CMS MODx лучше всего подходит к вопросам безопасности – специальный паттерн Active Record защищает доступ к данным.
5. Масштабируемость.
Joomla не предоставляет достаточного количества модулей для расширения возможностей сайта, нужна дополнительная работа.
Функционал Drupal значительно расширяется с помощью большого количества модулей. Однако здесь есть свой минус – модули утяжеляют код и формируют большую вложенность тегов, что влияет на качество работы сайта.
Wordpress – большая часть функционала реализуется именно с помощью плагинов, которые доступны в большом количестве.
Все модули на MODx бесплатны, а преимущество в том, что дополнения настраиваются сразу из админки. Это экономит время разработки сайта.
OpenCart обладает широкой модульной системой, которая позволяет расширить функционал CMS [43].
6. Адаптивность.
Joomla, Drupal, Wordpress – разрабатывая сайт на этих CMS, тратится время на усовершенствование адаптивности.
7. Удобство использования.
Drupal – посетители сайтов, которые сделаны на этой CMS, отмечают низкий юзабилити и недружелюбный интерфейс. Со стороны разработки нужно заметить, что у Drupal мало бесплатных тем, а для создания новой нужны опытные веб-мастера. Более того, внутренние интерфейс также малоинтуитивен и управление контентом будет сложной задачей.
Сведем все характеристики в одну таблицу (см. таблицу 2).
Таблица 2 – Достоинства и недостатки распространенных бесплатных CMS
|
Критериии |
Wordpress |
Drupal |
Joomla |
MODx |
OpenCart |
|
1. Универсальность |
Высокая |
Высокая |
Низкая |
Высокая |
Высокая |
|
2. Скорость загрузки страниц |
Средняя |
Низкая |
Низкая |
Высокая |
Высокая |
|
3.Seo-ориентированность |
Средняя |
Низкая |
Низкая |
Высокая |
Высокая |
|
4. Безопасность |
Средняя |
Низкая |
Низкая |
Высокая |
Высокая |
|
5. Масштабируемость |
Высокая |
Низкая |
Средняя |
Высокая |
Высокая |
|
6. Адаптивность |
Средняя |
Средняя |
Средняя |
Высокая |
Высокая |
|
7.Удобство использования |
Высокая |
Низкая |
Средняя |
Высокая |
Высокая |
CMS OpenCart распространяется бесплатно по лицензии GNU GPL, работает на базе PHP + MySQL, предназначена для самостоятельного и профессионального создания Интернет-магазина, ее название можно перевести как «Открытая корзина для покупок». Весьма популярна за рубежом и в России, поэтому к ней легко найти документацию, переведённую на русский язык версию и официальную русскоязычную поддержку. Российское сообщество разработчиков насчитывает несколько тысяч человек, поэтому в случае нужды в доработке исходного кода, не будет проблем с поиском специалиста. Ещё одним преимуществом OpenCart является множество разработанных под неё модулей, расширений и готовых сборок.
Одна из самых распространенных русских сборок – ocStore, которую часто именуют «русский OpenCart». Основные отличия заключаются в функционале, например, большое внимание уделено SEO-продвижению, что слабо проработано в OpenCart. Также важным плюсом является полная русская локализация магазина, которая включает в себя не только русский язык интерфейса и установщика, но и наличие национальной валюты и способов оплаты. Есть возможность установки других валют, в том числе тенге, что очень важно для казахстанского сайта.
Для разработки сайта использовался один из последних релизов: ocStore 2.3.0.2 [13]. Из дополнительных модулей установлен шаблон Basecart Theme – это базовый, бесплатный шаблон для OpenCart 2.x и OpenCart 3.x со встроенными цветовыми схемами Bootswatch.
Основные возможности:
- простая установка;
- адаптивный дизайн;
- 17 цветовых схем;
- 2 типа цвета шапки для каждой цветовой схемы;
- шаблон построен с использованием Bootstrap 3;
- удобное переключение цветовых схем;
- хорошая отзывчивость и высокая скорость работы.
Выбрана цветовая схема: Slate – темно-серый фон, надписи светло-серые и белые, фон картинок – белый.
Для постоянного размещения корпоративного сайта в сети Интернета необходимо выбрать хостинг, т.е. компанию, которая предоставляет хостинг-услуги. Хостинг – это услуга по предоставлению ресурсов (дискового пространства) для физического размещения информации (сайта) на сервере провайдера, постоянно находящегося в сети Интернет [21, с. 361].
2.1 Пример создания базы данных в веб-приложениях
Более девяноста процентов веб-ресурсов работают на системах управления контентом (CMS), использующих язык РНР, и построенных по принципу разделения графической составляющей (интерфейса) и данных, которые хранятся в отдельных файлах, называемых базами SQL [5].
MySQL – свободная реляционная система управления базами данных. MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы [40].
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Непосредственное управление СУБД MySQL осуществляется через командную строку, поэтому для удобства управления был разработан phpMyAdmin [40].
PHPMyAdmin – это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс. На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например XAMPP, Denwer, Apache, AppServ, Open Server.
Все операции с ячейками и их содержимым – просмотр, копирование, удаление, вставка производятся в один клик. Наиболее часто веб-разработчиками и администраторами сайта используется возможность моментального создания копии базы данных для переноса сайта с одного хоста на другой. При желании его можно получить сразу в заархивированном виде.
Для управления разрабатываемым сайтом так же используется панель PHPMyAdmin. Для входа в систему управления используется связка из логина и пароля, после их ввода открывается панель PHPMyAdmin. Интерфейс PHPMyAdmin состоит из окна, поделенного на две части. Слева находится узкий столбец, в котором представлены список баз данных и древовидная структура каждой из них. Справа – рабочее окно, в котором отражаются содержимое ячеек базы, меню команд и служебные кнопки. На рисунке 12 представлена база данных сайта.
База данных CMS ocStore 2.3.0.2 по умолчанию включает 132 таблицы различного назначения. Структура и назначение большинства таблиц соответствует таблицам родительской CMS OpenCart. На рисунке 4представлена схема связей некоторых таблиц CMS OpenCart [36].
Рисунок 4 – База данных сайта
Рисунок 5 – Схема связей некоторых таблиц CMS OpenCart
В CMS ocStore 2.3.0.2 название каждой таблицы начинается с перфикса ос_. Рассмотрим структуру и назначение некоторых таблиц. Как видно из схемы (см. рисунок 13) – основной таблицей определяющей Интернет-магазин сайта, является таблица product. В CMS ocStore данная таблица обозначена oc_product, предназначена для регистрации всех товаров и содержит такие же поля [37]. Структура таблицы oc_product представлена на рисунке 5. Содержание таблицы oc_product представлено на рисунке 6.
Рисунок 6 – Структура таблицы базы oc_product
Рисунок 7 – Содержание таблицы базы oc_product
С данной таблицей через ключевое поле product_id связано четырнадцать других таблиц базы: oc_product_special; oc_product_discount; oc_product_related; oc_product_reward; oc_product_to_store; oc_product_image; oc_product_to_layout; oc_product_to_download; oc_review; oc_product_option; oc_product_option_value; oc_product_attribute; oc_product_description; oc_product_to_category.
Рассмотрим некоторые связанные таблицы. Например, таблица oc_product_reward, предназначенная для назначения бонусных баллов. На рисунке 8 представлена структура данной таблицы, на рисунке 9 – содержание таблицы.
Рисунок 8 – Структура таблицы базы oc_product_reward
Рисунок 9 – Содержание таблицы базы oc_product_reward
Таблица oc_product_to_layout предназначена для назначения схем отображения продукции и позволяет каждому продукту назначить сою схему представления. На рисунке 10 представлена структура данной таблицы, на рисунке 11 – содержание таблицы.
Таблица oc_product_image предназначена для связывания продукта с его изображением и определения местоположения изображения. На рисунке 12представлена структура данной таблицы, на рисунке 13 – содержание таблицы.
Рисунок 10 – Структура таблицы базы oc_product_to_layout
Рисунок 11 – Содержание таблицы базы oc_product_to_layout
Рисунок 12 – Структура таблицы базы oc_product_image
Рисунок 13 – Содержание таблицы базы oc_product_image
Таким образом организованы все таблицы сайта, построенного на базе CMS ocStore 2.3.0.2. С помощью панели PHPMyAdmin можно просматривать таблицы, вносить изменения и при необходимости переносить сайт на другой хостинг.
ЗАКЛЮЧЕНИЕ
Тема работы: «Особенности алгоритмизации при работе web-приложений».
Данная цель была реализована посредством решения следующих задач:
- изучены теоретические аспекты проектирования веб-сайтов;
- рассмотрены современные тенденции разработки сайтов;
- определены принципы проектирования сайтов;
- изучен вопрос организации системы информационной безопасности и защиты информации на сайте;
- выбраны средства разработки сайта;
- разработана структура базы данных сайта.