Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой»




Скачать 303.04 Kb.
НазваниеПояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой»
страница5/5
Великанов А С
Дата конвертации25.03.2013
Размер303.04 Kb.
ТипПояснительная записка
1   2   3   4   5

2.Практическая часть.

2.1.Проектировка модели базы данных системы менеджмента содержимого


Ниже приведена ER-диаграмма Базы Данных

рис.5

2.2.Описание реализованных компонентов системы и принципов их работы

2.2.1.Организация управления документами и разделами сайта


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

Деревья можно изобразить схематически либо в виде направленного графа (рис.6), либо в виде вложенного множества (рис.7).

http://i.cmpnet.com/dbmsmag/9603d061.gif http://i.cmpnet.com/dbmsmag/9603d062.gif

рис.6 рис.7

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



рис.8

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

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

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

Другой подход состоит в прохождении по всем вершинам дерева, начиная сверху, с корня, и помечая вершины с двух сторон. Для этого вводится счетчик, который начинается с единицы. Прибывая в узел, мы помещаем число в ячейку со стороны, с которой пришли и увеличиваем счетчик. Каждый узел получит два номера, один для правой стороны и один для левой стороны. Корень всегда имеет 1 в левом столбце и удвоенное число узлов (2*n) в правом столбце. В модели вложенных множеств, разность между левыми и правыми значениями листьев - всегда 1.

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

Разработанная система изображена на рис.9. Она позволяет управлять структурой сайта: создавать элементы меню, подменю. А также менять их порядок отображения на сайте при помощи технологии drag-and-drop в AJAX.



рис. 9

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

рис.10

2.2.2.Добавление новых документов на сайт.


Для хранения документов (HTML форм) на сайте служит таблица stories Базы Данных. Реализованные интерфейсы добавления и редактирования содержимого приведены на рис. 11 и рис.12



рис.11



рис.12

2.2.3.Регистрация пользователей сайта


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

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

Традиционным методикам проверки правильности заполнения форм свойственны следующие проблемы:

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

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

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



рис.13

Заключительная проверка правильности заполнения формы на стороне сервера обязательна всегда. Если кто-либо отключит поддержку JavaScript в своем браузере, то верификация заполнения с применением технологии AJAX просто не будет выполняться. Это даст возможность злоумышленнику повредить важные данные на сервере (например, внедрив код SQL).

С помощью технологии AJAX - какое-либо поле формы теряет фокус ввода (событие onblur). Значение поля в этот момент передается серверу, который проверяет правильность данных и возвращает результат (О-в случае ошибки, 1 - в случае успеха). Если значение не пройдет проверку, пользователь получит сообщение об ошибке.

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

Безопасность AJAX в многопоточной среде

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

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

В зависимости от конкретных обстоятельств идеальное решение может заключаться в том, чтобы:

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

• Ставить сообщения в очередь и передавать их одно за другим по мере освобождения объекта XMLHttpRequest. Запросы будут отправляться в порядке их поступления. Очереди особенно важны в тех приложениях, в которых важен порядок следования сообщений.

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

• Игнорировать сообщения.

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

Очередь строится по принципу первый пришел - первый ушел (First-In, First-Out - FIFO). Это гарантирует, что запросы будут отправляться серверу в требуемом порядке.

2.2.4. Механизмы разделения доступа


Проект реализует следующие функциональные возможности:

• Регистрация и аутентификация администраторов сайта

• Управление паролями

• Разделение прав на доступ к управлению различными страницами

Реализованный механизм управления модераторами и администраторами интернет представительств приведен на рис. 14



рис.14

2.2.5.Реализация механизмов поиска по сайту


Полнотекстовый поиск в СУБД MySQL на сегодняшний день поддерживается только для таблиц типа MyISAM и только для текстовых столбцов переменной длины (text и varchar). Эта возможность активируется созданием индекса типа fulltext для столбцов, по которым необходимо осуществлять поиск.

Для использования возможности полнотекстового поиска в системе CMS необходимо создать индексы fulltext для полей caption и text таблицы stories. Изменить уже существующие таблицы можно при помощи SQL-оператора alter.

ALTER TABLE stories ADD FULLTEXT together (caption, text);

