Разработка системы динамического создания интернет-сайтов
В данной работе рассматривается разработанная система для создания интернет-сайта. Система — в данном контексте,
это система программ, которые обеспечивают администрирование, публикацию материалов и формирование структуры сайта.
Основной целью данной работы является рассмотрение основных принципов работы современных систем управления контентом
(англ. Content management system, CMS) которые позволяют управлять текстовым и графическим наполнением веб-сайта,
предоставляя пользователю удобные инструменты хранения и публикации информации. Сейчас существует множество готовых
систем управления содержимым сайта. Их можно разделить на три типа, по способу работы:
- Генерация страниц по запросу. Системы такого типа работают на основе связки «Модуль редактирования > База данных > Модуль представления». Модуль представления при запросе на него генерирует страницу с содержанием, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что создаёт нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.
- Генерация страниц при редактировании. Системы этого типа — программы для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статичных страниц. При таком способе жертвуется интерактивность между посетителем и содержимым сайта.
- Смешанный тип. Как понятно из названия, сочетает в себе преимущества первых двух. Может быть реализован путём кэширования — модуль представления генерирует страницу один раз, в дальнейшем она значительно быстрее подгружается из кэша. Кэш может обновляться как автоматически, по истечению некоторого срока времени или при внесении изменений в определённые разделы сайта, так и вручную по команде администратора. Другой подход — сохранение определённых информационных блоков на этапе редактирования сайта и сборка страницы из этих блоков при запросе соответствующей страницы пользователем. [1].
Так как разработанная нами система в большей степени является моделью, то она относится ко второму типу, однако с определенной возможностью для работы по третьему типу. При запросе какой-либо страницы выполняется программный код, обрабатывающий запрошенный тип данных. Он извлекает данные из базы данных, после чего собирает страницу на основе шаблонов и представляет ее пользователю. Благодаря системе шаблонов решается вопрос одновременного обновления сразу всех страниц (например, при необходимости редизайна), плюс — появляется возможность создания нескольких вариантов представления страниц.[2]
Используемые программные средства
Для проверки и отладки динамических сайтов, на локальном компьютере необходимо установить web-сервер Apache, язык программирования PHP и базу данных MySQL. Установка и настройка всех компонент отдельно — это достаточно сложная задача, но существует такой проект как "Денвер", который позволяет это сделать легко и быстро.
Денвер (Джентльменский набор Web-разработчика) — набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для отладки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Базовый комплект содержит большинство необходимых программ и утилит.[3]
Этапы работы с системой создания сайта
Проектирование. На этом этапе решаются ключевые вопросы: расположение информации на сайте, на какие разделы будет разделен сайт, сколько страниц будет создано, какой будет навигация по сайту.
Разработка дизайна. На данном этапе разрабатывается общий для всех страниц вид страниц. При необходимости дизайн сайта может быть легко изменен — рано или поздно наступает момент, когда сайт перерастает рамки начального дизайна сайта. Результатом является каскадная таблица стилей (CSS).
Заполнение базы данных для сайта. Заполняются таблицы базы данных — заносятся тексты страниц, рисунки, скрипты JavaScript и РНР, то есть создается основа будущего сайта. Также на данном этапе происходит связывание отдельных страниц в единый сайт с помощью навигации.
Написание шаблонов. В терминах разработанных ключевых слов создаются небольшие шаблоны страниц. Их можно писать вручную или же воспользоваться специальным скриптом.
Структура системы.
Разработанная система состоит из набора РНР-скриптов, которые реализуют интерфейс пользователя (при создании шаблонов) и генерацию на их основе html-страницы, используя информацию из БД. Для создания сайта на любую тематику структура БД будет одинаковой, так как ее таблицы отражают не информационное наполнение страниц, а по классам информации: простые тексты страниц, рисунки, коды JavaScript и меню. Аналогичный подход и к разработанным ключевым словам. Они призваны, в первую очередь, выбрать информацию из базы данных и модифицировать ее, согласно дизайну сайта.
Схема работы главного модуля системы приведена на рисунке 1.
Рисунок 1 — Схема работы convert_myl2html.php
Таким образом, можно выделить основные достоинства разработанной системы:
- Использование бесплатных технологий разработки
- Широкие возможности моделирования страниц
- Наличие динамического меню
- Использование CSS,шаблонов страниц
- Формирование активных ссылок с использование регулярных выражений
Однако нельзя не обратить внимание на существенные недостатки разработанной системы и возможные пути из преодоления:
- Ограниченный набор тегов (нет таблиц, форм). Можно расширить БД сайта, добавив в нее таблицы Tables и Forms, связав их с главной таблицей Pages.
- Страницы заново создаются сервером при каждом запросе, а это создаёт нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.
Следовательно, данная система легко может быть улучшена и стать громадным подспорьем разработчику сайтов, избавив его от монотонной работы при создании динамических сайтов.
В заключение хотелось бы отметить, что развитие чего-либо всегда определяется потребностями рынка. Состояние же рынка CMS на данный момент таково, что нет серьезной конкуренции из-за ненасыщенности рынка. Конкурентная борьба между производителями систем практически отсутствует. Абсолютное большинство мелких и средних веб-разработчиков предпочитают иметь пусть и примитивную, но свою CMS, нежели пользоваться чужими, более продвинутыми разработками.
Список литературы
- «Система управления содержимым»[Электронный ресурс] / Интернет-ресурс. — Режим доступа: http://ru.wikipedia.org/wiki/
- Моисеев А. История развития сайтостроения//«Системный администратор», №7, 2005
- Джентльменский набор web-разработчика («Денвер»): интервью с создателем // «КомпьютерПресс», №10, 2007
|