logo
Лабораторная работа №1

22.1. Определение и классификация cms

Основой любого современного корпоративного веб-сайта можно назвать систему управления контентом (или систему управления сайтом). Между терминами «система управления сайтом» и «система управления контентом» существует некоторая путаница. Дело в том, что прямой перевод content management system — система управления контентом. Однако, по факту такие системы можно назвать «система управления сайтом», так как развитые CMS позволяют влиять практически на все аспекты работы веб-сайта [2].

В данном пособии будем считать управление сайтами и управление контентом синонимами, так как такая точка зрения прочно утвердилась в российской практике. В целом, разница между управлением сайтом и управлением контентом существует, так как системы класса ECM (enterprise content management) — системы управления корпоративным контентом намного ближе к эволюционирующим системам документооборота, чем к интернет-технологиям. Задача таких систем — организация значимой информации в компании для последующего поиска и анализа. Разработкой таких систем занимаются софтверные гиганты, также известные другими корпоративными информационными системами. Системы ECM выходят за рамки данной работы, поэтому мы опустим описание этого класса продуктов, однако стоит учитывать возможные разногласия в терминологии с иностранными источниками.

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

  1. Лицензионная политика системы управления сайтом один из первых и очевидных критериев принципиального разделения этого класса ПО. Принципиально существует два вида CMS по типу лицензии:бесплатныеикоммерческие. Для большинства бизнес-продуктов коммерческая политика лицензирования является нормой. Интернет в этом плане сильно отличается от других сфер бизнеса, потому как с момента образования эта сеть предоставляла в основном бесплатные сервисы. И по сей день мы наблюдаем активный рост количества бесплатных сервисов, продуктов и контента, производимого софтверными и интернет-гигантами, типа Google, Microsoft, Sun и других. Следовательно, потребители интернет-услуг (в том числе и разработчики веб-сайтов) ожидают бесплатного продукта для создания веб-сайтов. Среди бесплатных систем выделяютсяopen-sourceрешения, которые помимо отсутствия лицензионных отчислений позволяют вносить модификации в программный код, который является открытым. Распространенность таких систем обусловлена особенностями языков программирования, используемых для создания интернет-систем: Perl, PHP, Python, Java, Ruby и других. Приложения, написанные на этих языках часто позволяют просматривать и изменять исходный код модулей. Нужно отметить, что далеко не все продукты open-source распространяются под стандартной лицензией GPL, существуют десятки различных вариантов вариаций с самыми разнообразными ограничениями.

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

Кроме названных вариантов лицензирования существует еще одна альтернатива: аренда CMS, то есть реализация концепции Software as Service (ПО как услуга). Однако, такое решение дает больше, чем просто программный продукт, в него вложены услуги по установке, настройке и хостингу сайта. Тем не менее, и бесплатные, и коммерческие системы предоставляются на арендной основе. Есть основания полагать, что за такими услугами будущее массового сектора корпоративных веб-сайтов.

  1. Функциональностьсистем управления и сайтов, построенных на них — второй принципиальный фактор различия. Причем, функциональность сайта, построенного на CMS не всегда определяется функциональностью самой CMS. То есть, стоит различать два фактора: возможности системы и возможности сайта. По функциональными возможностями систем будем понимать те сервисы, которые CMS предоставляет внутренним пользователям (администраторам сайта), а под возможностями сайта — сервисы для внешних пользователей сайта (посетителей).

Универсальные системы управления предназначены для создания широкого спектра веб-сайтов. Набор модулей таких систем покрывает максимум возможностей сайта, описанных выше. Универсальные CMS подойдут для традиционных корпоративных сайтов на разных уровнях электронного бизнеса.

Специализированные системы поддерживают создание блогов, форумов, wiki-сайтов и других профильных решений. Их функциональность «заточена» под узкий профиль применения и имеет законченный вид. Часто такие системы интегрированы с самим сайтом.

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

  1. Архитектура.Принципиально можно выделить несколько типов архитектур CMS: система и сайт как одно приложение, система независима от сайта и система управления сайтом, а также сайт является модулем информационной системы. Подход к архитектуре может отличаться в зависимости от сценария поддержки сайта.

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

Кроме того, архитектура системы определяет требования к среде работы веб-сайта и самой системы. Важно уточнить операционные системы, совместимые с решением, требуемый сервер приложений или веб-сервер, тип языка программирования (если требуется установка) и используемые СУБД. С требованиями к ПО часто связаны требования к аппаратному обеспечению сервера: количество оперативной памяти и размер дискового пространства.

  1. Привязка к разработчику/открытость. При создании сайта на CMS заказчику важно осознавать степень зависимости от разработчика сайта и разработчика CMS в процессе поддержки проекта. При этом разработчик сайта и CMS может быть одним лицом, а может это будут различные организации. Поэтому стоит рассматривать две подпроблемы: разработчик сайта и разработчик системы.

Степень привязки к разработчику сайта определяется популярностью средств и используемой среды, которые были применены при создании сайта, среди веб-разработчиков. К ним относятся: операционная система, язык программирования, CMS, фреймворки (frameworks), средства интеграции, язык верстки и шаблонизаторы. Второй важный фактор привязки к разработчику сайта: наличие технической документации на сайт, его программные модули и структуру БД. Если использованные средства широко распространены на рынке веб-разработок, то есть возможность найти альтернативных программистов или компанию-разработчика для доработки и развития сайта. Конечно, обязательным условием для перехода к другому разработчику на поддержку является наличие у заказчика всех исходных кодов сайта и его БД.

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

  1. Возможность интеграции с ИС, функции ИС.На современном этапе развития электронного бизнеса все чаще возникает желание интеграции веб-сайта и корпоративной информационной системы. Делается это для повышения эффективности работы сайта и предоставления дополнительных сервисов посетителям (клиентам). Система управления сайтами может обладать средствами интеграции с определенными ИС или поддерживать стандартные протоколы взаимодействия (SOAP, CORBA, ebXML и другие). Такие системы можно назватьинтегрируемыми, при необходимости вы сможете относительно легко связать сайт и ИС с помощью стандартных средств CMS.

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

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

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

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

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

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

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

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

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