запомнить Регистрация +

Краткое техническое описание “Scrofa Magna”

Основные понятия

Объектная модель. В основе программирования системы “Scrofa Magna” лежит объектно-ориентированный подход. Несмотря на то, что MS SQL Server не является объектной базой, нам удалось создать стройную систему хранения данных разных типов в виде объектов в базе данных и использовать плюсы, предоставляемые этим подходом.

Система состоит из ядра, модулей, интерфейсов настройки, сервисных функций.

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

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

Ядро заведует определением прав доступа, подключением модулей к страницам и выбором шаблонов страниц и модулей.

Модули занимаются обработкой и отображением информации данного типа на страницах сайта (говоря языком программистов, это методы). Каждый модуль имеет в виде данных объекты определённых типов. Например, в Интернет-магазине это товары, а в новостях — это отдельные новости. Подробный список модулей можно посмотреть ниже.

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

Параметры. У многих модулей есть настройки, реализуемые через бэк-офис. Эти настройки задают особенности внешнего вида и алгоритмов функционирования. Например, в модуле «Новости» при помощи настройки задаётся, где будет отображаться подробный текст новости — в том же окне, или в новом. Для магазина существует метод заказа товара, вид навигации по каталогу товаров и др. В результате многие настройки, которые в других аналогичных продуктах производятся только вручную, путём изменения программного кода специалистом, у нас можно произвести средствами бэк-офиса.

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

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

Рубрикатор сайта. Выступает в конструкторе в двух ипостасях:

  • В виде логической оси, на которую нанизаны все страницы сайта. Их свойства (права доступа к странице, шаблон дизайна) зависят от рубрики и в этой связи обрабатываются ядром системы.

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

В базе данных рубрикатор соответствует таблице, реализующей тип «Дерево».

Для каждой страницы сайта можно задать:

  • Название страницы.
  • Шаблон дизайна страницы.
  • Права доступа к этой странице и допустимые действия на этой странице каждой группы пользователей. Если этот параметр для данной страницы не задан, то берутся значения по умолчанию.
  • Допустимые к отображению модули и местоположение на странице результатов их работы.
  • Всевозможные параметры страницы, необходимые для прописки в поисковых системах (title, keyword и пр.).

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

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

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

Основы функционирования

Рассмотрим процесс функционирования системы с момента поступления в ядро запроса на отображение страницы во фронт-офисе.

  1. Определяется, авторизован ли данный посетитель, и имеет ли он права на просмотр данной страницы. Если таких прав нет — пользователю предлагается либо заполнить форму авторизации, либо выдаётся сообщение о недостаточности прав данной авторизации.

  2. Определяется, какой шаблон соответствует данной странице.

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

  4. Вызывается каждый из модулей с установленным для этой страницы обработчиком и передачей соответствующих прав и параметров.

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

  6. Результаты работы каждого модуля в виде XML-кода передаются для преобразования соответствующим XSLt-шаблоном в XHTML-код.

  7. Результирующий XHTML-код выводится в соответствующую область отображения.

  8. Компонуется результирующая страница и передаётся запросившему клиенту.

Подробную информацию о методах управления сайтом с помощью системы “Scrofa Magna” можно получить из инструкции по системе и в обучающих видеоматериалах, предоставляемой заказчику при обучении.

Схема организации прав доступа к настройке и информационному заполнению сайта через бэк-офис и просмотру его через фронт-офис

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

Заранее определен следующий список ролей:

Название категории

Права по умолчанию

Бэк-офисФронт-офис
ПосетительНет доступаОбщие права
Зарегистрированный посетительНет доступаОбщие права + доступ к персональным разделам
КорреспондентВвод информации, редактирование своих записейОбщие права + доступ к персональным разделам
РедакторВвод информации, редактирование всех записейОбщие права + доступ к персональным разделам
Выпускающий редакторВвод информации, редактирование всех записей, размещение информации на сайтеОбщие права + доступ к персональным разделам
МенеджерВвод информации, редактирование всех записей, размещение информации, определение некоторых настроек функций. Создание новых пользователей с правами до менеджера. Факультативно — изменение рубрикатора.Полный доступ
АдминистраторТо же, что и менеджер + определение всех настроек, связанных с шаблонами и установками прав доступаПолный доступ
ПрограммистТо же, что и администратор + добавление модулей и шаблоновПолный доступ

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

