Доклады БГУИР
2009 № 4 (42)
УДК 004.91+347.78.031
О РАЗРАБОТКЕ ИНТЕРНЕТ-КОМПЛЕКСА ПОДДЕРЖКИ УЧЕБНОГО ПРОЦЕССА НА ОСНОВЕ УНИВЕРСАЛЬНОЙ CMS-СИСТЕМЫ
Л.В. РУДИКОВА, Ю.Э. ЗАЯЦ
Гродненский государственный университет имени Янки Купалы 230023, г. Гродно, ул. Ожешко, д. 22
Белорусский государственный университет 220030 г. Минск, пр. Независимости, д. 4
Поступила в редакцию 6 апреля 2009
Рассматривается архитектура и практическая реализация интернет-комплекса для поддержки учебного процесса на основе универсальной CMS-системы. В общем случае система предполагает работу с различными источниками данных и решение разнообразных пользовательских задач. Предлагаемый интернет-комплекс реализован с использованием объектно-ориентированного языка Ruby on Rails, который в настоящее время является одним из самых широко известных каркасов для разработки веб-приложений.
Ключевые слова: CMS-система, интернет-комплекс, социальная сеть, источники данных, учебный процесс.
Введение
Совершенствование и развитие образовательных стандартов требует обновления и реорганизации учебного процесса в системе высшего образования. Несомненно, что основной компонентой учебного процесса должна стать соответствующая ресурсная поддержка конкретных учебных дисциплин [1].
В настоящее время разработаны и разрабатываются различные среды и системы, которые позволяют осуществить электронную поддержку учебного процесса. Например, достаточной популярностью пользуются такие системы как е-ип^егейу или Moodle. Актуальной является также и разработка альтернативных систем, которые будут более гибкими, простыми и доступными для максимального числа пользователей.
Достаточно гибкими, простыми и функциональными могут быть системы, построенные на основе социальных интернет-сетей, в основе которых лежит универсальная CMS-система. В последнее время возрос интерес к социальным сетям и сообществам, причем особенно востребованы они в интернете, что подтверждается развитием и расширением различных систем такого рода в глобальной сети [2, 3].
Однако примеров использования и соответствующих аналитических выводов для системы поддержки учебного процесса, которая базируется на социальной интернет-сети, до сих пор не наблюдается. Это связано, прежде всего, с различными целями, которые ставят перед собой разработчики социальных сетей для интернет-пространства. Во-первых, это привлечение любыми средствами большего числа пользователей в ущерб функционалу системы, ее безопасности и структурной организации информации. Во-вторых, конкурентоспособность такого рода систем постоянно растет, и требуются немалые капиталовложения и усилия разработчиков для их создания. В-третьих, учет только специфики учебного процесса вузов автоматически ограничивает общее число возможных пользователей такого рода системы.
Итак, с учетом вышеизложенного можно сделать вывод о том, что для использования в учебном процессе системы, построенной на основе социальной интернет-сети, необходимо выполнение, как минимум, следующих требований:
- достаточная функциональность, включающая возможность быстрой структурной модификации всего ресурса;
- высокий уровень безопасности;
- возможность расширенного многопользовательского доступа;
- доступ из любой точки глобальной сети;
- простота использования;
- поддержка многосторонних коммуникаций.
Таким образом, создание веб-ресурса с использованием универсальной CMS-системы является наиболее оптимальным, гарантирует возможности развития самого комплекса, расширение числа пользователей за счет создания персональных страниц и поддержки многосторонних коммуникаций. А это, в свою очередь, является актуальным как для становления интернет-сообщества, так и для развития новых форм поддержки и организации учебного процесса в высшей школе.
Общая архитектура
Рассмотрим подробнее архитектуру интернет-комплекса для поддержки учебного процесса на основе универсальной CMS-системы. В общем случае система предполагает работу с различными источниками данных и решение разнообразных пользовательских задач. Так, основными функциями системы являются: ленты новостей; комбинированные службы доставки мгновенных сообщений; электронная почта; система поиска информации; конструктор динамических веб-страниц; сервис хранения изображений на основе стороннего API; сервис комментирования; сервис создания ссылок с возможностью их автоматической генерации на основе входящих данных; управление профилями и др.
Основными блоками системы, поддерживающими ее функциональность, являются: источник-интегратор; сервис хранения страниц, изображений и двоичных файлов; каталог-сервис; сервис ленты новостей и электронной почты по запросу. Рассмотрим подробнее указанные компоненты.
Источник-интегратор (рис. 1) предполагает управление виртуальными "личностями". В свою очередь, он может использовать сторонние сервисы, например сервис граватаров (Gravatar). Такой источник предоставляет серверу несколько различных механизмов аутентификации или идентификации (с использованием Gravatar, OpenID, и т.д.), из которых сервер может выбрать один или несколько приемлемых вариантов. Кроме того, источник-интегратор содержит пользовательские профили, что позволяет с его помощью настраивать другие сервисы.
Рис. 1. Источник-интегратор
Сервис хранения страниц, двоичных файлов, изображений (рис. 2) получает данные из различных источников и предоставляет к ним доступ при помощи различных протоколов,
таких как HTTP или BitTorrent. В зависимости от контента, данный сервис использует API различных поставщиков для хранения данных.
Хранилище данных
GMail Storage FTP-сервер Flickr
Добавление файла
Пользователь 1
Интерфейс файлового хранилища
Протокол HTTP
Протокол FTP
Протокол FastTrack
Протокол BitTorreni
Доступ к файлу
Пользователь 2
Рис. 2. Сервис хранения данных
Сервис-ленты новостей и e-mail-по-запросу представляют собой объединение нескольких различных источников данных фиксированного формата с возможностью подключения дополнительных пользовательских источников данных с поддержкой репостинга в другие системы.
Каталог-сервис интегрирует несколько источников данных с различными форматами в один общий источник. Над результирующим источником возможны стандартные операции работы с данными (CRUD-операции и другие), а также специфические операции, поддерживаемые сервисом.
В предлагаемой системе можно выделить несколько пользователей, основные функциональные возможности которых сводятся к следующим действиям: выборка данных на основе пользовательских запросов; выборка данных на основе дополнительного источника данных; внесение изменений в результирующий источник; внесение изменений в исходный источник с поддержкой методов вызова протокола HTTP; подключение дополнительных пользовательских источников как для публичного, так и для персонального использования.
Диаграмма вариантов использования разрабатываемой универсальной CMS-системы показана на рис. 3.
Система
Рис. 3. Диаграмма вариантов использования системы
В качестве дополнительного функционала системы отметим также сервис перманентных ссылок с поддержкой фолксономии и сервис переадресации, использующийся для отобра-
жения URL в пространство имен Web 2.0 системы, который необходим для поддержки стандартного механизма именования в интернет-сети.
Работа с системой предполагает нахождение, модификацию, связывание и публикацию источников данных в соответствии с решаемой задачей, дополнение источников данных или же использование результирующих источников данных (рис. 4).
Рис. 4. Диаграмма последовательностей работы с источниками данных в системе
Модификация источников данных осуществляется с использованием других источников, либо источников-модификаторов с управляющими бизнес-правилами, либо при помощи сервисов-модификаторов (рис. 5).
Рис. 5. Создание источника данных при помощи сервиса-модификатора
Необходимо отметить, что данные, предоставляемые источниками, могут быть различными, а их набор - зависеть от задачи, решаемой пользователем. В зависимости от применяемых в системе подключаемых нетиповых модулей было бы логично разделить систему на несколько систем со слабыми связями, сгруппировав их по тематической направленности. Причем, это можно сделать классическим способом, привязав каждую часть (группу) к системе доменных имен.
Реализация системы
Предлагаемый интернет-комплекс на основе универсальной CMS-системы реализован с использованием объектно-ориентированного языка Ruby on Rails [4], который в настоящее время является одним из самых широко известных каркасов для разработки веб-приложений.
Каркас Ruby on Rails построен на основе паттерна Модель-Вид-Контроллер (Model-View-MVC) и обеспечивает бесшовную интеграцию с базой данных.
Для обмена данными была выбрана методология AJAX [5], позволяющая производить асинхронный обмен данными между клиентом и веб-сервером. Использование AJAX позволило создать элементы пользовательского интерфейса, отличающиеся низким временем доступа и повышенным удобством использования по сравнению с элементами, предоставляемыми стандартными веб-средствами. Пользовательский интерфейс созданного интернет-ресурса позволяет зарегистрированному в системе пользователю создавать страницы, содержащие элементы управления на основе AJAX и с их помощью работать с источниками данных.
В реализованном интернет-ресурсе вызовы AJAX получают данные в нескольких видах:
- в виде plain HTML с целью отображения в DOM-модели;
- в виде структурированных списков для использования в элементах управления;
- в виде вызываемого при загрузке JavaScript с целью модификации нескольких элементов DOM и других операций.
Необходимо также отметить, что основу интернет-комплекса составляет модифицированный шаблон проектирования Abstract Factory (Абстрактная Фабрика), который позволяет создавать группы связанных между собой объектов, реализующих общее поведение (рис. 6). Abstract Factory генерирует экземпляры класса ActiveRecord, благодаря чему стало возможным сквозное двустороннее обращение к моделям приложения, в том числе моделям, которые используют внешние источники данных.
Стандартная поставка созданного интернет-ресурса (без дополнительных подключаемых модулей) состоит из нескольких подсистем, различных по функциональности: ленты новостей, динамических веб-страниц wiki, сервиса хранения изображений на основе стороннего API, сервиса комментирования, сервиса создания ссылок с возможностью их автоматической генерации на основе входящих данных.
Для каждой из подсистем при создании страниц указываются входящие в нее источники данных, и в дальнейшем на их основе происходит генерация страниц и RSS-потоков.
Рис. 6. Абстрактная Фабрика
Выводы
Нами рассмотрены отличительные особенности интернет-комплекса, базирующегося на универсальной CMS-системе: его основные функциональные показатели, общая архитектура и подходы к реализации.
Отметим некоторые отличительные характеристики реализованного интернет-комплекса. Так, разработанная CMS-система, лежащая в основе данного продукта, гарантирует
надежную защиту от несанкционированного доступа, предлагает возможность быстрой модификации всего ресурса и динамическое моделирование совокупности элементов управления на каждой из разрабатываемых веб-страниц. На наш взгляд, создание веб-ресурсов с использованием такого рода CMS-системы является наиболее оптимальным, гарантирует возможности развития самого комплекса, расширение числа пользователей за счет возможности создания персональных страниц и поддержки многосторонних коммуникаций. Кроме того, интернет-комплекс прост в использовании, доступен каждому пользователю, подключенному к сети интернет, и не требует дополнительных затрат на обучение работы с системой.
Разработанный интернет-комплекс может быть использован для поддержки учебного процесса, а также для быстрой и удобной синдикации и публикации данных в интернете, что, несомненно, является сегодня актуальным для различных сфер деятельности общества.
DEVELOPMENT OF AN INTERNET-PACKAGE TO SUPPORT THE STUDY PROCESS, USING A UNIVERSAL CMS-SYSTEM
L.V. RUDIKOVA, Y.E. ZAYATS
Abstract
The architecture and practical realization of an Internet package, designed to support the study process, based upon a universal CMS-system is examined. In most cases the system is used when working with various data sources and for solving varied user-defined tasks. This internet package was created using the object-orientated language Ruby on Rails, which at the current moment in time is one of the most widely-known frameworks for creating Web programs.
Литература
1. Рудикова Л.В., Изосимова Т.Н., Заяц Ю.Э. Современные информационные компьютерные технологии: сб. науч. ст. В 2 ч. Ч. 1 / ГрГУ им. Я. Купалы. Гродно: ГрГУ, 2008. С. 198-202.
2. Заяц Ю.Э. // Открытая научно-практическая конференция преподавателей и студентов математического факультет. 26-27 апреля 2005 г. Гродно, ГрГУ, 2005 г. С. 215-220.
3. Заяц Ю.Э, Кадан А.М. // Изв. Белор. инж. акад. 2005. № 1(19)/2. С. 188-190.
4. Matsumoto Y. Ruby in a Nutshell. O'Reilly, 2001.
5. Crane D., Pascarello E., James D. Ajax in Action. Manning, 2006.