Формирование проблемно-ориентированного WEB-портала для доступа к распределенным информационным ресурсам
Аверченков В.B., Казаков Ю.М., Шкаберин В.А.
Modern requirements to functionality, characteristics and the interface of a web-portal are described in article. The structure of a web-portal, on CALS/CAD/CAM/CAE-technologies and functional interrelations between its modules is offered.
На данный момент существует большое количество программных средств (готовых порталов, сайтов) и даже распространяющихся бесплатно, функциональность которых частично реализует задачи, поставленные при разработке проекта по формированию проблемно-ориентированного Web-портала для доступа к распределенным информационным ресурсам научного и образовательного назначения по приоритетным направлениям развития науки и техники [1,2].
Основные требования при формировании структуры портала включают в себя:
Функциональность системы:
1. Универсальность системы - показатель применимости продукта для решения различных задач. Например, использование в разработке электронных СМИ, онлайн-магазинов или промо-сайтов.
2. Функциональные возможности. В том числе:
· формирование динамической структуры сайта;
· наличие визуального редактора;
· поддержка мультиязычности сайтов;
· возможность отмены совершенных действий;
· инструменты для поиска и индексации информации.
3. Безопасность/администрирование - возможность многопользовательского доступа к системе, возможность разграничения прав доступа к разделам, разграничение доступа по различным профилям пользователей.
4. Обеспечение документооборота - возможность обеспечения жизненного цикла каждого объекта в зависимости от уровня доступа пользователя.
5. Функциональные модули - наличие стандартных функциональных модулей в системе. В том числе:
· новостная лента;
· форум;
· опрос;
· формы для обратной связи.
6. Гибкость архитектуры - наличие возможности изменять структуру сайта, данных, показатель гибкости платформы в целом. В том числе:
· возможность редактирования шаблонов дизайна;
· наличие API-интерфейса для разработки приложений;
· модульная структура подключения объектов/функционала.
Удобство для пользователей:
1. Требования, предъявляемые к пользователю системы - уровень знаний технических навыков, которым должен обладать конечный пользователь, чтобы грамотно пользоваться системой. Также на этот параметр влияет наличие подробной документации по использованию системы (User Guide).
2. Интерфейс системы. В том числе:
· дизайн интерфейса;
· интуитивность;
· удобство навигации.
3. Уровень кастомизации системы - возможность настройки интерфейса системы в зависимости от поставленных задач. В данном случае учитываются возможность управление личными настройками пользователя, наличие различных вариантов дизайна (скинов).
Технические характеристики:
1. Переносимость - возможность переноса сайта на/из системы, возможность импорта/экспорта данных из СУБД. Также на оценку этого параметра влияет наличие/отсутствие специального программного обеспечения, необходимого для запуска системы.
2. Устойчивость к нагрузкам - пропускная способность сайта на системе, возможность кэширования, масштабируемость.
3. Возможность параллельного развития системы - наличие программных средств, позволяющих разрабатывать новые модули и программные интерфейсы, оптимизировать и развивать систему силами внешних разработчиков. В том числе наличие:
· подробной документации для разработчиков (Developers Guide);
· API;
· открытой архитектуры системы.
4. Технические требования - список технических условий, необходимых для успешной эксплуатации системы. В том числе:
· возможность работы с различными СУБД;
· переносимость на разных серверных платформах;
· установка специализированного софта;
· требования к аппаратной части.
В результате на первом этапе было предложено сформировать портал по CALS-, CAD-, CAM-, CAE-технологиям на основе системы iPHPortal, т.к. она полностью соответствует всем требованиям и распространяется бесплатно. Разработанный портал является составной частью отраслевой системы доступа к информационным ресурсам научного и образовательного назначения по приоритетным направлениям развития науки и техники в области искусственного интеллекта и CALS-, CAD-, CAM-, CAE-технологий[3].
Структура любого сайта, построенного на базе системы iPHPortal, состоит из трех взаимосвязанных частей (рис.1.):
База данных;
Административный интерфейс (бэк-офис);
Внешнее представление сайта (фронт-офис).
В то же время организацию портала можно разделить на логическую и физическую. Логическая структура - это представление портала для конечного потребителя (администратора или пользователя). Физическая структура - совокупность файлов, папок и базы данных, которая организует функционирование портала.
Рисунок 1 - Структурная схема специализированного Web-портала по CALS/CAD/CAM/CAE-технологиям
Содержание сайта представляет собой набор рубрик, в которых находятся либо материалы, либо различные интерактивы (форумы, поиск) (рис.2). Рубрики могут быть вложены друг в друга. У рубрики есть два главных параметра - «Название рубрики» и «Директория рубрики». Из директорий составляется путь к рубрике - например рубрика «Новости портала» доступна на сайте по адресу /news/portal/, «news» - это директория рубрики «Новости» и «portal» - это директория рубрики «Новости портала» (рубрика «Новости портала» вложена в рубрику «Новости»). Логическая структура представлена в виде Бэк-офиса и Фронт-офиса.
Рисунок 2 - Дерево рубрик портала
проблемный портал распределенный информационный
Бэк-офис - это основной инструмент администраторов и операторов системы. В режиме Бэк-офиса оператор системы может добавлять или удалять функциональности, которые в системе представлены в виде модулей, имеющих возможность взаимодействовать.
Функции бэк-офиса:
Изменение структуры и информационного наполнения сайта.
Работа с шаблонами и обработчиками.
Модерирование интерактивов всех типов.
Управление пользователями и правами пользователей.
Внешний вид и функциональность фронт-офиса определяется структурой, шаблонами и обработчиками и определяет, что увидит на сайте пользователь.
Набор рубрик, имеющийся в данном портале, регламентирован техническим заданием и может динамически меняться.
На основе задания к уже имеющимся рубрикам дистрибутивного варианта сайта были добавлены:
· Модуль ссылок;
· Модуль авторефератов диссертаций;
· Модуль литературы;
· Модуль методических указаний;
· Модуль основных систем в области CALS-, CAD-, CAM-, CAE-технологий;
· Модуль разработчиков CALS-, CAD-, CAM-, CAE-технологий;
· Модуль НИР;
· Модуль свободной регистрации разработок;
Была произведена настройка разделов:
· Модуль новостей и объявлений;
· Форум по проблемам САПР.
Назначение рубрик сайта представлено через сервисы проблемно-ориентированного Web-портала, которые можно разделить на следующие основные группы:
· информационные сервисы;
· коммуникационные сервисы;
· навигационные сервисы;
· статистические сервисы;
· система поддержки контента;
· администраторские сервисы;
Физическое представление рубрики - модуль (рис.3.) и рабочая директория рубрики. Все рубрики (директории) предгенерируются на сайт.
Система iPHPortal имеет модульную структуру. Модуль представляет собой код, предназначенный для работы с определенной сущностью. Модуль может использоваться в каком-то одном разделе (модуль «Каталог образовательных ресурсов») или в нескольких разделах (модуль «Форумы» может быть размещен в нескольких разделах). Разбиение сайта на отдельные модули позволяет использовать наработки на других порталах.
С помощью системы экспорта-импорта можно создавать экспортные файлы с полной информацией о модуле, позволяющие переносить модули и создать библиотеку модулей. Модуль включает:
Определение модуля (запись в базе данных).
Таблицы БД (дамп).
Классы.
Страницы административного интерфейса.
Пункты меню.
Обработчики.
Шаблоны.
Группы прав, относящихся к модулю.
Права, относящиеся к модулю.
Объект права.
Тип рубрики по умолчанию.
Файлы к модулю.
Настройки к модулю.
Рисунок 3 - Общая структура модуля
Разделение внешнего представления и логики работы модуля реализуется с использованием паттерна Model-View-Controller. Суть этого паттерна состоит в том, чтобы отделить представление данных от доступа к ним. В паттерне выделяются три части системы: model (модель), являющаяся абстрактным хранилищем данных, view (представление) - абстрактный способ отображения информации клиенту и controller (контроллер) - часть, реализующая взаимодействие между моделью и представлением (бизнес-логику).
Моделью является набор классов РНР, который представляет логику работы с определенной сущностью (например, с материалами на сайте). View - HTML шаблон, с использованием директив шаблонного «движка». Данные в шаблон передаются контроллером - кодом РНР, который использует Model для извлечения данных.
Применение паттерна MVC решает следующие проблемы:
код отделен от представления данных; таким образом, представление данных легко переработать, не затрагивая остальные части системы;
хранилище данных может быть любым (как одной из DB, так и, например, XML-файлом); в общем случае легко можно реализовать набор универсальных data providers, получающих, изменяющих или добавляющих данные, используя value objects (объекты, содержащие информацию о данных (например, строку таблицы реляционной БД));
меньше времени уходит на разработку приложения, так как сильно сокращается время, необходимое для тестирования.
При разработке приложения можно параллельно вести разработку нескольких частей системы благодаря абстракциям, применяемым в контроллере. Модуль может быть двух видов:
С возможностью размещения в рубрике (например, «Форум» или «Каталог ресурсов», т.е. имеющий представление на сайте);
Просто некая функциональность (например, «Голосование»).
Для работы в портале все пользователи поделены на группы с заданными правами доступа для группы. Пользователь может входить в одну или несколько групп. Права пользователя - это объединение прав групп, в которые он входит. Он также может сам изменить все свои данные, кроме логина и принадлежности к группам пользователей. В системе предусмотрен также «множественный вход» для одновременной работы нескольких пользователей.
Литература
1. Аверченков, В.И. Информационный поиск в сети Интернет [Текст]: учеб. пособие / В.И. Аверченков, В.В. Мирошников, С.М. Рощин - Брянск: БГТУ, 2001. - 204 с.
2. Аверченков, В.И. Мониторинг и системный анализ информации в сети Интернет [Текст]: монография / В.И. Аверченков, С.М. Рощин - Брянск: БГТУ, 2006. - 160 с.
3. Аверченков, В.И. Разработка отраслевой системы доступа к информационным ресурсам научного и образовательного назначения по приоритетным направлениям развития науки и техники в области искусственного интеллекта и CALS-, CAD-, CAM-, CAE-технологий [Текст] // В.И. Аверченков, Ю.М. Казаков / Труды Всероссийской научно-методической конференции «Телематика 2006», Санкт-Петербург. 2006, с. 27-28.