Для извлечение результатов поиска используется следующий запрос к Базе Данных:

SELECT stories.text as text, stories.caption as caption, pages.name as page, pages.caption

FROM stories,pages WHERE

MATCH (stories.text,stories.caption) AGAINST('$searchitems')

AND (stories.page=pages.name);

Разработанный интерфейс поиска приведен на рис.15



рис.15

2.2.6.Реализация экспорта данных из БД сайта.


Общая схема передачи информации между серверами представлена на рис.16



рис.16

По запросу внутреннего сервера компании генерируется репликация Базы Данных в формате XML. Структура XML данных приведена на рис.17



рис.17

Заключение


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

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

  • Серверная часть: PHP, MySQL

  • Клиентская часть: AJAX , XML, JavaScript, Flash

  • Среда программирования: Zend Development Environment

  • Проектирование БД: MySQL Workbench

2. Спроектирована структура БД системы и реализованы следующие программные компоненты системы менеджмента контента:

  • Организация управления документами и разделами сайта;

  • Добавление новых документов на сайт;

  • Регистрация пользователей сайта и механизмы разделения доступа;

  • Реализация механизмов поиска по сайту;

  • Реализация экспорта данных из БД сайта.

3. Разработанная система была успешно протестирована и внедрена в опытную эксплуатацию для создания корпоративных сайтов.

Используемые в работе аппаратные и программные средства

  1. HTTP сервер: Apache

  2. Сервер Баз Данных: MySQL

  3. Среда программирования: Zend Development Environment

  4. Проектирование БД: MySQL WorkBench 5.0 OSS

  5. Администрирование БД: SQL Manager for MySQL

  6. Используемые программные средства: PHP, AJAX, XML, JAVASCRIPT, ACTIONSCRIPT

  7. Средства форматирования отображения WEB форм: HTML, CSS

Литература


  1. http://www.zend.com/en/

  2. http://ww.sql.ru

  3. К. Дж. Дейт «Введение в системы баз данных»

  4. http://www.php.net/

  5. Люк Веллинг, Лора Томсон «Разработка WEB-приложений с помощью PHP и MySQL»

  6. Кристиан Дари, Богдан Бринзаре «AJAX и PHP. Разработка динамических приложений»

  7. Перспективные направления развития российской отрасли информационно-коммуникационных технологий (Долгосрочный технологический прогноз Российский ИТ Foresight). Министерство информационных технологий и связи РФ, М:, 2007.
1   2   3   4   5

Похожие:

Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к курсовой работе на тему «Исследование математических методов построения изолиний»
Федерации много усилий прилагается к созданию специальных информационных систем, которые призваны обеспечить поддержку управления...
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к дипломному проекту На тему: «Разработка технического проекта учебно-производственной лаборатории» Студент: Гершман Илья Аркадьевич
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 53
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к исследовательской работе «Исследование здоровья школьников»
Данная исследовательская работа проводится с целью анализа обучающимися состояния здоровья учеников школы, выяснения факторов, влияющих...
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка в учебно-методическом комплекте «Начальная школа ХХI века»
Заместитель директора по учебно-воспитательной работе моу «Средняя общеобразовательная школа c. Ягодная Поляна»
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconИзменение подходов к работе 1
Создание нового стиля многоуровневого списка с последующим добавлением этого стиля в коллекцию стилей 61
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconОтчет о научно-исследовательской работе, проведенной по заказу Министерства экономического развития и торговли Российской Федерации Тема
...
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к дипломному проекту (работе) На тему «Разработка системы защиты от распределенных атак на отказ в обслуживании типа http flood»
На тему «Разработка системы защиты от распределенных атак на отказ в обслуживании типа http-flood»
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к дипломному проекту (работе) На тему «Разработка общей поисковой системы для еис кафедры икт»
Разработать объединяющую поисковую систему для электронных ресурсов кафедры икт на основе поисковых механизмов каждого ресурса в...
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к дипломной работе На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
Пояснительная записка к учебно-исследовательской работе на тему: «Исследование подходов к созданию системы менеджмента контента ( cms ) на вэб страницах с последующим интегрированием ее с crm системой» iconПояснительная записка к дипломному проекту На тему «Построение безопасной корпоративной сети»
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей 107
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница