Справочник терминов 28





Скачать 268.51 Kb.
НазваниеСправочник терминов 28
страница1/2
Дата публикации25.08.2013
Размер268.51 Kb.
ТипДиплом
100-bal.ru > Информатика > Диплом
  1   2



Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Новосибирский Государственный Университет

Факультет информационных технологий

Кафедра систем информатики




Дипломная работа


РАЗРАБОТКА ВНЕШНЕЙ СИСТЕМЫ УПРАВЛЕНИЯ СОДЕРЖИМЫМ САЙТОВ

Анисимов А.О.
Руководители:

канд. физ.-мат. наук, доц. Васючкова Татьяна Сергеевна,

ген. директор ООО “Интернет Сервис” Семёнов Илья Аркадьевич.

_____________________________

Новосибирск – 2009

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ 3

ВВЕДЕНИЕ 4

1.ЦЕЛИ И ЗАДАЧИ 5

2.АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ 6

1.1.Платформы для сайта 6

1.2.Генераторы HTML-страниц 7

1.3.Инструментарий 7

3.ТРЕБОВАНИЯ К СИСТЕМЕ 9

1.4.Внешняя система управления 9

1.5.Собственное хранилище данных 9

1.6.Визуальное редактирование 9

1.7.Функциональные требования 10

1.7.1.Редакторы содержимого 10

1.7.2.Администраторы системы 13

4.ОСНОВНЫЕ ОГРАНИЧЕНИЯ 14

1.8.DOM интерфейс 14

1.9.Идентификация элементов 14

1.10.Различия браузеров 15

1.11.Динамические элементы 17

1.12.Поисковые системы 17

5.АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА 19

6.ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 24

1.13.Реализация клиентской части 24

1.14.Реализация серверной части 24

1.15.Инструменты и программные средства 25

1.15.1.Enterprise Java Beans 3 25

1.15.2.JavaScript 25

1.15.3.MySQL 26

ЗАКЛЮЧЕНИЕ 27

СПРАВОЧНИК ТЕРМИНОВ 28

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 29

ВВЕДЕНИЕ

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

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

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

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

  1. ЦЕЛИ И ЗАДАЧИ

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

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

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

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

  1. провести анализ проблемы;

  2. провести анализ существующих решений;

  3. предложить новый метод решения;

  4. определить основные требования к системе;

  5. создать программную реализацию;

  6. провести опытную эксплуатацию созданного инструмента с пользовательской оценкой его возможностей.



  1. АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ

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

1.1.Платформы для сайта

Системы, представляющие собой платформу для будущего сайта, как правило, содержат достаточный инструментарий для изменения информации. Обычно такие системы имеют собственную базу данных, и генерируют содержимое сайта на основе модели данных. Пользователю же предоставляется высокоуровневый интерфейс, посредством которого он может изменять внутреннюю модель данных. Примерами являются Drupal, TYPO3, 1С-Битрикс.

Можно выделить следующие основные преимущества таких систем, которые являются также отличительными особенностями данного типа систем управления содержимым:

  1. Возможность хранения и изменения информации в БД.

  2. Возможность обработки информации, вводимой посетителями на страницах сайта.

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

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

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

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

1.2.Генераторы HTML-страниц

Системы данного типа используются для генерации статических HTML-страниц. Такие страницы могут быть объединены в сайт, вместе с различным статическим содержимым (картинки, файлы, и пр.). Примером такого вида программных средств является Microsoft Office FrontPage.

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

1.3.Инструментарий

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

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

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

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


  1. ТРЕБОВАНИЯ К СИСТЕМЕ

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

1.4.Внешняя система управления

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

1.5.Собственное хранилище данных

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

1.6.Визуальное редактирование

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

1.7.Функциональные требования

В системе имеются две группы пользователей – редакторы и администраторы. Первые занимаются редактированием информации на страницах сайта, используя функционал на странице. Группе администраторов доступен функционал для управления списком редакторов, а также отслеживания изменений, которые те произвели.

TODO: обосновать каждое требование.

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

1.7.1.Редакторы содержимого

Вход в режим редактирования

Описание

Пользователь активирует режим редактирования на странице.

Условия

Пользователь открыл страницу сайта с установленной системой управления содержимым.

Событие

Нажатие на иконку CMS в правом нижнем углу экрана.

Порядок выполнения

  1. Рядом с иконкой CMS появляется форма с полями для идентификации (имя пользователя и пароль).

  2. Пользователь вводит необходимую информацию и нажимает кнопку Войти.

  3. Система проверяет введённую информацию. В случае несовпадения с имеющейся информацией выдаётся сообщение об ошибке ввода и повторяется п.2.

  4. К заголовку страницы добавляется текст “(режим редактирования)”.

  5. Курсор изменяется на указатель.

  6. Рядом с иконкой CMS появляются ещё две – Сохранить и Отмена, предназначенные для сохранения и отмены изменений на странице соответственно.

