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

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

Системыуправления сайтами, получившие широкое распространение в последнее время,облегчают разработку сложных 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) и WindowsForms для операционных систем Windows, Java Swing для Java платформы, X WindowSystem и 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 состоит издвух основных частей – обработчика запросов, используемого вместе со StrutsAPI, и библиотек тэгов JSP. Сайт может быть построен, используя классическийподход JSP, с использованием тэгов Struts в качестве полезных утилит. Однакопри написании серьезных Web – систем становится необходимым использоватьдиспетчер запросов. Это сервлет – обработчик, который анализирует поступающиезапросы, и на основании этих данных и конфигурации Struts передает запрос ужеконкретному обработчику. Правила конфигурации достаточно гибки, и запросы могутпередаваться страницам, выполненным в идеологии Struts или сторонним. Дляоблегчения работы с важной частью Web – приложений – формами Strutsподдерживает специальный Form Bean, позволяющий легко писать обработчик форм, атакже наполнять их содержимым. Реализация адаптированного подхода Модель – Вид– Управление) осуществляется следующим образом: в качестве управляющегокомпонента работает сервлет – диспетчер Struts, осуществляющий необходимыевызовы. В качестве модели и для реализации бизнес логики используются классыдействий (Action classes), вызываемые диспетчером. Для представления данныхиспользуются страницы JSP, вызов которым передается от диспетчера, и которыеиспользуют библиотеки тэгов. Также особое внимание в Struts уделяетсяиспользованию JavaBeans для отделения дизайна от логики. Несмотря на то, что,во многом Struts является более набором взаимосвязанных утилит, чем целостнойсистемой нельзя не признать ее удачную архитектуру и огромную гибкость виспользовании. Технология предоставляет массу полезных инструментов дляразработчика, но не имеет своей среды разработки и средств визуализации. Такимобразом, она становится удачным связующим звеном между необходимымидиспетчерскими обработками сервлетов и шаблонами JSP, реализуя архитектуруМодель – Вид – Управление.

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

Заключение

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

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

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

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

Holloway T. Struts: a Solid Web-AppFramework.

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

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

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

Buraglia Angela C., Chalnick Leon, FortaBen, 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. DesigningEnterprise Applications with the J2EE Platform, Second Edition. SunMicrosystems, 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.

Дляподготовки данной работы были использованы материалы с сайта www.sciteclibrary.ru

еще рефераты
Еще работы по информатике, программированию