Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»

Автор работы: Пользователь скрыл имя, 29 Апреля 2014 в 17:16, дипломная работа

Краткое описание

Web-приложение – клиент-серверное приложение, в котором сервером выступает web-сервер, клиентом программа или устройство, способное получить доступ к web-серверу. Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети.
Web - сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
CMS (Content management system) – компьютерная система или программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовыми и мультимедиа документами.

Содержание

Обозначения и сокращения 6
Определения 7
Введение 9
1. Описание основных используемых технологий и языков программирования 10
1.1. Общие сведения 10
1.2. Язык программирования PHP 10
1.3. Web-сервер Apache 11
1.4. СУБД MySQL 12
1.5. Язык программирования JavaScript 12
1.6. Технология AJAX 13
1.7. Таблица стилей CSS 14
1.8. Общая схема работы web-приложения 14
2. Описание системы «1С – Битрикс: Управление сайтом» 16
2.1. Общие сведения 16
2.2. Преимущества и недостатки системы 16
2.3. Целесообразность использования системы 18
2.4. Сравнение с другими системами 19
3. Описание API системы «1С – Битрикс: Управление сайтом» 21
3.1. Общие сведения 21
3.2. API модуля «Главный модуль» 21
3.3. API модуля «Информационные блоки» 23
4. Формирование требований к сценариям работы web-приложения 26
4.1. Общие сведения 26
4.2. Список требований 26
5. Диаграмма информационных блоков 29
5.1. Общие сведения 29
5.2. ER – диаграмма данных web-приложения 29
5.3. Определение информационных блоков 31
6. Описание программных компонентов 34
6.1. Создание общей структуры страниц web-приложения 34
6.2. Реализация структуры страниц web-приложения, физическая структура 36
6.3. Список программных компонентов 39
6.3.1. Компонент «Список всех игр» 39
6.3.2. Компонент «Список новых и выходящих игр» 40
6.3.3. Компонент «Список лучших игр» 42
6.3.4. Компонент «Список 100 лучших игр» 43
6.3.5. Компонент «Фильтр по играм» 44
6.3.6. Компонент «Поиск по играм» 45
6.3.7. Компонент «Автоподсказки в поиске» 46
6.3.8. Компонент «Список обзоров к игре» 47
6.3.9. Компонент «Детальная страница игры» 48
6.3.10. Компонент «Форма поиска» 48
6.3.11. Компонент «Страница разработчика игры» 49
6.3.12. Компонент «Список лучших игр за год» 50
6.4. Диаграмма связей между страницами web-приложения и компонентами 51
6.5. Особенности реализации сценариев работы web-приложения. 51
6.5.1. Общие сведения 51
6.5.2. Сохранение состояния страниц при использовании AJAX – запросов 52
6.5.3. Обработка событий панели управления. 55
7. Резервное копирование данных web-приложения. Система управления версиями 59
7.1. Общие сведения 59
7.2. Реализация резервного копирования 59
7.3. Система управления версиями 62
7.3.1. Описание системы Subversion 62
7.3.2. Настройка Subversion для работы с web-приложением 64
8. Нагрузочное тестирование 69
8.1. Общие сведения 69
8.2. Техника проведения нагрузочного тестирования 69
8.3. Оценка результатов тестирования 71
Заключение 76
Список использованных источников 77
Приложение A. Принцип работы системы «1С – Битрикс: Управление сайтом» 78
А.1. Общие сведения 78
А.2. Модульная структура системы 78
А.2.1. Главный модуль 79
А.2.2. Модуль «Управление структурой» 79
А.2.3. Модуль «Информационные блоки» 80
А.3. Компоненты 81
А.3.1. Общие сведения 81
А.3.2. Файловая структура компонента 81
А.3.3. Схема обмена данными между файлами компонента 85
А.3.4. Публичный раздел системы 87
А.3.4.1. Порядок загрузки страницы web-приложения 87
А.3.4.2. Подключение модулей системы 87
А.3.4.3. Подключение шаблонов web-приложения 88
А.3.4.4. Подключение компонентов web-приложения 88
Приложение Б. Требования заказчика к работе web-приложения и дизайн-концепция 90
Приложение В. Исходные коды программных компонентов 95
В.1. Компонент games.calendar 95
В.2. Компонент games.raiting 99
В.3. Компонент games.filter 102
В.4. Компонент games.search 113
В.5. Компонент games.detail 117
В.6. Компонент search_autocomplete 121
В.7. Компонент reviews.list 126

Прикрепленные файлы: 1 файл

СОЗДАНИЕ САЙТА.doc

— 1.87 Мб (Скачать документ)

Технология AJAX включает в себя следующие инструменты:

  • язык JavaScript. Именно посредством данного языка возможно осуществить запрос к компьютеру web-приложения в асинхронном режиме;
  • XML (eXtensible Markup Language – расширяемый язык разметки) - текстовый формат, предназначенный для хранения структурированных данных для обмена информацией между программами;

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

1.7. Таблица стилей CSS

CSS (Cascading Style Sheets - каскадные таблицы стилей) - технология описания внешнего вида документа, написанного языком разметки. Основной целью разработки CSS являлось разделение содержимого (написанного на HTML или другом языке разметки) и представления документа (написанного на CSS). Это разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом [6].

В процессе разработки web-приложения каскадные таблицы стилей CSS использовались мной для управления внешним видом страниц web-приложения и передачи таблиц стилей web-клиентам пользователей для правильного отображения и поддержания дизайна web-приложения.

1.8. Общая схема работы web-приложения

 


(Ф.С. – файловая система, JS – JavaScript)

Рисунок 1 – Общая схема работы web-приложения

 

На рисунке 1 изображена общая схема запроса web-клиентом и получения страницы с компьютера web-приложения.

Для того чтобы получить страницу web-приложения, web-клиент отправляет HTTP – запрос к компьютеру web-приложения, который обрабатывается web-сервером Apache. Web-клиент может отправить как обычный запрос, так и асинхронный запрос к web-серверу с помощью технологии AJAX. Web-сервер Apache обрабатывает запрос, ищет требуемый web-клиентом ресурс в файловой системе компьютера web-приложения и, в зависимости от типа ресурса и конфигурации самого web-сервера, сразу формирует ответ web-клиенту, либо отправляет ресурс на обработку интерпретатором PHP. Интерпретатор PHP выполняет исходный код, содержащийся в переданном ему web-сервером ресурсе, при необходимости с помощью API обращается к СУБД MySQL, получая или изменяя данные, и возвращает сформированную страницу обратно web-серверу Apache для дальнейшей отправки web-клиенту. 

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

 

2. Описание системы «1С – Битрикс: Управление сайтом»

2.1. Общие сведения

Система «1C – Битрикс: Управление сайтом» представляет собой программное ядро для всестороннего управления web-проектами любой сложности.

Система «1С – Битрикс: Управление сайтом» включает в себя API для построения web-приложения и CMS для управления созданным web-приложением и его данными.

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

В состав «1С-Битрикс: Управление сайтом» входит 28 модулей. Продукт позволяет управлять информационным наполнением сайта, структурой, форумами, рекламой, рассылкой, распределять права между группами пользователей, анализировать статистику посещений, оценивать эффективность рекламных кампаний и многое другое.

2.2. Преимущества и недостатки системы

Замечание. Далее вместо словосочетания система «1С – Битрикс: Управление сайтом» будет для краткости использоваться слово система.

На данный момент система «1С – Битрикс: Управление сайтом» является одной из ведущих CMS, используемых для разработки web-проектов. Количество проектов, реализованных на базе системы «1С – Битрикс: Управление сайтом» составляет более чем 40 000.

Можно выделить следующие основные преимущества системы:

  • Стабильность работы системы. Web-приложения, правильно разработанные на базе системы (под правильностью следует понимать следование рекомендациям по разработке системы, использование API системы), могут достаточно долго работать без специального обслуживания. В системе предусмотрена технология обновления (SiteUpdate), позволяющая постоянно следить за обновлениями системы.
  • Безопасность системы. В состав системы входит модуль «Проактивная защита». Благодаря данному модулю система обеспечивает высокий уровень безопасности web-приложения.
  • Удобный и понятный интерфейс.
  • Универсальная среда разработки, наличие API системы. API системы обладает большим количеством классов и функций, позволяющих получить доступ ко всей функциональности модулей и построить web-приложение на базе работы  модулей.
  • Подробная документация. Документация по работе системы и по принципам построения web-приложения на базе системы доступна бесплатно и содержит в себе практически полное описание всех модулей системы, классов и методов API системы.
  • Удобное представление данных web-приложения, хранящихся в базе данных. Данные web-приложения могут быть представлены в виде информационных блоков. Информационные блоки предоставляют возможность удобно (без навыков владения СУБД) добавлять данные в систему, управлять данными и просматривать данные. Наиболее удачным решением является возможность разбить записи базы данных на блоки и папки и добавлять к записям неограниченное количество свойств. В системе предусмотрены классы и методы API для доступа и управления элементами информационных блоков.

К недостаткам системы следует отнести невозможность выбора нужных модулей при покупке системы, т.е. существует несколько редакций, в каждой из которой находятся строго определенные модули, перемещать модули между редакциями и формировать список модулей «под себя» невозможно. Также следует указать, что при разработке web-приложения можно выделить ряд неточностей или недостатков работы API системы, в частности невозможность сортировки элементов или фильтрации элементов разных информационных блоков по свойствам с одинаковым кодом.

2.3. Целесообразность использования системы

Разработанное мной web-приложение в первую очередь обладает достаточно большим объемом данных сложной структуры. Поэтому для того, чтобы удобно и быстро администрировать данные, необходима гибкая система представления данных с четкой структурой и интуитивно понятным интерфейсом. Без использования системы пришлось бы создавать большое количество таблиц в базе данных, настраивать связи между ними, писать специальные сценарии для управления данными, возможно, создавать API. В системе же, как уже было написано выше, предусмотрена достаточно удобная система управления данными. Таким образом, удобное управление данными web-приложения определяет первую причину использования мной данной системы.

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

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

2.4. Сравнение с другими системами

У системы «1С – Битрикс: Управление сайтом» существует большое количество конкурентов, в том числе предоставляющих возможность использования на бесплатной основе. Основным конкурентом «1С – Битрикс: Управление сайтом» является система UMI.CMS. В данной системе также предусмотрена возможность управления данными web-приложения (CMS) и API для разработки web-приложения. UMI.CMS также является модульной системой и поддерживает возможность выбора редакций.

В UMI.CMS присутствует ряд особенностей, которые отсутствуют в «1С – Битрикс: Управление сайтом», например, наличие корзины, в которую помещаются все удаленные страницы, новости и т.д. с возможностью последующего восстановления. Тем не менее, в UMI.CMS есть ряд существенных недостатков по сравнению с «1С – Битрикс: Управление сайтом», основным из которых является отсутствие модуля, обладающего функциональностью, схожей с функциональностью модуля «Информационные блоки». В UMI.CMS основным является понятие страницы как универсального носителя информации. Добавлять к страницам произвольные свойства оказывается достаточно затруднительной и нетривиальной задачей, при этом гибкость, которая достигается путем задания различных типов свойств в информационных блоках «1С - Битрикс», в UMI.CMS отсутствует. Также UMI.CMS проигрывает системе «1С – Битрикс: Управление сайтом» в реализации API системы. Как уже упоминалось выше, построенная на понятии страницы, UMI.CMS предоставляет достаточно небольшое количество классов и методов для построения web-приложения по сравнению с API системы «1С - Битрикс», не все классы и функции подробно описаны в документации, из-за чего при разработке приходится экспериментировать. В UMI.CMS отсутствует удобная реализация инкапсуляции программного кода, которая реализована в «1С – Битрикс: Управление сайтом» посредством компонентов. Вся функциональность реализована посредством модулей и макросов, как методов основного класса модуля, определяемого в основном сценарии модуля. Также преимуществом системы «1С – Битрикс: Управление сайтом» является удобная система шаблонов, позволяющая системе определять шаблон страниц web-приложения в зависимости от различных внешних условий, не прибегая к написанию дополнительного программного кода и разнообразие настроек web-приложения. В то же время в UMI.CMS система шаблонов реализована не настолько детально и гибко, а возможностей настроек web-приложения меньше, чем в системе «1С – Битрикс: Управление сайтом».

Таким образом, система «1С – Битрикс: Управление сайтом» представляется наиболее подходящей для разработки web-приложения. Подробное описание принципов работы системы «1С – Битрикс: Управление сайтом» дано в приложении A.

 

3. Описание API системы «1С – Битрикс: Управление сайтом»

3.1. Общие сведения

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

  • API модуля «Главный модуль»;
  • API модуля «Информационные блоки»;

3.2. API модуля «Главный  модуль»

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

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

Класс CMain.

CMain – главный класс страницы web-приложения. После одного из  этапов по загрузке страницы  в сценарии становится доступным  инициализированный системой объект данного класса с именем $APPLICATION.

void ShowTitle(string property_code=”title”, bool strip_tags = true)

Метод выводит заголовок страницы.

void SetTitle(string title)

Метод устанавливает заголовок страницы.

void ShowCSS(bool external = true, bool XhtmlStyle = true)

Метод выводит таблицу стилей CSS страницы.

void ShowMeta(string property_id = “”, string meta_name = false, bool XhtmlStyle = true)

Метод отображает свойство с id = property_id в виде мета-тега страницы (<meta>).

void ShowProperty(string property_id = “”, mixed default_value = false)

Метод отображает свойство страницы с id=property_id, учитывая свойства раздела.

string GetCurPageParam(string add_params = “”, array remove_params = array(), bool get_index_page = false)

Метод возвращает адрес текущей страницы web-приложения, добавляя к списку параметров новые и (или) удаляя старые параметры.

mixed IncludeComponent(string componentName, string componentTemplate, array arParams=array(), object parentComponent=null, array arFunctionParams=array())

Метод подключает компонент на странице. Возвращает код компонента.

Функции.

int AddToTimeStamp(array add, int timestamp = false)

Метод добавляет к дате в Unix-формате заданный интервал времени. Возвращает новую дату также в Unix-формате.

Класс CFile.

CFile – Класс для работы с  файлами web-приложения.

array GetFileArray(int file_id)

Метод возвращает массив, содержащий описание файла (путь к файлу, имя файла, размер) с идентификатором file_id.

Класс CDBResult.

CDBResult – класс результата выполнения  запроса к базе данных.

array GetNext(bool text_html=true, bool text_original = true)

Метод возвращает массив значений полей, приведенный в HTML-безопасный вид. Если достигнут конец результата выборки, метод вернет false.

void NavStart(int page_size=10, bool show_all=true, int page_number=false)

Информация о работе Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»