Администрирование веб-ресурсов: проблемы и перспективы их решения | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №8 (88) апрель-2 2015 г.

Дата публикации: 07.04.2015

Статья просмотрена: 155 раз

Библиографическое описание:

Горяев Д. В. Администрирование веб-ресурсов: проблемы и перспективы их решения // Молодой ученый. — 2015. — №8. — С. 220-222. — URL https://moluch.ru/archive/88/17165/ (дата обращения: 25.06.2018).

В статье рассматриваются проблемы администрирования ресурсов и выявляются пути их решения.

Ключевые слова:веб-ресурс, административная панель, перспективы веб-разработки.

 

Разработка веб-ресурсов различного наполнения и назначения в настоящее время является одним из актуальных направлений развития IT-индустрии. Такие ресурсы, как правило, строятся на основе систем управления контентом. Количество таких систем огромно и постоянно увеличивается, причем у каждой из них есть свои уникальные особенности. Отследить все такие особенности не всегда возможно, но можно учесть недостатки различных систем, предложить для них решение и получить таким образом надстройку над стандартным набором инструментария.

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

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

Полезным для разработчиков станет и реализация функционала для получения и возможности изменения конфигурации файла php.ini:

-                   включение/выключение безопасного режима;

-                   отображение в адресной строке идентификатора текущей сессии;

-                   возможность изменения имени GET-параметра для сессии;

-                   отображение значений переменных, например, возможность использования глобальных переменных.

При этом, единственным необходимым условием для реализации таких возможностей станет наличие php интерпретатора, так как для получения и изменения настроек php необходимы функции cfg_get_var($param) и cfg_set_var($param,$value).

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

Упрощение системы маршрутизации и адресации также можно отнести к перспективным направлениям совершенствования технологий администрирования веб-ресурсов. Роутинг — процесс определения маршрута следования, определения URL-адресов в системе для доступа к информации. Во многих CMS, в том числе и наиболее популярных open source системах, таких как Joomla и Wordpress, гибкое управление такими адресами отсутствует.

Часто в системах управления контентом отсутствует также многосайтовость и многоязычность «из коробки». Обеспечение данного функционала сводится к установке дополнительных модулей, либо к еще более узкому решению под конкретную ситуацию, а также требует дополнительных работ.

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

Отметим, что когда в продукте появляются инструменты отладки приложения — это безусловный знак зрелости. При этом понятно, что надежность и производительность разработанной системы зависит не только от продукта, но и от разработчиков, которые создают компоненты и программируют бизнес-логику сайта.

Проведение тестов реализуется с помощью методов из установленных дополнительных пакетов, таких как PHPUnit. При этом желательно составлять наборы тестов еще до построения системы (см., например, [1], [2], [3]), но так как даже скелет будущих проектов уже запрограммирован, возможным к реализации остается только пост-тестирование. А значит, если это новый функционал, актальным для него представляется возможность создания своего набора тестов. Таким образом, получим экспериментальную проверку правильности решений, принятых на этапах построения дополнительной функциональности, перед ее внедрением. Данная возможность также становится актуальной при отсутствии тестовой площадки.

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

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

При оптимизации сайтов полезным оказывается набор функций, который позволяет:

-                   проводить тесты на устойчивость кода;

-                   отображать иерархию классов посредством UML;

-                   проводить или указывать на типовые SEO работы (seohide, удаление циклических ссылок для правильного распределения ссылочного веса и т. п.).

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

Сильнейшим ограничением систем, на которых строится большинство веб-ресурсов являются базы данных, которые решают достаточно большой спектр повседневных задач администрирования сайтов. Так, наиболее часто используемая MySQL поддерживает 2 типа таблиц: транзакционные (InnoDB) и без поддержки транзакций, которые используются по умолчанию (MyISAM). Преимуществами первых являются надежность хранения информации при сбоях, возможность отката изменений, объединение нескольких запросов в один. К преимуществам второго типа можно отнести скорость и малый объем занимаемых записей.

Тем не менее, некоторые задачи MySQL реализовать не может, причем это также касается и хостеров, которые ожидают стандартный круг задач от клиентов и предлагают в качестве базы только MySQL.

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

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

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

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

Многие функции для разных баз данных похожи, и в общем случае для открытия и прерывания соединения имеют вид *_connect, *_close (например, pg_close — функция закрытия для PostgreSQL). Для абстрагирования от конкретной базы данных можно было бы ввести конструкцию, позволяющую подставлять вместо «*» строку, соответствующую используемой базе данных, однако, это оказывается трудоемкой и рискованной задачей. Для подобных целей был придуман программный интерфейс ODBC, который вводит дополнительный уровень абстракции между контроллером (логикой сайта) и моделью (базой данных).

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

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

 

Литература:

 

1.    Мерсер Д., Кент А., Новицки С. PHP5 для начинающих. — М.: Вильямс, 2011. — 848 с.

2.    Петин В. Сайт на AJAX под ключ. — СПб.: БХВ-Петербург, 2011. — 427 с.

3.    Hypertext Preprocessor // [Электронный ресурс] / URL: http://php.net/ (Дата обращения: 08.03.2015).

Основные термины (генерируются автоматически): баз данных, ODBC, набор тестов, CMS, ORM, SEO, UML, проведение тестов, система.


Ключевые слова

веб-ресурс, административная панель, перспективы веб-разработки.

Похожие статьи

Разработка программного модуля тестирования баз данных

Следует систематизировать информацию на одном стенде, предоставить инструменты для тестирования и отчеты о выполнении тестов.

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

Сравнение производительности ORM-библиотек как критерия...

Системы управления реляционными базами данных (СУБД) показывают хорошую

Проводимый тест проверяет, за какое время каждая

Основные термины (генерируются автоматически): ORM, баз данных, данные, результат тестирования, CODE, реляционная...

IDEF1X-модель базы данных web-ориентированной...

Наборы тестовых заданий для оценки семантического качества меню. Структура-Тестов.

Основные термины (генерируются автоматически): тестовое задание, i-го пункта меню, пункт меню, информационная система, баз данных, web-ориентированной информационная...

Комбинация средств UML И CSP-OZ для разработки приложений...

1. Введение. В большинстве современных разработок различных приложений баз данных используются полуформальные методы (OMT, UML,…). [1], основанные главным образом на графических системах обозначения...

Построение имитационной модели JavaEE веб-приложения по...

Рис. 2.Архитектура стенда тестирования как система массового обслуживания.

Применялась следующая процедура обработки экспериментальных данных для проверки распределения

Таблица 1. Настройки для проведения экспериментов по измерению производительности.

Разработка модели комплексной среды тестирования...

Компьютер тестировщика используется для запуска тестов на основе фаззинга, а также взаимодействия со вспомогательными компонентами подсистемы тестирования — XSS сервер, базы данных уязвимостей и эксплойтов...

Разработка web-ориентированной экспертной системы оценки...

Экспертная система оценки качества педагогических тестов позволяет: - загружать результаты теста в виде текстового файла; - получать из базы данных результаты проведенного тестирования

Исследование стратегий тестирования программного обеспечения

Тестирование системы в целом, включая отдельные модули и интерфейсы между ними.

‒ Удобство автоматизации и регрессионного тестирования на базе тестов, построенных на

Набор тестовых входных данных определяется исходя из структуры программы, наличия и...

Типы требований к Web-приложению для обработки...

§ требования к системе хранения данных – выбор СУБД будет влиять на уровень производительности приложения, затраты на обслуживание, объемы данных с которыми сможет оперировать система

Разработка информационных систем с использованием UML.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Разработка программного модуля тестирования баз данных

Следует систематизировать информацию на одном стенде, предоставить инструменты для тестирования и отчеты о выполнении тестов.

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

Сравнение производительности ORM-библиотек как критерия...

Системы управления реляционными базами данных (СУБД) показывают хорошую

Проводимый тест проверяет, за какое время каждая

Основные термины (генерируются автоматически): ORM, баз данных, данные, результат тестирования, CODE, реляционная...

IDEF1X-модель базы данных web-ориентированной...

Наборы тестовых заданий для оценки семантического качества меню. Структура-Тестов.

Основные термины (генерируются автоматически): тестовое задание, i-го пункта меню, пункт меню, информационная система, баз данных, web-ориентированной информационная...

Комбинация средств UML И CSP-OZ для разработки приложений...

1. Введение. В большинстве современных разработок различных приложений баз данных используются полуформальные методы (OMT, UML,…). [1], основанные главным образом на графических системах обозначения...

Построение имитационной модели JavaEE веб-приложения по...

Рис. 2.Архитектура стенда тестирования как система массового обслуживания.

Применялась следующая процедура обработки экспериментальных данных для проверки распределения

Таблица 1. Настройки для проведения экспериментов по измерению производительности.

Разработка модели комплексной среды тестирования...

Компьютер тестировщика используется для запуска тестов на основе фаззинга, а также взаимодействия со вспомогательными компонентами подсистемы тестирования — XSS сервер, базы данных уязвимостей и эксплойтов...

Разработка web-ориентированной экспертной системы оценки...

Экспертная система оценки качества педагогических тестов позволяет: - загружать результаты теста в виде текстового файла; - получать из базы данных результаты проведенного тестирования

Исследование стратегий тестирования программного обеспечения

Тестирование системы в целом, включая отдельные модули и интерфейсы между ними.

‒ Удобство автоматизации и регрессионного тестирования на базе тестов, построенных на

Набор тестовых входных данных определяется исходя из структуры программы, наличия и...

Типы требований к Web-приложению для обработки...

§ требования к системе хранения данных – выбор СУБД будет влиять на уровень производительности приложения, затраты на обслуживание, объемы данных с которыми сможет оперировать система

Разработка информационных систем с использованием UML.

Задать вопрос