Дипломная работа: Модернизация сайта ПРИПИТ с использованием системы управления содержимым сайта CMS
CMS – один из наиболее конкурентных рынков приложений сегодня. В миру существует несколько тысяч или десятков тысяч подобных приложений. Выделим основные классы таких приложений:
· Системы с закрытым исходным кодом
· Системы с открытым исходным кодом
Существует множество приложений с закрытым исходным кодом от крупных производителей, в основном предназначенных для крупных предприятий и организаций.
Наиболее известными приложениями такого класса являются Microsoft Content Management Server, Documentum, Plumtree Portal, IBM WebSphere Portal.
Стоимость внедрения проектов на базе данных решений высока. Поэтому сфера их применения узкая и ограничивается в основном созданием интранет-решений для крупных предприятий.
Другим достаточно большим классом являются системы с открытым исходным кодом (OpenSource). Преимуществами таких систем является доступность, наличие исходного кода, возможность локализации. Однако их использование связано со следующими проблемами:
· Отсутствие техподдержки – системы предлагаются в основном без технической поддержки и все проблемы, связанные с использованием таких систем разработчик должен решать самостоятельно.
· Узкая сфера применения – чаще всего продукт явился побочным результатом решения одной из собственных задач.
Например, разработчики создали сайт-сообщество для общения между собой. И далее решение, на котором работает этот сайт, предлагается как CMS.
Очевидно, что подобное решение может хорошо решать задачи создания такого же рода сайтов, но может быть совершенно неприспособленно для решения задач другого плана (электронная коммерция, b2b и т.д.)
Наиболее известными примерами таких систем являются OpenCMS, PhpNuke, PostNuke, Portal Starter Kit и т.д.
1.5 Классификация CMS
За несколько лет системы управления содержимым веб-ресурсов значительно усовершенствовались. Классифицируем CMS по областям применения:
· Порталы. Используются для информационных ресурсов, основной целью ставят максимальное упрощение публикации статей и новостей. Могут включать в себя нижеперечисленные типы CMS как самостоятельные модули. Наиболее известные представители данного класса: AngelineCMS, Bes-cms, CoolPHP, CPG-Nuke, вебZE, Xaraya, xNuke, XOOPS и др.
· Движки без SQL. Это ответвление в разработке CMS развито относительно слабо, так как использование в качестве хранилища информации файлов вместо таблиц базы данных сопряжено с множеством труднорешаемых проблем. Достоинство этих CMS – в доступности для модификации контента и возможности размещения на бесплатных хостингах. Есть несколько реализаций данной идеи: Cute News, DeeLight CMS, Progressive, SAPID.
· Блог. Происходит от англ. weblog. Русский термин – «сетевой дневник» – это сайт, на котором находятся личные заметки автора. В основном заметками являются ссылки на сайты, которые кажутся владельцу ресурса наиболее интересными, и комментарии к ним. Блог может содержать не только ссылки, но и просто электронный дневник пользователя. К этой категории можно отнести следующие CMS: b2evolution, bBlog, BLOG:CMS, MyPHPblog, Nucleus, pLog, pMachine Free, Serendipity, Textpattern, WordPress, XHP.
· Форумы – это инструмент для общения на сайте. Сообщения в форуме в чем-то похожи на почтовые – каждое из них имеет автора, тему и содержание. Но для того, чтобы отправить сообщение в форум, не нужна никакая дополнительная программа – нужно просто заполнить соответствующую форму на сайте. Принципиальное свойство форума заключается в том, что сообщения в нем объединены в треды (от англ. thread – «нить»). Когда вы отвечаете в форуме на чье-то сообщение, ваш ответ будет «привязан» к исходному сообщению. К форумам, достойным внимания, можно причислить FUDforum, openBB, Phorum, phpBB, PunBB, W-Agora, XMB, Zorum, ExBB, IPB, vBulletin.
· Магазины. К магазинам отнесем любой сайт, с которого можно заказать какой-либо товар. В данном случае в определение «товара» может входить абсолютно все, включая время доступа в Интернет, минуты сотовой связи. CMS, позволяющие создать виртуальный магазин: MyMarket, osc2nuke, osCommerce, Zen Cart.
· Групповая работа (Groupware) – комплекс программного обеспечения, позволяющий организовать работу предприятия, отношения с клиентами и заказчиками в Интернете. Обычно представляет собой полностью или частично закрытую часть сайта с возможностью отслеживать сроки выполнения поставленных задач, распределение ролей и временных нормативов. Иногда можно выносить вопросы на обсуждения и решения вышестоящего руководства. Как правило, пользуются следующими CMS: dotProject, eGroupWare, MoreGroupware, phpCollab, PHProjekt.
· Обучение (e-Learning) – дистанционная форма обучения с использованием Интернета. Онлайновая форма обучения уже не один год является «маяком», на который ориентируются образовательные системы разных стран мира. Главным стратегическим направлением является быстрое обновление знаний и эффективное использование информации.
Такихсистемнемного: ATutor, Claroline, LogiCampus, Moodle, Segue, Site@School.
· Базы знаний (KnowledgeBase) позволяют накапливать опыт множества разработчиков. Каждая такая база знаний имеет свою специфичную структуру, поэтому никаких общих решений на данный момент не предложено. Самая известная из существующих баз знаний – RFC [Request For Comment] – запрос на комментирование. Обычно описание работы с каким-либо протоколом и т.п.
· Биллинг (Billing). Программное обеспечение, позволяющее провайдерам и реселлерам работать со счетами клиентов. Такие CMS являются неотъемлемой частью крупной системы учета потребления услуг пользователями. Задача же CMS данной категории – в отображении информации о предоставленных услугах, подключении новых услуг, изменении текущих параметров, приеме платежей и т.п. Часто такие системы пишутся своими силами. Для примера можно привести биллинг-панель RuWEB. В ней создано огромное количество тарифных планов, позволяющих платить только за те параметры хостинга (трафик, место на жестком диске, MySQL, PHP, Perl…), которые используются в полном объеме.
· Администраторская панель хостинга. К этому классу относятся такие продукты, как Direct Admin и Control Panel.
1.6 Модели представления данных CMS
Объектная модель представления данных – оперирует такими понятиями, как класс и объект. Классы определяют структуру данных и представляют собой набор атрибутов (текстовая строка, целое число, изображение и т.д.). Представители класса (объекты) имеют определенную структуру и могут содержать другие объекты, образуя произвольную иерархическую структуру. Объекты могут наследовать свойства, содержание и поведение объектов, которые в них содержатся. Примерами объектов служат документы, картинки, папки и учетные записи пользователей. Класс контента не хранит в себе реальных данных – такую информацию содержат объекты (экземпляры класса). Определив один класс, можно создать множество его представителей (контент объектов).
В CMS-системах данные обычно хранятся в реляционной базе данных. В этом случае объектная модель данных отображается на реляционную модель базы данных. [4] Связи между объектами создаются, например, с помощью таблиц вида id, from_object, from_object_version, to_object.
Как правило, системы, основанные на объектно-ориентированной модели данных, наиболее функциональные, гибкие, но, в то же время, и наиболее сложные.
Сетевая модель представления данных в CMS– опирается на теорию графов: структура информации представляется в виде узлов с помеченными связями между ними. Фундаментом системы может служить как сетевая, так и традиционная реляционная СУБД, на которую отображена сетевая модель описания данных. В реляционных таблицах хранится информация об узлах, их атрибутах и связях между ними. Связь отличается от атрибута тем, что в ней хранится ссылка на другой узел, а в атрибуте – собственно значение. Для извлечения данных из направленного графа обычно используются рекурсивные процедуры обработки, такие как составление списков узлов, определение атрибутов узла по атрибутам родителя и др. Пример системы такого типа – Communiware. Эта система представляет собой инструментарий нового поколения для создания вертикальных Web-сайтов и порталов.