Результаты

Просматриваемая страница переведена в режим редактирования.

Замечания

Форма авторизации может исчезать автоматически, когда пользователь нажал левую кнопку мыши где-либо на странице.
Если пользователь уже авторизован, то шаги 1-3 опускаются.

Выбор элемента страницы

Описание

Пользователь выбирает элемент страницы для изменения.

Условия

Страница находится в режиме редактирования.

Событие

Пользователь выбирает указателем мыши нужный элемент и нажимает левую кнопку мыши.

Порядок выполнения

  1. Всё содержимое страницы блокируется для ввода.

  2. В центре страницы появляется окно с редактором, в который помещается содержимое выбранного элемента. В редакторе представлен стандартный набор функций для изменения содержимого – изменения стиля (жирный, наклонный, подчёркнутый), шрифта, размера, выравнивания, отступа, создания маркированного и немаркированного списков, а также вставки и удаления картинок и гиперссылок. Под редактором находятся две кнопки – Изменить и Отмена для сохранения и отмены изменений соответственно. Также рядом с кнопками находится флажок “Изменить все похожие элементы на сайте” для того чтобы пользователь мог определить текущий редактируемый элемент как общий.

Результаты

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

Замечания

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

Изменение элемента страницы

Описание

Пользователь изменяет текст выбранного элемента.

Условия

Пользователь выбрал элемент для редактирования.

Событие

Нажата кнопка Изменить в редакторе.

Порядок выполнения

  1. Изменяется содержимое редактируемого элемента на странице.

  2. Закрывается окно редактора.

  3. Снимается блокировка страницы.

Результаты

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

Замечания

Если выбран флажок “Изменить все похожие элементы на сайте”, то на шаге 1 также изменяется содержимое всех элементов страницы, которые имели такое же содержимое, какое было у выбранного элемента до начала редактирования.
При нажатии кнопки Отмена в редакторе выполняются только шаги 2-3.

Сохранение изменений

Описание

Пользователь сохраняет все изменения на странице.

Условия

Страница находится в режиме редактирования.

Событие

Нажатие на иконку Сохранить в правом нижнем углу экрана.

Порядок выполнения

  1. Все активные элементы страницы, которые выделены для редактирования, снимают выделение.

  2. Скрываются кнопки Сохранить и Отмена в левом нижнем углу экрана.

  3. Пользователю сообщается о начале процесса сохранения.

  4. Вся информация страницы сохраняется на сервере.

  5. Пользователю сообщается о статусе сохранения. Если при сохранении произошли какие-либо ошибки, и страница не сохранена, показывается соответствующее уведомление.

Результаты

Все изменения на странице сохранились и стали видны посетителям сайта; страница вернулась в режим просмотра.

Замечания

В дальнейшем неплохо было бы сделать контроль изменений для каждой страницы с целью фиксировать все изменения и иметь возможность отката после сохранения страницы.

Отмена изменений

Описание

Содержимое возвращается к исходному варианту.

Условия

Страница находится в режиме редактирования.

Событие

Нажатие на иконку Отмена в правом нижнем углу экрана.

Порядок выполнения

  1. Все активные элементы страницы, которые выделены для редактирования, снимают выделение.

  2. Скрываются кнопки Сохранить и Отмена в левом нижнем углу экрана.

  3. Восстанавливается вся информация на странице, какая была на момент начала редактирования.

Результаты

Все изменения на странице отменены; страница вернулась в режим просмотра.

Замечания

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

1.7.2.Администраторы системы

Просмотр изменений

Описание

Показ списка изменений с возможностью фильтрации по дате

Событие

Выбор пункта меню “Просмотр изменений” в области администрирования

Порядок выполнения

  1. Выбор периода, за который следует показать информацию об изменениях.

  2. Выбор редактора, который произвёл изменения.

  3. Выбор из списка по дате и времени

Результаты

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

Замечания

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



  1. ОСНОВНЫЕ ОГРАНИЧЕНИЯ

1.8.DOM интерфейс

Основной и единственный инструмент, который позволяет системе изменять содержимое страницы – т.н. DOM (Document Object Model) интерфейс. Он позволяет представить страницу как дерево, содержащее элементы оформления и текст. Это дерево строится браузером, после того, как он получит и обработает HTML-код с сервера.

1.9.Идентификация элементов

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

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

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

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

Для тех элементов, содержимое которых встречается в других элементах, но подобная замена не требуется, можно использовать абсолютный путь из корня дерева как дополнительную информацию, помогающую идентифицировать данный элемент. Этот путь состоит из пар (<Название_Вершины>, <Номер_Вершины>), где <Название_Вершины> - это название тега, и <Номер_Вершины> - это порядковый номер в списке всех вершин с таким названием на одном уровне DOM-дерева. Например, путь может выглядеть так: (‘body’,0), (‘table’,0), (‘tbody’,0), (‘tr’, 2), (‘td’, 1), (‘a’,0).

