ДонНТУ> Портал магистров ДонНТУ
Главная | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание

Описание "движка", что это такое, функции, назначение, принципы работы

Что такое движок сайтов?

«Движок сайтов» – выражение сленговое. Официально принято говорить «система управления сайтом», «система управления содержанием» или «контент-менеджер» (что, в принципе, не одно и то же, но эти понятия часто подменяют друг друга). Основное назначение движка – упростить создание сайта и управление им в процессе эксплуатации. Все серьезные сайты, содержащие большой объем информации и требующие постоянного ее обновления, используют движки. Это и поисковые машины, и новостные серверы, и разнообразные каталоги. В этой статье речь пойдет об универсальных движках сайтов – готовых российских разработках, применяемых веб-студиями для создания сайтов любой (или почти любой) архитектуры.

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

Обычно движок делится на две части: «надводную» (набор HTML-страниц, генерируемых при вызове страниц из браузера посетителя сайта) и «подводную» – систему администрирования. Обе части обычно используют общее хранилище данных, в роли которого, как правило, выступает реляционная база данных (иногда встречаются другие виды хранилищ, например XML-документы или даже текстовые файлы). В хранилище помещается информация, содержащаяся на сайте (собственно контент), а также информация, описывающая его (макеты страниц, структура, права доступа и пр.). При вызове страницы скрипт, который должен эту страницу вывести, в зависимости от полученных параметров выбирает из базы данных необходимую информацию (какое содержимое показать, какие ссылки поставить, как это все расположить и т. д.) и генерирует HTML-документ, который и подается браузеру. Помимо этого обязательно имеется интерфейс к базе данных, реализующий систему администрирования, которая при авторизованном доступе позволяет изменять содержание и структуру сайта.

Чаще всего обе части движка располагаются на веб-сервере, что позволяет редактировать сайт в онлайне. Бывают, однако, и исключения: например, для управления сайтом используется специальная программа-клиент, работающая на компьютере администратора. Возможен и такой вариант, когда страницы сайта генерируются не в момент получения запроса с определенным URL, а заранее, при внесении изменений на сайт. Но о таких приемах речь пойдет чуть ниже.

Зачем нужны движки?

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

Добавление/изменение информации
Допустим, веб-мастеру необходимо добавить на сайт новость. Если сайт статический, эта задача решается примерно так:

1. Копируем страницу с другой новостью.

2. Находим и изменяем в HTML-тексте заголовок и текст новости.

3. Закачиваем полученную страницу на сервер.

4. Вносим ссылку на эту страницу в архив новостей.

5. Закачиваем страницу на сервер.

6. Вносим ссылку на эту новость на титульную страницу сайта и убираем последнюю новость (если, например, на титульной странице сайта нужно показывать какое-то число последних новостей).

7. Закачиваем страницу на сервер.

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

Изменение структуры сайта
Допустим, наш сайт имеет семь основных разделов, внутри которых может быть до пяти страниц-подразделов. Нам нужно ввести шестой раздел. Статический сайт потребовал бы, помимо создания и наполнения страниц, еще и внести изменения в навигацию на всех 35 старых страницах, а также на карте сайта (если она есть). Эта механическая работа требует времени, кроме того, не нужно забывать про риск ошибиться в верстке страниц, а также о необходимости знать HTML. При использовании же движка сайтов добавление раздела и все сопутствующие процедуры, как правило, производятся путем заполнения одной-двух форм.

Изменение дизайна сайта
Изменение дизайна статического сайта – задача, быть может, посложнее, чем создание сайта «с нуля», поскольку означает полную переверстку ВСЕХ его страниц. Конечно, радикальная смена дизайна – достаточно редкое событие, значительно чаще бывает необходимо внести небольшие изменения в оформление – но во все страницы. При использовании движка сайтов этот процесс максимально упрощается: в общем случае изменения вносятся лишь в макеты страниц.

Использование шаблонных типов данных
Исходная ситуация: есть каталог товаров, у каждого товара есть название, аннотация, полное описание, сведения о производителе, изображение, цена и другие характеристики. Каталог необходимо поддерживать: редактировать атрибуты товаров, отключать возможность заказа тех из них, которых нет на складе, добавлять новые товары. Также в каталоге нужно предусмотреть возможность поиска товаров. Если первая часть задачи в случае статического сайта требует «всего лишь» хорошего знания HTML и определенных затрат времени, то вторая неосуществима в принципе. Используя же движок сайтов (при условии, что он умеет работать с шаблонами), для добавления новой позиции нужно только заполнить форму, где услужливый скрипт сообщит о неверном формате цены (если была допущена опечатка), предложит список производителей (чтобы не вписывать его каждый раз руками), закачает картинку (вместо выкладывания ее вручную по FTP) и сам обеспечит возможность выбора товаров.

Использование интерактивных элементов
В общем-то, сделать гостевую книгу, форум, опрос на сайте не так уж сложно и без использования движка – достаточно найти готовый скрипт, реализующий требуемые функции, установить его на свой сервер, настроить дизайн и использовать на здоровье. Можно также воспользоваться публичными интерактивными службами, например guestbook.ru или by.ru, но в этом случае придется мириться с рекламой на страницах. В движки сайтов интерактивные элементы обычно встраиваются, и добавить их на сайт можно несколькими щелчками мыши.

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

Как они появляются на свет?
Истории создания движков сайтов зачастую похожи, как две капли воды. Условно их можно разделить на две группы.

Движки первой группы изначально создавались как системы управления конкретными сайтами, рассчитанными на конкретные задачи. А уже после обкатки на этих задачах в системы добавлялись функции, позволяющие использовать их для других задач. Так, DynaSite изначально разрабатывался для магазина «оЗон»; NetCat – для проекта Netinfo.ru; Communiware – для «Московского Либертариума». Только потом эти системы стали позиционироваться как универсальные средства создания и администрирования сайтов.

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

(Надо отметить, что существует еще и третья группа продуктов – системы документооборота масштаба предприятия, в которых имеются функции работы с веб-документами. К ним относятся Lotus Domino, Documentum, Vignette и некоторые другие. В подавляющем большинстве случаев это зарубежные разработки. Системы документооборота часто используются для оптимизации бизнес-процессов средних и крупных предприятий, но применение технологий такого класса исключительно в целях управления содержанием сайтов равносильно стрельбе из пушки по воробьям, поэтому в данной статье они не рассматриваются. – Прим. ред.)

Один мой знакомый в начале 2001 года сказал: если два года назад было модно писать движки для баннерных систем, то сейчас модно писать движки для сайтов. Действительно, если два года назад российские системы управления сайтами можно было пересчитать по пальцам одной руки, то сейчас у DynaSite, Saitistika, Communiware появились достойные конкуренты. Интерес отечественных разработчиков к системам управления сайтами говорит о том, что эта тема сейчас очень актуальна, а реальная практика показывает, что статические сайты постепенно уходят в прошлое.

Как руководитель коммерческой веб-студии, я могу отметить, что за последнее время подход к созданию сайтов значительно изменился и у заказчиков. Если еще год назад клиенты мало задумывались о том, что после сдачи студией работы они могут остаться наедине со своим сайтом, то сейчас все чаще и чаще нам задают вопрос: а сможем ли мы сами обновлять свой сайт? Сможем ли мы своими силами расширять его, добавлять новые разделы? Не придется ли нам нанимать штат специалистов для поддержки сайта? При использовании полноценной системы управления сайтом у вас не будет возникать подобных вопросов.

Журнал "Мир Интернет" Октябрь 2001
Автор: Дмитрий Васильев dim@aist.ru



Главная | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание