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

Реферат

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

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

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

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

5 стр., 2064 слов

Коммуникации в системе стратегического управления организацией

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

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

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

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

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

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

8 стр., 3987 слов

«Государственно-общественный характер управления системой образования»

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

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

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

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

Способ работы веб-приложений накладывает ограничения на архитектуру систем управления сайтом. При работе в режиме “запрос-ответ” без сохранения состояния стандартные модели построения интерактивных пользовательских систем (которыми обычно являются 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 систем. Несмотря на несомненные преимущества архитектуры, такие как разделение данных и их представление, простота разработки и возможность изменять отдельные части системы без изменения остальных, ее нелегко реализовать в веб-системах для пользователей вышеупомянутые причины. Система управления отличается особой сложностью, так как инициатором и приемником событий и команд являются различные программы, связанные незащищенными линиями связи. Однако удобство этой архитектуры заставляет искать способы, которые лучше всего подходят для разработки веб-приложений.

7 стр., 3332 слов

Современная модель управления организацией. Формирование модели ...

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

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

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

Обратите внимание, что все они разработаны в рамках проекта Jakarta разработчиков группы Apache, имеют открытый исходный код и бесплатны.

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

Структура сущностей Turbine.

12 стр., 5635 слов

Управление кадровыми рисками в системе обеспечения экономической ...

... исследования: управление кадровыми рисками в системе обеспечения экономической безопасности ООО «Горводоканал». Целью дипломной работы является изучение теоретических аспектов управления кадровыми рисками и на их основе разработка мероприятий по снижению кадровых рисков в системе экономической ...

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

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

В качестве модели и для реализации бизнес логики используются классы действий (Action classes), вызываемые диспетчером. Страницы JSP используются для представления данных, вызов которых передается диспетчером и которые используют библиотеки тегов. Struts также фокусируется на использовании JavaBeans, чтобы отделить дизайн от логики. Несмотря на то, что во многих отношениях Struts представляет собой скорее набор взаимосвязанных утилит, чем целостную систему, нельзя не признать ее успешную архитектуру и большую гибкость использования. Технология предоставляет разработчику множество полезных инструментов, но не имеет собственной среды разработки и инструментов визуализации. Следовательно, он становится хорошей связью между необходимой обработкой отправки сервлетов и моделями JSP, реализующими архитектуру Model-View-Control.

8 стр., 3850 слов

Рулевое управление и тормозная система автомобиля

... в неразборном крышка завальцована в головке (рис. 5, д). РУЛЕВОЕ УПРАВЛЕНИЕ АВТОМОБИЛЕЙ «ЗАПОРОЖЕЦ» МОД. ЗАЗ-968 И -968А, На автомобиле «Запорожец» Рулевой механизм, расположенный в чугун­ном картере 16 (рис. ...

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

Заключение

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

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

[Электронный ресурс]//URL: https://management.econlib.ru/referat/sistemyi-upravleniya-kontentom-cms/

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.