1.10.Различия браузеров

В разных браузерах DOM-дерево может быть различным. Это может быть результатом следующего:

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

  • В широко распространённом браузере Microsoft Internet Explorer 6 содержимое страницы может быть изменено уже на клиенте, в результате работы так называемых HTC-скриптов, которые не поддерживаются остальными браузерами. Такие скрипты используются, например, для корректного показа PNG-изображений, имеющих альфа-канал.

  • Браузеры по-разному обрабатывают неправильно оформленный HTML-код. В результате такой обработки могут получиться различные DOM-деревья для одной и той же страницы в разных браузерах.


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

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

Случаи с неправильно оформленным HTML-кодом в большинстве сводятся к отсутствию закрывающего тега у элементов страницы. В этом случае наиболее распространённые браузеры, такие как Mozilla Firefox и Microsoft Internet Explorer поступают одинаковым образом – они автоматически добавляют закрывающий тег и помещают все последующие элементы внутрь данного элемента. Таким образом, в большинстве случаев DOM-дерево будет одинаковым.

1.11.Динамические элементы

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

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

1.12.Поисковые системы

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

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

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

  1. АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА

Как и большинство веб-приложений, система управления содержимым сайтов (CMS) имеет архитектуру клиент-сервер. Серверная часть системы имеет доступ к базе данных, и выполняет функции обработки и хранения данных приложения. Клиентская часть системы – это набор программных модулей, исполняемых на странице сайта. Клиент и сервер взаимодействуют друг с другом как показано на рис. 1.



Рис. 1. Схема взаимодействия частей приложения.

Принцип работы всего приложения выглядит следующим образом. При обращении к странице сайта запрос перенаправляется на CMS сервер, который в данном случае используется как своего рода прокси-сервер. CMS сервер получает оригинальное содержимое сайта, обрабатывает его, вставляет новую информацию, которая была изменена пользователем, и возвращает содержимое клиенту (браузеру). При вставке нового содержимого content-сервер также добавляет специальный программный модуль, исполняемый на клиенте. Этот программный модуль создаёт на странице функционал, необходимый для редактирования и последующей замены содержимого. Также этот модуль может осуществлять дополнительные действия, например, регулярно опрашивать сервер об изменениях. Схема работы всей системы показана на рис. 2.



Рис. 2. Схема работы приложения.

В итоге программный модуль, выполняемый на странице сайта, реализует несколько функций. Какие-то из этих функций имеют наибольший приоритет, и должны выполниться в первую очередь. Остальные функции могут зависеть от результатов её выполнения. Между собой функции практически не связаны. Поэтому весь программный модуль спроектирован так, чтобы максимально разделить выполняемые функции, и осуществить возможность изменять и дополнять набор этих функций. Для этого использовано понятие общая шина данных (Data Bus), и взаимодействие всех функции, включая ядро системы, организовано посредством этой шины (рис. 3). Работа с шиной представляется в виде подписки и публикации событий, которые происходят в системе. Функция-подписчик определяет набор событий, на которые она реагирует. Все функции, включая ядро системы, могут публиковать свои события для их обработки другими функциями. Таким образом организовано событийное управление всей клиентской частью приложения в целом.



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

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

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

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

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


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


Сравнение двух подходов к реализации.

Табл. 1.




Замена содержимого на клиенте

Замена содержимого на сервере

Доставка содержимого клиенту

Непосредственно

Посредством CMS-сервера

Вычислительные затраты на клиенте

Высокие

Низкие

Вычислительные затраты на сервере

Низкие

Средние

Возможность кэширования результатов замены содержимого

Нет

Да

Возможность распараллеливания вычислений

Нет

Да

Особенности рендеринга содержимого на клиенте

С задержкой

Как обычно

Индексация страниц

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

Возможна

  1. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

1.13.Реализация клиентской части

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

Все классы приложения разбиты по нескольким вложенным пакетам. Класс CmsApplication, представляющий собой ядро системы, вынесен в корневой пакет cms. Классы, реализующие работу с общей шиной данных, вынесены в пакет cms.events. Остальные функции системы, реализованные в виде встраиваемых модулей (plug-in), находятся в пакете cms.plugins:

  • Пакет cms.plugins.auth содержит классы, реализующие механизм аутентификации пользователя.

  • Пакет cms.plugins.editor содержит классы, реализующие функцию редактирования содержимого страницы.

1.14.Реализация серверной части

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

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

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

1.15.Инструменты и программные средства

1.15.1.Enterprise Java Beans 3

В реализации серверной части приложения используется технология Enterprise JavaBeans, 3rd Edition. Эта технология является частью платформы Java Enterprise Edition и предназначена для создания и поддержки серверных компонент, содержащих бизнес-логику на языке Java. Третья версия спецификации в отличие от предыдущих версий признана Java-сообществом как наиболее удобная для использования.

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

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

1.15.2.JavaScript

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

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

Для взаимодействия клиентской и серверной части используется механизм асинхронной передачи данных AJAX (Asynchronous JavaScript and XML).

1.15.3.MySQL

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

ЗАКЛЮЧЕНИЕ

В процессе дипломной работы удалось выполнить необходимый объём работ, в частности сделано следующее:

  1. изучена проблема;

  2. поставлена задача для её решения;

  3. проведен анализ существующих систем, определены их основные достоинства и недостатки;

  4. определены требования к системе и основные ограничения.

  5. в соответствии с основными требованиями реализована программная система;

  6. проведена её опытная эксплуатация.

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

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

Исходный код приложения выложен в общий доступ на сайте http://code.google.com/p/xcms-pilot/ под лицензией GPLv3.

По материалам данной работы был выполнен доклад на Международной научной студенческой конференции 26 - 30 апреля 2008 года.

СПРАВОЧНИК ТЕРМИНОВ
  1   2

Добавить документ в свой блог или на сайт

Похожие:

Справочник терминов 28 iconСправочник моя аптечка, Справочник лекарств, Зеленая аптека, Справочник Заболеваний

Справочник терминов 28 iconСправочник по психиатрии (в т ч. под ред. А. В. Снежневского), словари...
Оформить дневник врача-интерна (по образцу), поставить печать, подпись у главного врача и руководителя интернатуры, (ответственный...
Справочник терминов 28 iconПрограмма по формированию навыков безопасного поведения на дорогах...
В тесте сбалансированы задания по степени известности различных терминов глоссария по теме (сложности заданий). В тест введены также...
Справочник терминов 28 iconНемецко-русский методический справочник для практикующего учителя
России большое количество отечественной или переводной методической литературы, использующей ранее заимствованные термины западной...
Справочник терминов 28 iconСправочник для журналистов стран Центральной и Восточной Европы. Пер с англ. М., 1998
Зарубежная печать. Краткий справочник. Газеты. Журналы. Информационные агентства. /Редколл.: С. А. Лосев и др. – М., 1986
Справочник терминов 28 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Данный учебно-методический комплекс включает в себя словарь терминов, студентам рекомендуется завести свой словарь терминов (алфавитный...
Справочник терминов 28 iconА. Ю. Пименов директор школы №975
Оставляя за каждым педагогом право на собственное понимание указанных терминов, нам всё же представляется, что оно нередко бывает...
Справочник терминов 28 iconСправочник по Паблик Рилейшнз Абельмас Нина Васильевна Универсальный...
В настоящем издании раскрывается сущность понятия pr и подробно рассматриваются все направления по связям с общественностью. Материал...
Справочник терминов 28 iconКремлевский П. П. Расходомеры и счетчики количества. Справочник. Изд. 4
Информационный листок №132-99. серия р 90. 27. 29. Мордовский межотраслевой территориальный центр научно-технической информации....
Справочник терминов 28 iconСправочник путеводитель Составитель: Тараканова Г. И., зам директора...
Волгоградской области с целью оказания помощи педагогам школы в разъяснении прохождения аттестации на первую и высшую квалификационную...
Справочник терминов 28 iconСправочник по обработке воды практическое пособие по применению
Этот справочник выпущен конкретно для применения на рын­ке морских химикатов фирмы Юнитор. Он подготовлен, чтобы дать морскому инженеру...
Справочник терминов 28 iconЕдиный квалификационный справочник должностей руководителей, специалистов и служащих
Единый квалификационный справочник должностей, раздел "Квалификационные характеристики должностей руководителей и специалистов высшего...
Справочник терминов 28 iconУрока. Тема урока: Закон Моргана. Сцепленное наследование. (10 класс)...
Цели: Образовательная обеспечить условия по закреплению учащимися терминов менделевской генетики, подготовить их к пониманию отличий...
Справочник терминов 28 iconРеферат Дипломная работа 35 с., 30 рис., 2 приложения, 7 источников....
С: предприятие 0, конфигурация, платформа, информационная база, справочник, документ, бизнес-процесс
Справочник терминов 28 iconАсимметрия терминов гибких мобильных сооружений: когнитивный и мотивационно-номинативный...
Асимметрия терминов гибких мобильных сооружений: когнитивный и мотивационно-номинативный аспекты
Справочник терминов 28 iconСправочник Перечень учебных заведений Российской Федерации для лиц...
Перечень учебных заведений Российской Федерации для лиц с нарушениями слуха. Справочник. – Гоу ао «Вычегодская скоши», 2011 г., с....


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск