Современные информационные технологии /Программное обеспечениее
Тауасаров
Г.И
Южно-Казахстанский
государственный университет имени М. Ауезова, Казахстан
ПРОЕКТИРОВАНИЕ КОРПОРАТИВНЫХ WEB-ПОРТАЛОВ
В работе рассмотрены этапы планирования и решаемые задачи
на этапе проектирования образовательных порталов с использованием современных
информационных технологий.
В настоящее время на рынке программного обеспечения
присутствуют множество программных продуктов, направленных на корпоративные решения
с целью обеспечения совместной работы сотрудников и расширению существующих
функций электронной коммерции. Наилучшим средством на настоящий момент является
Microsoft Visual Studio 2005, которое содержит
развитые средства построения порталов [1].
Существующая система SharePoint Designer 2007 подходит только для
простейших учебных задач. Все рассмотренные инструменты основаны на
инфраструктуре .NET Framework [2], которая совместима с любой операционной
системой.
Для коллективной работы лучше всего использовать
продукт Visual Studio
2005 Team System [3],
который имеет встроенные средства, предусматривающие организацию и координацию
действий различных членов команды.
Для разработки корпоративного портала на основе ASP.NET используется модель
клиент-сервер. В этой модели учавствуют
два компьютера web-сервер и web-клиент. Запрос
между web-сервером и web-клиентом осуществляется
по стандартному протоколу HTTP, определяющему
простые операции между сервером и клиентом, которые составляют транзакцию.
Транзакции HTTP состоят из трех этапов:
соединение, запрос и ответ. При первом этапе клиент устанавливает соединение с
сервером, этап соединения заключается в поиске требуемого узла. Когда узел
найден, сервер получает запрос и подготавливает ответ клиенту. На втором этапе
клиент запрашивает информацию у сервера. На третьем этапе клиент получает информацию
от сервера и производит ее обработку для отображения в обозревателе.
Рассмотрим планирование портала, поскольку
планирование необходимо для успешного выполнения любого проекта. На этапе
планирования нужно решить какой функциональностью должен быть наполнен портал,
какими способами она должна быть достигнута и как будет осуществляться его последующее
масштабирование. Для этого каждая страница разбивается на отдельные фрагменты.
Некоторые фрагменты будут содержать статическую информацию, и их может
оказаться несколько. Другие фрагменты будут содержать динамическую информацию.
Затем определяется структура этих фрагментов. При проектировании портала
используются три этапа:
-создание макета страницы с использованием соотвествующих
зон и иснтрументов;
-разработка пользовательских элементов управления для
наполнения функциональным содержанием;
-отладка функциональности web-портала и механизма взаимосвязи элементов.
Порталы предназначены для лучшей интеграции
информации, предоставляя удобный интерфейс, настраиваемый для каждого
пользователя в отдельности. Простота и удобство работы одно из центральных
свойств успешного портала. Это свойство является результатом решения следующих
задач:
-развитая система персонализации;
-интуитивно понятная и эффективная система навигации;
-высокая степень автоматизации прикладных функций.
Характерной
особенностью современных информационных систем (ИС)
является необходимость сочетания содержательного информационного наполнения с
передовыми технологическими разработками. Это обусловлено тем, что наряду с
новыми данными и документами большое значение может иметь наличие особых
методов обработки информации, доступа к хранилищу документов, структурных и
семантических связей с остальными компонентами ИС.
Спецификой ИС вуза
является большое количество людей, непосредственно вовлеченных в подготовку
содержания (авторы, пользователи системы), и не являющихся сотрудниками
владельца системы (факультет, управление), которые также принимают участие в
подготовке материалов, например редакторская служба. Более того, пользователями
системы могут быть другие ИС, с которыми осуществляется обмен информацией [1-3].
Увеличение числа пользователей и информационных ресурсов приводит к появлению
узких мест, связанных с администрированием образовательного портала. Кроме
того, нужно стандартизовать способ идентификации всех пользователей и ресурсов
в портале. Получивший в последнее время распространение ролевой подход к
разграничению доступа направлен на решение проблемы контроля отношений
«пользователи - ресурсы» в сетевой информационной среде [1-3].
Вопросы разграничения доступа традиционно относятся к
области «защиты информации» и они достаточно проработаны в теоретическом и практическом
плане [1-3]. Методы и средства контроля отношений «пользователь - объект» в
соответствии с той или иной политикой безопасности были исследованы в
многочисленных работах, посвященных моделям безопасности [1-3].
Ролевое управление
доступом оперирует следующими основными понятиями:
- роль - это набор
прав (правил), определяющих (регламентирующих), какие привилегии и над какими
объектами будет иметь пользователь, которому присваивается данная роль;
- объект (физический
или логический объект - сущность, доступ к которой разграничивается);
- операция (зависит от
типа объекта, архитектурных и программно-
аппаратных
особенностей реализации);
- пользователь, который
требует того или иного разграничения доступа к этому действию;
- право (правила)
доступа - составная часть роли (разрешение выполнять
определенные операции над
определенными объектами);
- сессия работы
пользователя - подмножество активированных в течение некоторого интервала
времени ролей пользователя.
В общем виде доступ к
ресурсам можно представить в виде матрицы, задающей соотношение субъектов и
объектов. К субъектам относятся авторизованные пользователи системы, причем
один физический пользователь может соответствовать нескольким субъектам в
контексте разграничения доступа. Объектами являются всевозможные ресурсы
системы: документы, базы данных, рубрикаторы, файлы, внешние устройства и т.д.
К объектам могут относиться и сложные структуры, описывающие пользователей системы,
их группы, организации и т.п.
В матрице доступа
каждому субъекту соответствует строка, а объекту -
столбец. На их пересечении
указываются права на действия (атрибуты доступа), которые субъект имеет право
производить над объектом. Для каждого типа объектов набор допустимых действий
свой, например, для документов - чтение, запись, модификация, создание,
уничтожение, речь идет о подмножестве полного набора действий, права на
выполнение которые с данным объектом имеет данный субъект.
Однако прямой путь
реализации полной матрицы доступа в реальных системах неприемлем: в этих
системах функционируют сотни и тысячи субъектов, выполняя различные действия
над десятками и сотнями тысяч объектов. Полное число элементов типичной матрицы
доступа будет составлять миллиарды, что совершенно неприемлемо как с точки
зрения производительности, так и с точки зрения поддержания ее целостности и актуальности.
Одним из путей решения
указанной проблемы является реализация элементов матрицы доступа по мере
надобности на основе атрибутов, приписываемых объектам и субъектам по правилам,
определяемым так называемыми «политиками доступа».
Создавая механизм
защиты для Web-сайта, первым делом нужно решить, аутентификация какого типа
будет применяться: аутентификация Windows или аутентификация с помощью форм.
Аутентификация Windows очень легко настраивается и используется, в то время как
аутентификация с помощью форм требует создания специальной базы данных и формы
регистрации. Использование системы безопасности Windows обычно является наилучшим
вариантом тогда, когда разрабатывается внут-
рисетевой сайт, посетителями которого являются только пользователи, имеющие доступ
во внутреннюю сеть компании (где у них есть доменные учетные записи). При таком
подходе пользователи получают возможность пользоваться Web-страницами с ограниченным
доступом, не заходя формально на Web-сайт; страница выполняется в контексте
запрашивающего ее пользователя, и ограничения системы безопасности
автоматически распространяются на все ресурсы, к которым код пытается получить доступ
и использовать (обычно этими ресурсами являются файлы и объекты базы данных).
Еще одно преимущество состоит в том, что Windows будет безопасным образом
сохранять и шифровать данные удостоверения пользователей, тем самым позволяя
разработчику не делать этого. Однако требование иметь учетную запись в локальной
сети представляет собой серьезную проблему, из-за которой такой подход становится
плохим выбором для Internet-сайтов. Если систему безопасности Windows применять
для пользователей, находящихся за пределами сети компании, компании придется
создавать сетевую учетную запись пользователя для каждого пользователя Web-сайта,
что замедлит процесс получения доступа к сайту для пользователей и увеличит расходы
на администрирование сайта для компании.
Хотя в принципе можно написать
какой-нибудь код, автоматизирующий создание сетевых учетных записей Windows, и
страницу регистрации, использующую процедуру заимствования прав Windows,
применять систему безопасности Windows с такими сложными обходными путями в
нашем случае (т.е. для общедоступного Web-сайта с тысячами потенциаль-
ных пользователей) просто не имеет смысла. Будет гораздо лучше, если вместо
этого мы используем аутентификацию с помощью форм и сохраним данные
удостоверения пользователей и связанные с ними данные профилей в специальной
базе данных.
Наш Web-сайт состоит
из ряда отдельных модулей для управления динамическим содержимым, таким как
статьи, форумы, опросы и рассылки писем с новостями. Однако со всеми нашими
модулями связан ряд общих "задач проектирования", которые мы должны
решить.
1. Отделить код доступа к данным от кода бизнес-логики и
кода представления (пользовательского интерфейса), так чтобы сайт был гораздо
более удобным в обслуживании и гораздо более масштабируемым. Это называется
многоуровневым проектом.
2. Изолировать архитектуру доступа к данным, так чтобы
она могла поддерживать различные лежащие в основе хранилища данные, не требуя
внесения изменений на уровне бизнес-объектов.
3. Подобным образом, внесение изменений в бизнес-объекты
или уровни представления тоже должно быть возможным без изменения другого
уровня. Это называется отделением уровней друг от друга.
4. Спроектировать архитектуру бизнес-объектов, чтобы
представить данные, извлекаемые на уровне доступа к данным, в
объектно-ориентированном формате.
5. Обеспечить возможность помещения бизнес-объектов в кэш
для того, чтобы данные, уже извлеченные из хранилища данных, сохранялись, и нам
не приходилось выполнять ненужные операции выборки для извлечения тех же самых данных
снова и снова. Это позволит сократить требуемое количество ресурсов ЦП, ресурсов
базы данных и объем сетевого трафика и, следовательно, улучшить
производительность в целом.
6. Обработать и зарегистрировать исключения и другие
важные события, такие как удаление записи, для того, чтобы упростить
диагностику проблем в случае сбоя в работе системы и обеспечить наличие данных
аудита.
7. Сохранить конфигурационные настройки сайта и модулей в
таком месте, из которого их будет легко считывать и в котором в них будет легко
вносить изменения, а также создать вспомогательные классы, чтобы упростить доступ
к этим параметрам.
8. Привязать
многочисленные элементы управления пользовательского интерфейса к данным,
извлекаемым на уровне бизнес-логики, чтобы свести к минимуму объем работы,
который должен выполняться на уровне пользовательского интерфейса, и возложить
роль управления данными на уровень бизнес-логики вместо уровня
пользовательского интерфейса. В идеале пользовательский интерфейс должен
фокусироваться в основном на представлении данных, уровень бизнес-логики должен
манипулировать данными и применять бизнес-правила, а уровень данных должен
только обеспечивать постоянство (хранилище данных).
Таким образом,
необходимо продумать общий набор классов, необходимых для решения всех этих
проблем, так чтобы их можно было применять в различных модулях при
проектировании корпоративных web-порталов.
Литература
1. Пауэре, Л. Microsoft Visual
Studio 2008 / Л. Пауэре, М. Снелл: Пер. с англ. — СПб.: БХВ-Петербург,
2009. - 1200 с.
2. Макки, Алекс. Введение в .NET 4.0 и Visual
Studio 2010 для профессионалов. : Пер. с англ. -М. : ООО
"И.Д. Вильяме", 2010. - 416 с.
3. Эспозито Д. Знакомство с технологией Microsoft ASP.NET 2.0 AJAX. - М.:
«Русская Редакция»; СПб.: Питер, 2007. - 320 с.