Файл: Особенности алгоритмизации при работе WEB-приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 299

Скачиваний: 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-приложений».

Данная цель была реализована посредством решения следующих задач:

  • изучены теоретические аспекты проектирования веб-сайтов;
  • рассмотрены современные тенденции разработки сайтов;
  • определены принципы проектирования сайтов;
  • изучен вопрос организации системы информационной безопасности и защиты информации на сайте;
  • выбраны средства разработки сайта;
  • разработана структура базы данных сайта.