Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Обзор и классификация систем управления сайтами

Тип Реферат
Предмет Информатика
Просмотров
425
Размер файла
22 б
Поделиться

Ознакомительный фрагмент работы:

Обзор и классификация систем управления сайтами

Быков Михаил Юрьевич

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

Введение

Недостатки платформ приложений серверной стороны, такие как низкая функциональность, отсутствие визуальных средств управления, трудности с масштабированием привели к тому, что практически каждая компания создает свой инструментарий для получения более эффективной среды разработки. Также существует достаточное количество свободно распространяемых разработок и опубликованных исследований [1-5]. Все подобные системы спроектированы для облегчения управления и изменения сайта (или сайтов, в зависимости от архитектуры системы), оперативного внесения изменений в содержание и дизайн, то есть то, чего не хватает базовым технологиям, хотя можно выделить два основных направления развития таких систем: простое построение сайта для непрофессиональных пользователей, и предоставление платформы для построения сложных Web – систем. Ниже рассматриваются существующие модели систем создания и управления сайтами, а также реализации таких систем.

Интерактивные формы

Данная модель системы дает возможность визуального управления страницами сайта без знания языка HTML с помощью специальных редакторов страниц. Дополнительно предоставляются возможности по созданию интерактивных форм, обычно работающих с базой данных. Такие системы позволяют быстро скомпоновать и разместить на сервере приложение, основанное на статических страницах, формах изменения информации в базе данных и отчетах. Ярким представителем такого подхода является система Cold Fusion [6] от компании Allaire, Inc. Система существует под платформы Windows и Linux, использует базу данных и предлагает разработчикам разрабатывать собственные страницы в среде разработки Cold Fusion Studio. Она построена на принципах CGI. Основным преимуществом системы является легкость создания Web – форм, связанных с базой данных. Это удобное средство быстрого создания сайтов, однако, оно жестко привязано к своей идеологии и среде разработки. Исключено также оперативное исправление сайта, для этого необходимо соединение с сервером с помощью специального ПО. Платформа ASP.NET также предлагает такие возможности, но в более гибкой форме [7]. Недостаток систем такого рода обусловлен жесткой привязкой к определенной базе данных, трудностями с разработкой нестандартных модулей, не связанных с СУБД. Также усложнена процедура обновления сайтов, поскольку приходится обновлять базу данных. Тем не менее, подход является достаточно высокоуровневым и позволяет значительно ускорить разработку простых приложений, связанных с СУБД.

Системы оперативного управления сайтом

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

Наиболее старой системой управления сайтом из систем подобного типа является WikiWikiWeb. Эта система появилась более 10 лет назад для облегчения поддержки сайтов различных сообществ пользователей. Система позволяет любому пользователю редактировать содержание любой страницы сайта непосредственно в браузере. Процесс редактирования отличается простотой, но и ограниченными возможностями. Для форматирования используется особый символьный язык, позволяющий выделять текст, создавать ссылки и т.д. Реализуется система с помощью ядра, которое извлекает содержимое страниц из базы данных, и позволяет интерактивно менять его. В настоящий момент существует масса реализаций системы практически на всех платформах разработки от Perl до .NET. Каждая из реализаций имеет свои дополнительные модули, например со списком последних измененных страниц, интерактивным календарем, графическим редактором в виде Java applet и т.д. Возможности всех реализаций очень ограничены, направлены в основном на изменение текстовой части страниц, а для изменения внешнего вида требуется создание так называемых “тем”, то есть базовых шаблонов. Однако технология заслуживает внимания, так как в ней впервые была предложена возможность менять содержимое сайта в интерактивном режиме с помощью браузера. Это важное развитие в идеологии систем управления сайтами.

В последнее время все большую популярность приобретают средства построения и управления сайтом в оперативном режиме, основанные на PHP: Php-Nuke и PostNuke. Это родственные системы, являющиеся разными ветвями развития одного проекта. Данные системы используют все возможности, предоставляемые шаблонами PHP и базу данных (MySQL, mSQL, PostgreSQL, ODBC, Sybase или Interbase), предоставляют массу стандартных функциональных модулей для построения сайта: новости, статьи, опросы, голосования, файловый менеджер, форум, поисковый модуль, каталогизатор ссылок, почтовая рассылки, и т.д. Системы появились сравнительно недавно и отвечают нуждам разработчиков. Они позволяют подключать к сайту модули сторонних разработчиков, создавать свои собственные, и, что очень важно, администрировать систему с помощью Web – интерфейса. Административный интерфейс позволяет легко и оперативно управлять сайтом. Для его использования не требуется знания HTML или других Web – технологий, поскольку дизайн находится в шаблонах, а бизнес логика в PHP файлах. При необходимости создания специализированной системы, а не просто компоновки существующих модулей необходимо создавать собственные PHP модули, что сопряжено со всеми достоинствами и недостатками разработки на PHP, которая плохо подходит для разработки крупных проектов. Однако помимо недостатков PHP в системах недостаточно развиты возможности управления дизайном. Будучи ориентирована на непрофессиональных пользователей, компонующих готовые модули и выбирающих одну из существующих “тем” дизайна, система не предоставляет удобных средств управления дизайном, не говоря уже об удаленном изменении шаблонов. Для редактирования дизайна необходимо иметь доступ на сервер и редактировать шаблоны там, так же как и PHP файлы. Таким образом оперативность управления является частичной и относится только к содержанию сайта, набору и настройкам модулей, но не к дизайну. Также построение сложных систем затруднено из-за ограничений PHP (недостаточная поддержка объектно-ориентированного подхода, компонентных технологий).

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

