Современные информационные технологии /Программное обеспечениее

 

 

Тауасаров Г.И  

 

Южно-Казахстанский государственный университет имени М. Ауезова, Казахстан

 

ПРОЕКТИРОВАНИЕ КОРПОРАТИВНЫХ 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 с.