Каждая из ролей собирается из комбинации элементарных прав. Список основных элементарных прав:

  • Прочитать свою запись
  • Прочитать любую запись
  • Создать запись
  • Изменить свою запись
  • Редактировать любую запись
  • Удалить свою запись
  • Удалить любую запись
  • Разрешить публикацию записи на сайте
  • Блокировка объекта для изменений
  • Оповещение по объекту
  • Установка и изменение прав на объект
  • Установка функции в раздел
  • Редактирование рубрикатора сайта
  • Редактирование шаблонов
  • Управление опциями и настройками
  • Управление пользователями
  • Управление группами пользователей
  • Редактирование ролей

Каждому пользователю сайта предоставляется одна из ролей. Пользователь может входить в произвольное число групп, права которых также определяются ролями. Выбранной группе пользователей или отдельному пользователю можно предоставить индивидуальные права доступа к данной странице или объекту. Например: по всему сайту — корреспондент, а в новостях отрасли — редактор.

Требования по совместимости

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

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

Серверная часть

Аппаратные требования

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

Минимальные требования:

  1. Web-сервер: процессор Pentium III или Athlon с тактовой частотой 1000 MHz, память 512 Mb, жёсткий диск 5 Gb.
  2. Сервер баз данных: двухпроцессорная MB, 2 процессора Pentium III или Atlon с тактовой частотой 750 MHz, память 512 Mb, жёсткий диск 20 Gb 7200 rpm.

Минимально необходимое программное обеспечение

  1. Операционная система: Windows 2003 + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.
  2. Web-сервер IIS версии 6.0 + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.
  3. Система Управления Базой Данных MS SQL Server 2000+ SP4 (или 2005) + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.

Рекомендуется иметь два компьютера — на одном запускать web-сервер, а на другом Систему Управления Базой Данных при наличии на хостинге более 50 сайтов.

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

Клиентская часть

Бэк-офис (интерфейс менеджера сайта)

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

Аппаратное обеспечение
  1. Компьютер: IBM-PC-совместимый, минимальная конфигурация: Pentium III-600, 512 Mb RAM.
  2. Аппаратура подключения к Интернету: скорость не менее 28 800 бит/с. Желательна выделенная линия.
  3. Дополнительные аппаратные средства: не требуются.
Программное обеспечение
  1. Операционная система: любая, поддерживающая необходимый интернет-браузер, Java-скрипты и Cookie-файлы.
  2. Интернет-браузер: любой, в достаточной мере отвечающий стандартам W3C (например, Firefox, Opera, Safari и т.д., современных версий), или Microsoft Internet Explorer версии 7.0 и выше.
  3. Дополнительное ПО: графические редакторы, поддерживающие форматы GIF и JPEG; Word, Excel.

Фронт-офис (интерфейс посетителя сайта)

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

Аппаратное обеспечение
  1. Компьютер: любой, поддерживающий необходимый интернет-браузер.
  2. Аппаратура доступа в Интернет: без ограничений по скорости.
  3. Дополнительные аппаратные средства: не требуются.
Программное обеспечение
  1. Операционная система: любая, поддерживающая необходимый интернет-браузер, Java-скрипты и Cookie-файлы.
  2. Интернет-браузер: любой, в достаточной мере отвечающий стандартам W3C (например, Firefox, Opera, Safari и т.д., современных версий), или Microsoft Internet Explorer версии 6.0 и выше.
  3. Дополнительное ПО: не требуется.

Обеспечиваемая производительность и надёжность системы

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

ХарактеристикаЗначение
Количество посетителей в сутки не менее10 000
Количество просмотров страниц в сутки не менее50 000
Количество посетителей одновременно не менее500
Скорость скачивания информации не менее2 000 бит/с
Время формирования страницы не более10 сек.
Время формирования страницы среднее1 сек.
Максимальное время простоя сервера на профилактике в неделю20 мин.

Требования к безопасности данных

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

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

Управление доступом посетителей к материалам и разделам (структуре) сайта осуществляется с помощью системных средств управления доступом сервера в соответствии с теми правами доступа, которые владелец сайта определяет для различных групп пользователей.

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

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

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

Для каждой записи хранятся следующие характеристики:

  • Кто ввёл
  • Когда введено
  • Кем изменено
  • Когда изменено

Эти меры позволяют отслеживать изменения на сайте.

Концептуальный дизайн

Сайт создаётся в расчёте на минимальное разрешение монитора 1024 x 768. Основные решения по размещению и реализации графических и иных визуальных элементов определяются в соответствии с концепт-макетом.

Применяемые элементы и средства графики и анимации

Применяется графика в форматах PNG, JPEG, GIF. На последующих этапах может применяться технология Flash. Звуковое оформление отсутствует.

Настройки экрана

 Фронт-офисБэк-офис
Рекомендуемое разрешение экрана (наиболее комфортная работа)1024 x 7681280 x 1024
Минимальное разрешение экрана800 x 6001024 x 768