Системы типа Модель – Вид – Управление (Модель 2)

Схема работы Web – приложений накладывает свои ограничения на архитектуру систем управления сайтами. При работе в режиме “запрос-ответ” без сохранения состояния стандартные модели построения интерактивных пользовательских систем (которыми обычно являются Web – системы) не могут применяться. Однако, с некоторыми ограничениями, эти модели могут быть адаптированы. Наиболее распространенной, удобной, и признанной архитектурой интерактивных пользовательских систем является архитектура Модель – Вид – Управление (Model – View – Controller или MVC) [8], [9], [10] также называемая для Web – приложений в некоторых источниках Модель 2 (как развитие концепции шаблонов – Модели 1).

В данной архитектуре выделяются три основные подсистемы:

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

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

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

Архитектура широко распространена и применяется в таких популярных системах построения пользовательского интерфейса как Microsoft Foundation Classes (MFC) и Windows Forms для операционных систем Windows, Java Swing для Java платформы, X Window System и Motif для UNIX систем. Несмотря на несомненные достоинства архитектуры, такие как разделение данных и их представления, удобство в разработке и возможности изменения отдельных частей системы без изменения остальных, она является непростой для реализации в Web – системах, по упомянутым выше причинам. Особенную сложность представляет система управления, поскольку инициатором и получателем событий и команд являются различные программы, соединенные негарантированной линий связи. Тем не менее удобство данной архитектуры заставляет искать пути ее наилучшей адаптации к разработке Web приложений.

В качестве реализации подсистем модели и отображения обычно предлагается сочетание шаблонов страниц с отдельным программным кодом, при котором работа программиста и дизайнера может быть максимально разделена. При построении на шаблонной технологии, например PHP, они позволяют компоновать на одной странице различные шаблонные блоки, а также вводить их содержимое в административном интерфейсе. При этом взаимное расположение блоков, основной дизайн заложены в так называемых темах сайта и не могут быть гибко изменены, хотя и позволяют проводить самостоятельную разработку. При использовании более гибких технологий (в основном, по изложенным выше причинам, выбирается Java Servlets) ядро системы позволяет определять шаблоны и программные компоненты, заполняющие содержимое, обеспечивает их взаимодействие. В наиболее высокоуровневых моделях строится объектная модель сайта, его страниц, участков страниц. К сожалению в подобных системах визуальное построение страниц и оперативное управление через Web – интерфейс отсутствуют, поскольку системы ориентированы на разработку на сервере. В качестве подсистемы управления присутствует объектная модель, позволяющая взаимодействовать с пользователем в режиме, напоминающем обычную интерактивную модель с событиями, обработчиками, передачей управления, и т.д.

Из-за упомянутых выше преимуществ основой для мощных систем построения и управления сайтами часто служит платформа Java Servlets, иногда в сочетании с возможностью использовать страницы JSP. Примерами таких технологий служат Turbine [5], Velocity [4], Struts [3]. Отметим, что все они разрабатываются в рамках проекта Jakarta разработчиков Apache’s Group, обладают открытым исходным кодом и являются бесплатными.

Рассмотрим в первую очередь Velocity и Turbine. Необходимо заметить, что это не взаимоисключающие, а дополняющие друг друга технологии, и их совместное использование является эффективным. Velocity – это система построения текстов на основе шаблонов. Она может применяться не только для создания Web – сайтов, но и других подобных задач, например автоматической генерации программной документации. Velocity позволяет создавать шаблоны страниц и заполнять их автоматически с помощью понятия контекста – объекта, общего для всей среды исполнения и несущего все данные, используемые в шаблонах. Новшеством технологии Velocity явилось понятие контекста, позднее вошедшее в спецификацию сервлетов. Таким образом Velocity является мощной реализацией подсистемы отображения, предоставляя возможности взаимодействия с внешними подсистемами модели данных. Технология Turbine является реализацией архитектуры Модель – Вид – Управление, расширяя ее до следующих сущностей: Действие (Action), Размещение (Layout), Навигация (Navigation), Экран (Screen), Страница (Page). Структура сущностей Turbine.

В роли управляющего элемента служит сервлет Turbine, который проводит обработку запросов и обращается к остальным сущностям. Объект Action является указанием на класс, обрабатывающий форму. При получении запроса от такой формы Turbine делает вызов соответствующего класса. Построение страниц затем делается на основе объекта Page, содержащего необходимую информацию о странице, такую как Layout – расположение элементов на странице, шаблон высокого уровня, Navigation – блоки навигации по сайту, включаемые в страницу, Screen – основное тело страницы, содержащее информационную часть. Очевидно, что использование Velocity уместно при генерации кода, т.е. в объекте Screen. Такая комбинация систем позволяет хранить шаблоны страниц и динамически заполнять их при обработке запроса с помощью контекста. Модель, используемая Turbine, обладает значительной гибкостью, поскольку предполагает разделение обработчиков данных и генераторов страниц. Тем не менее, предлагаемая архитектура не является логически обоснованной. Выделение блока навигации в отдельную сущность не представляется целесообразным, поскольку таких блоков может существовать большое количество, как типовых, так и специфических для сайта. А его отделение от объекта представления Screen накладывает существенные ограничения на дизайн. Система является технологией, предназначенной для разработчиков, но не имеет среды разработки, предлагая использовать стандартные средства разработки на языке Java. В целом можно отметить достаточно удачную простую архитектуру системы, но отсутствие удобных средств разработки и какой либо визуализации.

Еще одной системой управления сайтами, основанной на Java Servlets и разрабатываемой в рамках проекта Jakarta, является популярная система разработки Struts. Технология Struts не требует полного подчинения сайта, она может использоваться совместно с другими страницами. В целом Struts состоит из двух основных частей – обработчика запросов, используемого вместе со Struts API, и библиотек тэгов JSP. Сайт может быть построен, используя классический подход JSP, с использованием тэгов Struts в качестве полезных утилит. Однако при написании серьезных Web – систем становится необходимым использовать диспетчер запросов. Это сервлет – обработчик, который анализирует поступающие запросы, и на основании этих данных и конфигурации Struts передает запрос уже конкретному обработчику. Правила конфигурации достаточно гибки, и запросы могут передаваться страницам, выполненным в идеологии Struts или сторонним. Для облегчения работы с важной частью Web – приложений – формами Struts поддерживает специальный Form Bean, позволяющий легко писать обработчик форм, а также наполнять их содержимым. Реализация адаптированного подхода Модель – Вид – Управление) осуществляется следующим образом: в качестве управляющего компонента работает сервлет – диспетчер Struts, осуществляющий необходимые вызовы. В качестве модели и для реализации бизнес логики используются классы действий (Action classes), вызываемые диспетчером. Для представления данных используются страницы JSP, вызов которым передается от диспетчера, и которые используют библиотеки тэгов. Также особое внимание в Struts уделяется использованию JavaBeans для отделения дизайна от логики. Несмотря на то, что, во многом Struts является более набором взаимосвязанных утилит, чем целостной системой нельзя не признать ее удачную архитектуру и огромную гибкость в использовании. Технология предоставляет массу полезных инструментов для разработчика, но не имеет своей среды разработки и средств визуализации. Таким образом, она становится удачным связующим звеном между необходимыми диспетчерскими обработками сервлетов и шаблонами JSP, реализуя архитектуру Модель – Вид – Управление.

Таким образом, поиск оптимальной реализации архитектуры Модель – Вид – Управление для систем управления сайтами является актуальным и находит свое применение в различных существующих системах построения сайтов.

Заключение

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

Списоклитературы

Fernandez M, Florescu D., Kang J., Levy A., Siciu D. STRUDEL: A Web Site Management System. AT&T Labs

Mendelzon A., Milo T. Formal Models of Web Queries. Information Systems, Vol. 23, No.8, pp. 615-637, 1998

Holloway T. Struts: a Solid Web-App Framework.

(http://www.fawcette.com/javapro/2002_04/magazine/features/tholloway/default_pf.asp)

Руководство разработчика Velocity. (http://jakarta.apache.org/velocity/developer-guide.html)

Спецификация технологии Turbine. (http://jakarta.apache.org/turbine/fsd.html)

Buraglia Angela C., Chalnick Leon, Forta Ben, Weiss Nate. ColdFusion MX Web Application Construction Kit, Fifth Edition. Macromedia Press; 5 edition, 2002.

Брукс К., Басби С., Джезирски Э., Макмен А. Руководство по архитектуре доступа к данным на платформе .NET (http://www.microsoft.com/rus/msdn/activ/article/dot_net_data_access_architecture/)

Johnson M., Singh I., Stearns B. Designing Enterprise Applications with the J2EE Platform, Second Edition. Sun Microsystems, 2002.

Model-View-Controller. Microsoft Patterns & Practices. (http://msdn.microsoft.com/library/en-us/dnpatterns/html/DesMVC.asp)

Gamma Erich, Helm Richard, Johnson Ralph, Vlissides John. Design Patterns. Addison-Wesley Professional, 1995.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

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

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно