Иванов Константин Евгеньевич

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

Автореферат


Автор: Иванов Константин Евгеньевич
Научный руководитель: Аноприенко Александр Яковлевич

Вступление

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

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

Цели и задачи

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

Актуальность работы

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

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

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

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

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

Основное содержание работы

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

В данный список попали различные CMS и CMF системы. Далее приведем пояснение данных аббревиатур. CMS – Система управления содержимым/контентом (англ. Content management system) – компьютерная программа, используемая для управления содержимым чего-либо (обычно это содержимое рассматривается как неструктурированные данные предметной задачи в противоположность структурированным данным, обычно находящимися под управлением СУБД). Обычно такие системы используются для хранения и публикации большого количества документов, изображений, музыки или видео[1].

Частным случаем такого рода систем являются системы управления сайтами. Подобные CMS позволяют управлять текстовым и графическим наполнением веб-сайта, предоставляя пользователю удобные инструменты хранения и публикации информации. CMF (Content Management Framework) – каркасная система для управления содержимым. CMF — это инструментарий для создания систем управления содержимым, а также веб-приложений вообще. Ряд CMS, предоставляющих API для расширения своей функциональности, претендуют на звание CMF, хотя провести чёткую границу между CMS и CMF порой сложно. К примерам CMF, также являющимися готовыми CMS, можно отнести такие системы, как Cairo CMS, Plone, MODx, Drupal, TYPO3[2].

Выбор лидирующих CMS и их анализ. По результатам сравнительной характеристики лидирующих 50 CMS(CMF) к подробному анализу были представлены следующие: Drupal, Joomla, Wordpress, TYPO3, MediaWiki.

Итак, проанализировав вышеуказанные системы, можно сделать вывод, что возможными претендентами для использования в данном проекте остаются лишь две похожие системы: Drupal и Joomla. Ежегодная премия "Лучшая Open Source Content Management System написаная на платформе PHP/MySQL", по версии издательства Packt Publishing, присуждена системе Drupal. Это достойное звание система занимает уже не первый год подряд. Надо отметить, что Drupal финишировал со значительным и из года в год увеличивающимся разрывом, оставив далеко позади Joomla. Более детально изучив систему Drupal определено, что данная система полностью удовлетворяет поставленным требованиям и предоставляет возможность создания не только социального сообщества и единой базы знаний, но также и реализации множества дополнительных функций.

Структура системы. Структура системы изображена далее:
Рисунок 1 – Структура системы (анимированное изображение, 7 кадров, циклическое повторение, размер 24 КБ)

В силу того, что данная система является веб-ориентированной, она должна находиться на удаленном компьютере-сервере, имеющим постоянное подключение к Интернет. На данном компьютере-сервере будет установлено специализированное программное обеспечение – HTTP-сервер Apache, который является самым популярным в мире среди бесплатных аналогичных серверов.

Apache HTTP-сервер (сокращение от англ. a patchy server) — свободный веб-сервер. С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. По статистике Netcraft, в августе 2007 года он работал на 51 % всех веб-серверов, в апреле 2008 года — на 49 %. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6. Недостатком наиболее часто называется отсутствие удобного стандартного интерфейса для администратора. Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточный»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности [3].

В связи с тем, что мы решили использовать систему Drupal, которая написана на языке PHP (PHP: препроцессор гипертекста, инструменты для создания персональных веб-страниц – язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров, входит в LAMP — «стандартный» набор для создания веб-сайтов), нам необходим данный модуль для нашего веб-сервера.

В качестве систему управления базой данных будем использовать самую гибкую из доступных на данный момент – СУБД MySQL. MySQL (сленг. «мускул») – свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Этапы работы системы:

  1. пользователь осуществляет какое-либо действие на портале через веб-броузер, который посылает некоторый запрос веб-серверу;
  2. веб-сервер определяет кому предназначен запрос и передает его ядру нашей системы;
  3. ядро системы проверяет поступивший запрос на корректность и выполнение требований безопасности;
  4. если вышеуказанные требования соблюдены, начинается сбор запрошенной информации ядром системы, в роли которой могут быть:
    • некоторые поля из базы данных;
    • графические и мультимедиа файлы;
    • выполнение внешних функций (программ, модулей).
  5. ядро создает конечную HTML-страницу и отправляет ее веб-браузеру пользователя.

Определение функциональности портала. На сегодня основная функциональность портала может определяться технологией web 2.0. На основе анализа аналогичных порталов выявлено, что методика проектирования таких систем предполагает, что они становятся тем лучше, чем больше людей ими пользуются. Можно сделать вывод, что на текущем этапе развития Интернета основой является не информация, а люди, их знания и взаимоотношения.

На основе анализа определено, что портал должен предоставлять следующие возможности:

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

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

Апробация работы

Данная работа была представлена на четвертой международной научно-технической конференции студентов, аспирантов и молодых ученых в секции «web-технологии и электронная коммерция»[2].

Заключение

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

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

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

  1. Википедия. CMS (http://ru.wikipedia.org/wiki/CMS).
  2. Википедия. CMF (http://ru.wikipedia.org/wiki/CMF).
  3. Википедия. Apache HTTP-сервер (http://ru.wikipedia.org/wiki/Apache).
  4. «Информатика и компьютерные технологии». Сборник материалов четвертой международной научно-технической конференции студентов, аспирантов и молодых ученых. – Донецк, ДонНТУ, 2008, 510 стр.
  5. Merser D. Building powerful and robust websites with Drupal6. – Birmingham-Mumbai: PACKT Publishing, 2008, 400 p.
  6. Котеров Д., Костарев А. PHP 5. Наиболее полное руководство – Санкт-Петербург: БХВ-Петербург, 2005, 1121 стр.
  7. Справочник для WEB-программиста, 2007 (http://spravkaweb.ru).
  8. Вандюк Д., Вестгейт М. CMS Drupal: руководство по разработке системы управления сайтом –Киев:Вильямс, 2008, 390 стр.
  9. Официальный сайт русского сообщества Drupal (http://drupal.ru).
  10. Архаров Р. Строим сайты на Drupal. – электронный журнал «PC Magazine», 2008 (http://pcmag.ru/solutions/sub_detail.php?ID=32535).
  11. Drupal Revealed as 2008 Open Source CMS Award Winner – PACKT Publishing (http://www.packtpub.com/article/2008-open-source-cms-award-winner-announced).