автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Комплекс программных средств разработки и поддержки информационного портала корпоративной системы

кандидата технических наук
Войтиков, Константин Юрьевич
город
Анжеро-Судженск
год
2007
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Комплекс программных средств разработки и поддержки информационного портала корпоративной системы»

Автореферат диссертации по теме "Комплекс программных средств разработки и поддержки информационного портала корпоративной системы"

На правах рукописи

Войтиков Константин Юрьевич

КОМПЛЕКС ПРОГРАММНЫХ СРЕДСТВ РАЗРАБОТКИ И ПОДДЕРЖКИ ИНФОРМАЦИОННОГО ПОРТАЛА КОРПОРАТИВНОЙ СИСТЕМЫ

05 13 11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных систем»

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

003 160307

Анжеро-Судженск - 2007

003160307

Работа выполнена на кафедре информатики филиала ГОУ ВПО «Кемеровский государственный университет» в г Анжеро-Судженске

Научный руководитель.

кандидат технических наук, доцент Моисеев Александр Николаевич

Официальные оппоненты

доктор технических наук, профессор Сущенко Сергей Петрович

доктор физико-математических наук, доцент Новосельцев Виталий Борисович

Ведущая организация Сибирский государственный аэрокосмиче-

ский университет (г Красноярск)

Защита состоится «8» ноября 2007 года в 12 час 00 мин на заседании диссертационного совета Д212 267 08 при Томском государственном университете по адресу 634050, г Томск, пр Ленина, 36

С диссертацией можно ознакомиться в научной библиотеке Томского государственного университета

Отзывы на автореферат (2 экз ), заверенные печатью, высылать по адресу 634050, г Томск, пр. Ленина, 36, ученому секретарю ТГУ

Автореферат разослан «3» октября 2007 года

Ученый секретарь диссертационного совета, доктор технических наук, профессор

--

Скворцов А В

> - ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ J

Актуальность работы; Первые Web-узлы представляли собой распределенную' систему гипермедиа, которая позволяла пользователям ползать доступ со своих персональных компьютеров к документам и информации других клиентов сети Осуществление доступа к информационным ресурсам и тогда и сейчас произ-

t~ i" , ' ^ jL -

водится с помощью специальной программы, которую называют браузером или Web-клиентом

Развитие сети Интернет привело к бурному росту числа Web-систем Web-система- это система гипермедиа, ресурсы которой связаны между собой Такая система рассматривается как набор узлов со ссылками друг на друга Ссылки обеспечивают "возможность навигации между ресурсами системы После того как пользователь выполнит щелчок по Ссылке в документе, браузер интерпретирует данное действие как запрос на загрузку документа или ресурса, на который указывает эта ссылка. В этом смысле Интернет в целом можно воспринимать как единую большую Web-систему

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

Изначально ресурсы Интернет были предназначены для отображения информации строго ручного характера, но из-за своей простоты и .доступности стали востребованы и в других сферах. Резкий рост интереса к Интернет привел к соответствующему развитию информационных технологий и стандартов, предназначенных для работы в Web, появились международные организации, занимающиеся разработкой «правил игры» в этой области, а так же большое число компаний, реализующих коммерческие проекты для работы с Web Одним из самых важных стандартов в этой области является HTML HTML - это язык гипертекстовой разметки документа (HyperText Mailcup Language) С возложением новых обязанностей1 на Web, а так же развитием Интернет-технологий, появлялись так называемые скриптовые языки, такие как JavaScript VBScript Они были предназначены для внесения динамики в Web-страницы на стороне клиента. Это привело к появлению нового стандарта - объектной модели документа DOM (Document Object Model)

С ростом и глобадизахщрй. egra Интернет информация стала организовываться с использованием баз данных, что привело к появлению новых серверных техно-лопий, таких как ASP (Active Sender Pages) С использованием этих технологий стало возможным формирование Web-страницы динамически Стало необязательным i £■ ' хранить все Web-страншы в файловой системе сервера, теперь они могли формироваться по запросу клиента Это привело к появлению понятия Web-приложения и соответствующей дисциплине- проектированию Web-приложений • Web-приложение- это Web-система, позволяющая реализовать бизнес-логику через браузер Web-приложения развивались на основе совершенствования и усложнения функций Web-узлов

Более строго Web-приложение можно определить как программную систему

трехзвенной архитектуры «клиеш/сервер», в состав которой входа, архитектурные

а,

компоненты браузер (клиент) и сервер (возможно разделенный на сервер бизнес-логики и сервер базы данных)

Решению стандартных проблем проектирования Web-приложений в последнее время уделяется достаточно большое внимание, например в работах Беллинья-со М рассматриваются вопросы, связанные с созданием таких типовых средств как подсистема членства и профилирования посетителей, управление новостями и динамическим содержимым, а также персечализация страниц. Рассмотрение вопросов, связанных с построением как просшх интерактивных систем приема заказов, так и различных аспектов электронных систем продажи и безопасности во взаимосвязи, произведено в работе Be, линга JI и Томсона Л, а основные принципы проектирования Web-приложенйй описаны в работах Коналлена Д, Фаулера М, Дари К, Сировича Дж, Рамеля Д., Бушмана Ф

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

Thin Web Client («тонкий» Web-клиенг) - основная идея данного щаблона состоит в том, что в распоряжение клиента предоставляется браузер, поддерживающий формы, а все операции, связанные с бизнес-логикой, выполняются на сервере С использованием данного шаблона проектирования, построено большинство Web-приложений Интернет

Thick Web Client («толстый» Web-клиент) - основная часть бизнес-логики выполняется на клиентских машинах, для этого используется динамический HTML, аплеты Java или элементы ActiveX

Web-Delivery (механизм Web-доставки) - использование данного шаблона предполагает, что кроме протокола HTTP используются другие протоколы передачи данных, такие как DCOM и SOAP, служащие для поддержки системы распределенных объектов В данном случае браузер функционирует как контейнерный модуль системы распределенных объектов

К сожалению, большинство источников, посвященных разработке Web-приложений, не рассматривают проблемы проектирования такой важной разновидности приложений как информационный портал Под информационным порталом понимают рабочую среду, которая на стороне пользователя увязывает воедино все 1 корпоративные приложения и обеспечивает его доступ ко всей информации и ресурсам из сети Интернет В данной работе под корпоративными информационными системами подразумеваются компьютерные системы масштаба предприятия среднего или малого размера. В отличие от больших корпоративных систем (построенных, например, на базе SAP R/3, Lotus Notes/Dommo, Oracle E-Business Suite и т п ), в которых средства поддержки информационных порталов интегрированы в состав системы изначально, корпоративные системы среднего и малого класса (например, построенные на базе 1С Предприятия, MBS-Navision или разработанные на заказ) не имеют подобь six полнофункциональных средств Под информационными базами корпоративной системы будем подразумевать любые доступные извне (открытые) источники -шформации системы, в том числе ее базы данных, серверы бизнес-логики или чаз данных, предоставляющие интерфейс взаимодействия с другими систе- - 'ч - - -

На взгляд автора, проблемы проектирования информационных порталов связаны со специфическими особенностями информационных систем этого класса С одной стороны, методы организации информации,;приеущие Web-порталам, позволяют считать их Web-приложениями Но с другой стороны, специфика информации Web-портала приводит либо к внесению существенных изменений в соответствующие шаблоны архитектуры И проектирования, либо делает использование этих шаблонов просто невозможным. Например, важнейшая составляющая любого классического Web-прйложвнияг - бизнес-логика - в " контексте информационных порталов не является таковой Ведь в качестве объектов предметной области портал оперирует единицами информации, изъятыми из'контекста, сформировавшего их; и в основной бвоей массе 'представляющими лишенные предметного смысла текстовые или двоичные данные

ш

тп

{—1 \ —1 —1

Интерфейс пользователя Предметная обсистъ

систем

- 1-1 !

Рве 1 Место подсистемы формирования \?/еЬ-представяения в информационной системе

Объекты и подсистемы в информационных системах распределяются по пакетам согласно своему функционалу и уровню абстракции отражения предметной области Как показано на рис 1, г "осгаве корпоративной информационной системы портал является подсистемой формирования 'У^еЬ-представления данных ее информационных баз, то есть относится к пакету интерфейса пользователя С другой стороны, портал можно рассматривать как отдельную систему, которая подключается к информационным системам через свой пакет «Взаимодействие систем» (рис 2) Поскольку в данной работе рассмотрены вопросы проектирования подсистемы поддержки информационного портала, в дальнейшем эта подсистема будет час о называться системой формирования ЭДеЬ-представления

Портал

1 Р :

1 1 1 Интерфейс -пользователя

1 1 —1.1

1 Прдактюя область ч ! взаимодействие!

1

1 1 —к1

1 1 1 Ул [явление данными

Рис 2 Система формирования \УеЬ-представленкя как внешняя по отношению к информационной системе

Такт образом, является актуальной задача формирования типового решения для архитектуры системы формирования \УеЬ-предегавления в корпоративной информационной системе среднего/малого класса и .создание комплекса программ разработки и, поддержки функционирования портала КИС.

Состояние проблемы. Вообще все \УеЬ-системы, используемые для, организации информаыионных порталов корпоративных систем, можно разделить на две категории . ,

1 Готовые УУеЬ-компоненты информационных систем

В качестве примера приведем такую типичную платформу для построения корпоративных систем среднего и малого масштаба как «1С Предприятие» В рамках Web-поддержки разработчики поставляют с ней модуль «Web-расширение» Работа данного продукта строится следующим образом На Web-cepBep устанавливается дополнительный модуль, который обеспечивает не только связь с базой данных, но и выполнение различных запросов, написанных на специальном языке Разработка Web-сайта целиком и полностью ложится на плечи разработчика. По сути дела, созданный с помощью данной технологии сайт, представляет собой набор ASP-страниц со специальным языком скриптов V7Script, который обеспечивает доступ к объектам информационной базы

Несколько иное решение предлагает Microsoft в программном продукте «Business Solutions Navision» Решение задач электронной коммерции при помощи Web-интерфейса осуществляется с использованием компоненты «Commerce Portal» После установки и настройки конечному пользователю в итоге предоставляется сайт с определенным набором прав для каждого пользователя и возможностью управления внешним видом HTML-сграниц

В качестве другого примера можно привести информационные порталы систем документооборота, например, таких систем как «Дело 8 8» или «Directum» При чсех своих отличиях в задачах и функциях данные системы имеют схожую реализацию Web-интерфейса для управления документооборотом Как правило они предоставляют готовый Web-сайт с достаточно жесткой структурой, то есть не оставляют пользователю возможности на изменение контента, визуальное оформление, добавление нового функционала или такие возможности сильно ограничены

Таким образом, Web-компоненты платформ корпоративных информационных систем для публикации данных в Web функционируют только в границах своей платформы, а изменение и оформление Web-страниц, в лучшем случае, приходится осуществлять с помощью стороннего редактора. В худшем же случае, информационные порталы таких систем лишены какой-либо настройки - элементы Web-страниц таких порталов жестко фиксированы Главным же достоинством систем подобного вида является автоматизация операций поиска и выборки необходимых данных из информационных баз и их преобразование в Web-представление. 2 Системы управления контентом (Content Management System, CMS). Возможно создание информационного портала путем «ручной» выборки в этом случае разработчик создает серверные динамические страницы, производящие

необходимые операции поиска и выборки данных из информационных баз и их

7

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

Наиболее ярким представителем бесплатных систем этого типа является семейство PHP-Nuke и его аналоги Типичный информационный портал, созданный на основе PHP-Nuke - это система, написанная на языке программирования PHP, работающая с базой данных MySQL и Web-сервером Apache В качестве примера коммерческих систем данного класса можно привести отечественную разработку 1С-Битрикс и зарубежные BinN S Builder, ínDynamic Эти программные продукты предназначены для разработки и поддержки Интернет-сайта.

Главным достоинством систем по управлению контентом является наличие полнофункциональных высокоуровневых средств управления визуальным представлением и взаимодействия с пользователем Их недостатком является сложность подключения к информационным базам функционирующей корпоративной информационной системы

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

Целью работы является построение повторно используемого решения для архитектуры систем формирования Web-представления информационных баз в корпоративных информационных системах (КИС) и реализация на его основе соответствующего комплекса программ

Для достижения цели были поставлены следующие задачи 1 Изучить и проанализировать российский и мировой опыт разработки Web-приложений различных типов, архитектуру их построения Сформулировать основные требования к системе формирования Web-представления объектов информационных баз КИС.

2 На основе анализа выявленных требований сформулировать повторно используемое решение для построения архитектуры систем формирования \Veb-представления объектов информационных баз КИС

3 Уточнить элементы архитектуры самой системы и ее отдельных компонентов, на основе полученной архитектуры создать программный комплекс инструментальных средств, решающих задачу формирования \УеЬ-представления и смежные с ней задачи Разработать ЭДеЬ-портал с использованием созданных инструментальных средств

Методика исследования

При выполнении диссертационной работы использовалась методология объектно-ориентированного анализа и проектирования Унифицированный процесс, методики выявления требований к программным системам, методы объектно-ориентированного, структурного и системного программирования, технологии реляционных баз данных

Научная новизна:

1 На основе результатов анализа требований сформулировано типовое решение для архитектуры построения системы формирования \УеЬ-представления информационных баз корлоративной информационной системы

2 В результате анализа условий функционирования системы формирования \УеЬ-представления сформулирована новая концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных

Теоретическая и практическая ценность работы-

1 Предложенное повторно используемое решение для архитектуры систем формирования У/еЬ-представления информационных баз КИС позволяет создавать компоненты подсистемы разработки и поддержки информационных порталов, наиболее полно включающие необходимый функционал и предоставляющие возможность его расширения

2 Сформулированная концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных позволяет организовывать взаимодействие компонентов в приложениях «клиент/сервер» с высокой степенью учета возможных будущих расширений В частности, данная концепция лежит в основе архитектуры представленных в работе «модулей расширения» \УеЬ-портала.

3 Разработан комплекс программных инструментальных средств, решающий задачу формирования \УеЬ-представления данных, полученных из различных информационных баз в составе корпоративной информационной системы, а также другие смежные задачи- управление файловыми ресурсами, разработка и оформление самого №еЬ-портала и т.д

Внедрение результатов работы.

Созданный программный комплекс используется в администрации г Анжеро-Судженска для разработки и поддержки информационного портала «Официальный сайт города Анжеро-Судженск» Теоретические результаты работы используются в учебном процессе при преподавании дисциплины «Проектирование информационных систем» и при выполнении студентами курсовых и дипломных работ в филиале Кемеровского государственного университета в г Анжеро-Судженске

Результаты, выносимые на защиту:

1 Повторно используемое решение для архитектуры систем формирования \^еЬ-представления информационных баз в корпоративных информационных системах

2. Концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных

3. Комплекс программных инструментальных средств, решающий задачу формирования \УеЬ-представления данных и другие смежные задачи.

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

1 V научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2001)

2 V Общероссийская межвузовская конференция студеетов, аспирантов и молодых ученых «Наука и образование» (Томск, 2001)

3 Международная научно-методическая конференция «Новые информационные технологии в университетском образовании» (Кемерово, 2002)

4. VII межрегиональная научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2003).

5. Всероссийская научно-практическая конференция «Наука и практика- диалоги нового века» (Анжеро-Судженск, 2003)

6 Международная научно-практическая конференция «Модернизация образования и повышение квалификации» (Томск, 2003)

10

7. III Всероссийская научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2004).

8 IX Всероссийская научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2005)

9. IV Всероссийская научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2005).

10 V Международная научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2006).

Работа состоит из введения, 4 глав, заключения и списка литературы

В первой главе формулируется основная задача \УеЬ-портала корпоративной информационной системы - формирование \¥еЬ-представления данных информационных баз с преобразованием на основе заранее заданных шаблонов В рамках поставленной задачи в п 1.2 определены требования к системе, выполнено их преобразование в модель вариантов использования.

После проведения анализа выявленных требований производится их группировка с позиции пользователя системы (п 1 3) Все требования условно разделены натри категории

• работа с созданным Web-пopтaлoм просмотр информации, ее поиск, возможность регистрации пользователей и работа, связанная с использованием модулей расширения;

• работа, связанная с разработкой портала. В эту категорию относится деятельность по созданию шаблонов представления, новых документов, модулей расширения,

• работа по администрированию портала. Сюда относятся функции по установке, настройке компонентов системы, управлению ими во время выполнения

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

Администрирование портала

Разработка портала

Работа пользователей

Рис 3 Высокоуровневые варианты использования системы

На основе выделенных вариантов использования определены следующие актеры системы:

Клиент - пользуется порталом как обычным Интернет-ресурсом, просматривает информацию на портале.

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

Разработчик - администратор, отвечающий за разработку самого портала, за создание объектов оформления, документов, модулей расширения.

На основе анализа сценариев вариантов использования (рис.3) были определены пакеты анализа, а затем и подсистемы. В результате в п. 1.6 предложено повторно используемое решение для архитектуры (рис. 4), которое, с одной стороны, соответствует шаблону «Тонкий клиент», с другом - содержит элементы, обеспечивающие связь контента с объектами информационных баз корпоративной системы. Для этого определен шлюз, который отвечает за связь подсистемы формирований ТЛ'еЬ-представления с информационными базами предметной области. Роль такого шлюза в данной архитектуре отведена подсистеме «Шлюз данных»

«чзиЬ^ЬтП » < ■ - - л. "г:'

WGb.ccрвер . .... УУеЪ-ядде _____. _____^¡Щпяадяннь'х; .

Браузер

I 11,1

ресурсов

Ресурса " шаблоны " «»ibt^»™»*

Мэдупи расширения (елужЗы)

Рис. 4. Основные элементы архитектуры.

Нередко подсистеме формирования Web-пред ставления требуется преобразовывать информацию, полученную из предметной области, решая задачи, не связанные ни с логикой предметной области, ни непосредственно с механизмами формирования Web-представления. Для этого предлагается использовать специальный подсистемы — модули расширения, будем также называть их службами Web-портала. Б их задачи вхолит выполнение функций «дргики представления». Кроме того, модули расширения могут выступать также в роли сервисов Web-портала и использоваться внешними системами для удаленного доступа.

---.

ИИфЭрНЙЦИ'вННЬ» ■ ВашКИС.

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

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

Подсистема «Web-ссрввр» в предлагаемой архитектуре играет роль получателя запросов и их маршрутизатора по признаку «представление/файл» (диспетчеризация между Web-ядром и Менеджером ресурсов) Данная подсистема может быть реализована как в виде полноценного самостоятельного Web-сервера, так и в виде активной стартовой страницы (например, ASP или CGI) Кроме функции маршрутизации данная подсистема может решать и другие задачи типичные для Web-порталов поддержка HTTP-сессий, выгрузка (upload) файлов и т п

Полученные в результате анализа подсистемы предложено реализовать в виде соответствующих компонентов п 1 7 Здесь же предлагается модель развертывания системы

ReadAltiVatueO VVnteAttjibuteO WnteBementO

I ConcretsPaser

¡ReadEtementO ReadAttiVatueO WriteAttributeO WnieBementO

i PackageBuader

¿1

Concrete8uilder

Рис 5 Подсистема построения пакетов данных

Для реализации высокой степени изоляции компонентов системы друг от друга и обеспечения их взаимодействия в условиях расширяемости системы в п 1 8 предлагается новая концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных В рамках дис-

сертации методика обобщенного протокола передачи данных используется для обеспечения взаимодействия компонентов системы Для этого предлагается выделить в отдельную, достаточно изолированную подсистему все функции коммуникаций между модулями и реализовать ее дизайн с использованием шаблона «Строитель». На диаграмме (рис 5) изображены основные классы подсистемы PackageBiulder (абстрактный) - построитель пакетов, не включающий каких-либо операций кроме связи с ассоциированным с ним объектом класса Parser Вместе они реализуют шаблон «Абстрактная фабрика» Класс Parser включает описание общих методов, обеспечивающих создание пакетов, добавление в них новых элементов и считывание информации. Наследники этих классов реализуют конкретику контекста, в частности класс ConcreteParser реализует соответствующие операции для пакетов конкретного формата (например, XML), а ConcreieBuüder публикует и реализует операции логического наполнения пакета в терминах конкретной предметной области Для организации механизма взаимодействия модулей расширения используется концепция надстраиваемых приложений

В п 1 9 на основе выявленных требований и полученной модели вариантов использования, определяются границы разрабатываемой системы, строится модель предметной области (рис 6)

I Представление j п°Ртал __I Документ .

t

S _у

i Шаблон j I Информационная база

Рис 6 Основные классы предметной области Ключевыми объектами предметной области системы являются. Web-представление- данные информационных баз корпоративной системы, преобразованные в гипертекстовый формат (HTML, XML) или приведенные к другим формам информационных пакетов, готовых к выводу посредством браузера,

Web-портал (портал) - часть корпоративной информационной системы, отвечающая за формирование Web-представлений,

Документ — это любая законченная организация информации предметной области портала, может содержать в себе другие документы,

Шаблон представления - это заранее определенней с точностью до содержимого набор правил для подготовки конкретного Представления по информации Документа

При проектировании шаблонов и документов были использованы следующие архитектурные решения «Супертип слоя», «Компоновщик», «Абстрактная фабрика»

Во второй главе производится уточнение архитектуры подсистемы Web-

ядро

Web-ядро реализует вариант использования «Просмотр», который является архитектурно значимым для системы в целом С точки зрения пользователя - это главная цель системы

С помощью классов анализа проведена трассировка данного варианта использования в модель анализа. Опираясь на модель предметной области Главы I и результаты, полученные на фазе анализа, в п 2 1 определены классы проектирования

Viewlnfo - класс, на который возложены функции построителя Web-представления, ' '"-* '

Document - класс, соответствующий документам системы, ' Template- класс, представляющий шаблоны документов

В предлагаемой архитектуре для построения Web-представления используется паттерн «Строитель», который дает возможность формирования представлений другого (не гипертекстового) фор*- va, а для общего управления событиями и объектами, а также подключения к внешним компонентам используется паттерн «Контроллер»

В п 2 2 ¿писана работа объектов подсистемы Web-ядро (рис 7) Согласно выбранному решению «обобщенный протокол передачи данных» в системе необходим объект, отвечающий за прием и обработку полученных запросов Эти обязанности выполняет объект IPEServerController, а конкретно — его операция HandleRequest( ¿"которая вызывается при получении запроса После анализа принятого запроса, объект IPEServerController создает объект Представление Viewlnfo "и передает ему' параметры, необходимые для' идентификации портала 'и его темы оформления, а также конкретный объект Строитель Для представлений "в формате HTML роль конкретного строителя выполняет класс HTMLViewParser '

Рис 7 Базовая архитектора подсистемы формирования Web-представления

После получения указателя на портал и тему его оформления, объект 1РЕ-SeiyerController вызывает у объекта Viewlnfo метод BmldViewf }, отвечающий за формирование Web-представления Результатом работы этого метода является гипертекст, который и отправляется на Wcb-еервер в качестве ответа на запрос

Сериализация объекта Портал организована таким образом, чтобы при его загрузке связанные с ним объекты не извлекались автоматически, а .загружались по мере необходимости Для этого используется архитектурное решение «Загрузка по требованию» А гарантия того, что каждый объект хлючая сам Портал) будет загружен только один, раз, обеспечивается применени архитектурного решения «Коллекция объектов», что также обеспечивает кэшир< ¿ание объектов

В п 2.3 описаны уточненные объекты п,„... сметной области, определены их операции, отвечающие за формирование представления. К классам, выделенным в п 1 9, добавляются специализированные классы, такие как ContentFormat, Head-Object итд.Вп 236 детально описывается последовательность построения представления _ - - г л

В п 2 4 представлена методика организации сохранения шаблонов и тем оформления . - , -

В третьей главе формулируется дизайн вспомогательных подсистем, таких как «Web-сервер»,..«Модули расширения», «Менеджер-файловых ресурсов»

В п. 3 1 определены требования, которым должны удовлетворять источники данных информационных баз корпоративной системы, которые выделены условно в компонент «Сервер предметной области». . -

В п 3 2 определено назначение подсистемы <^еЬ-сервер», используемой для маршрутизации запросов <?\УеЬ-ядру»эили «Менеджеру файловых ресурсов», приведен алгоритм работы, определены актёры и варианты использования данной подсистемы С помощью модели анализа определены необходимые классы проектирования -

В п 3 3 рассматриваются элементы дизайна подсистемы «Менеджер файловых ресурсов», главной задачей которой является обработка запросов на загрузку и "сохранение файловых ресурсов Определены классы и их операции, выполняющие соответствующие обязанности

В п 3 4 описаны модули расширения (службы Web-пopтaлa), которые предназначены для предварительного преобразования информации, полученной из источников данных предметной области Приведено описание архитектуры служб в целом, и на примере службы «Новости» рассмотрена организация конкретной службы (рис 8)

ЦЬгауСолйрИаг

БегусеэиЬгагу

<Зе1Раскаде0

<З&Раскадед

[<ЗеИ»ас1садеО

Опе№*геМвд

1=)

Рис 8 Дизайн модуля расширения (на примере службы <сНовосг-'>

В четвертой главе рассматривается программный модуль «Конфигуратор». В п 4.1" описаны задачи и назначение данной подсистемы - создание объектов, на основе которых подсистема «\¥еЬ-ядро» может формировать представления. Данное средство, в первую очередь, отвечает за создание оформления страниц, а также формирование логической структуры сайта.

В п 4 2 детализированы требования к данному компоненту, полученные в Главе I, представлена модель вариантов использования

В п 4 3 представлена модель анализа, определены основные граничные классы подсистемы, классы-сущности, описаны основные сценарии работы данного компонента

В п 4 4 у классов предметной области доопределены методы, предназначенные для работы компонента «Конфигуратор» Выявлены специализированные

классы управления интерфейсом пользователя

17

В п 4 5 приведены основные сценарии работы подсцстемы

П 4 6 содержит описание интерфейса пользователя подсистемы «Конфигуратор» Описаны основные окна, их назначение, работа с ними, приводится пример

Основные результаты работы ^ ,

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

2 Сформулирована концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных Данная концепция позволяет организовывать взаимодействие компонентов в приложениях «клиент/сервер» с учетом возможных будущих расширений, а понятие обобщенного протокола передачи данных упрощает организацию, взаимодействия компонентов системы

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

4 Разработанный програ даный комплекс внедрен в работу отдела информационных технологий администрации г Анжеро-Судженска и используется для разработки и поддержки информационного портала «Официальный сайт города Анжеро-Судженск».

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1 Вальц О В, Войтиков К Ю, Змеев O A Создание динамических Web-страниц в Delphi//Научное творчество .молодежи Материалы V научно-практической конференции (г. Анжеро-Судженск, 12-13 апреля 2001 г) - Томск Изд-во Том ун-та, 2001, С 52-54

2 Вальц О В., Войтиков К Ю Динамический сайт города//Наука и образование. Материалы V Общероссийской межвузовской конференции студентов, аспирантов и молодых ученых (г Томск, 23-26 апреля 2001 г.) Т 4. - Томск Изд-во ТГПУ, 2001, С 189-191.

3. Войтиков К.Ю, Змеев О А, Моисеев А Н. К вопросу о реализации классификатора в объектно-ориентированной информационной системе//Вестник Кем-ГУ, 2002, №2, С 167-177

4 Войтиков К Ю Общие вопросы вариантов использования информационного портала // Научное творчество молодежи- Материалы VII межрегиональной научно-практической конференции (г Анжеро-Судженск, 15-16 апреля 2003г) -Томск Том ун-та, 2003, С 27-29

5 Войтиков К Ю , Змеев О А, Моисеев А Н Основные функциональные требования к подсистеме «Брокер объектных запросов» в рамках унифицированного процесса разработки программного обеспечения // Обработка данных и управление в сложных системах Сборник статей / Под ред А Ф Терпугова Вып 5 - Томск Изд-во Том. ун-та, 2003, С 3-13

6 Войтиков К Ю, Змеев О А, Моисеев А.Н Применение паттерна Composite при проектировании шаблонов представлений объектов // Наука и практика диалоги нового века Материалы Всероссийской научно-практической конференции (г Анжеро-Судженск, 14 ноября 2003 г ) Ч 3 - Томск «Твердыня», 2003, С 50-53

7 Войтиков К Ю, Новиков Д В Авторизация пользователей, при разработке информационного портала//Наука и практика, диалоги нового века Материалы Всероссийской научно-практической конференции (г Анжеро-Судженск, 14 ноября 2003 i)43 -Томск: «Твердыня», 2003, С 53-55

8 Войтиков К Ю, Кремнев С М, Моисеев А Н Web-портал как средство обучения студентов//Модернизация образования и повышение квалификации Материалы международной научно-практической конференции (г Томск, 26-27 ноября 2003 г) Tl.-Томск Изд-во ТОИПКРО, 2003, С 158-161

9 Войтиков К Ю, Моисеев А Н Основные функциональные требования к системе «Портал» в рамках унифицированного процесса разработки программного обеспечения // Обработка данных и управление в сложных системах Сборник статей / Под ред А Ф Терпугова Вып 6 - Томск Изд-во Том ун-та, 2004, С 25-39

10. Войтиков КЮ, Змеев OA, Моисеев АН, Якушев А А Архитектура надстраиваемых приложений клиент/сервер с обобщенным протоколом передачи данных // Вестник ТГУ, 2004, №284, С 49-52

И Войтиков КЮ Якушев A.A. Общая концепция системы по разработке

Web-порталов//Информационные технологии и математическое моделирование

Материалы III Всероссийской научно-практической конференции (г Анжеро-

Судженск, 12 декабря 2004 г.) Ч 1 -Томск Изд-во Том ун-та, 2004, С 52-54

19

12 Войтиков К Ю Реализация шаблонов «сильное зацепление» иJ«слабое Связывание» в системах по управлению контентом сайта//Научное творчество молодежи Материалы IX Всероссийской научно-практической конференции (г Анжеро-Судженск, 15-16 апреля 2005 г) Ч 1 - Томск Изд-во Том. ун-та, 2005, С 18-19

13 Войтиков К Ю Особенности построения архитектуры систем по управлению контентом сайта//Обработка данных и управление в сложных системах Сборник статей /Под ред А.Ф Терпугова Вып 7 - Томск Изд-во Том. ун-та, 2005, С 25-39

14 Войтиков КЮ Обобщенная логическая структура документов системы управления контентом // Информационные технологии и математическое моделирование Материалы IV Всероссийской научно-практической конференции (г Анжеро-Судженск, 10 ноября 2005 г) Ч 1 -Томск Изд-во Том ун-та, 2005, С 38-39

15 Войтиков К Ю, Моисеев А Н Архитектура подсистемы построения Web-представления//Информационные технологии и математическое моделирование Материалы V Всероссийской научно-практической конференции (г. Анжеро-Судженск, 11 ноября 2006 г ) Ч I -Томск Изд-во Том ун-та, 2006, С 16-18

16 Войтиков КЮ, Подольский Д.А Разработка Web-приложений при помощи технологии NET // Информационные технологии и математическое моделирование Материалы V Всероссийской научно-практической конференции (г Анжеро-Судженск, 11 ноября 2006 г ) 4.1 -Томск Изд-во Том ун-та, 2006, С 18-21

17 Войтиков К Ю Моисеев А Н Типовая архитектура Web-портала корпоративной информационной системы//Вестник ТГУ Приложение, 2006, №19, С 18-20

Подписано к печати 1 10 2007 г. Формат 60x84 1/16 Тираж 100 Заказ &?£

Кемеровский государственный университет 650043, г. Кемерово, ул Красная, 6 Филиал ГОУ ВПО «Кемеровский государственный университет» в г. Анжеро-Судженске

Опечатано на Участке оперативной полиграфии филиала ГОУ ВПО «КемГУ» в г Анжеро-Судженске.

Оглавление автор диссертации — кандидата технических наук Войтиков, Константин Юрьевич

ВВЕДЕНИЕ

ГЛАВА I. Общая архитектура

1.1. Задачи системы

1.2. Требования к системе

1.3. Модель вариантов использования

1.4. Общий сценарий работы системы

1.5. Модель анализа

1.6. Архитектура системы формирования web-пpeдcтaвлeния на основе шаблонов

1.7. Компоненты Системы

1.8. Архитектура надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных

1.8.1. Понятие надстраиваемой системы

1.8.2. Обобщенный протокол передачи данных

1.8.3. Надстраиваемая архитектура «клиент/сервер»

1.8.4. Применение архитектуры надстраиваемых приложений для уточнения архитектуры системы формирования >УеЬ-представления

1.9. Модель предметной области

1.9.1. Основные понятия. Представление по шаблону

1.9.2. Документы

1.9.3. Шаблоны

1.9.4. Службы

1.10. Резюме

ГЛАВА 2. Архитектура подсистемы формирования \veb-представления

2.1. Анализ варианта использования «просмотр»

2.2. Принципы функционирования подсистемы \уеЬ-ядро

2.3. Архитектура ядра и уточненные объекты предметной области

2.3.1. документы системы

2.3.2. Шаблоны

2.3.3. Темы портала

2.3.4. Контент

2.3.5. Объектная модель форматирования контента

2.3.6. Формирование web-представления

2.4. Хранилище тем и шаблонов. Отдельные моменты

2.5. Резюме

ГЛАВА III. Вспомогательные подсистемы

3.1. Сервер предметной области

3.2. Web-сервер

3.3. Менеджер файловых ресурсов

3.4. Модули расширения

3.4.1. Архитектура модуля расширения

3.4.2. Принципы функционирования модуля расширения

3.4.3. Построение службы «Новости»

3.5. Резюме

ГЛАВА IV. Программный модуль «Конфигуратор»

4.1. Функциональные требования и модель вариантов использования

4.2. Модель анализа

4.3. Особенности архитектуры

4.4. Принципы работы системы

4.5. Описание интерфейса системы

4.6. Резюме 125 ЗАКЛЮЧЕНИЕ 126 СПИСОК ЛИТЕРАТУРЫ

Введение 2007 год, диссертация по информатике, вычислительной технике и управлению, Войтиков, Константин Юрьевич

Актуальность работы. Первоначально созданные Тимом Бернесом-Ли [57] для Европейской лаборатории физики частиц первые Web-узлы представляли собой распределенную систему гипермедиа, которая позволяла пользователям получать доступ со своих персональных компьютеров к документам и информации других клиентов сети. Осуществление доступа к информационным ресурсам и тогда и сейчас производится с помощью специальной программы, которую называют браузером или Web-клиентом. Работа в Интернет является классическим примером архитектурного решения «клиент/сервер» [21, 74]: по существу, Web-клиент отправляет запрос на получение информации другому приложению, которое называют Web-сервером.

Развитие сети Интернет сначала привело к бурному росту числа Web-систем. Web-система [57] - это система гипермедиа, ресурсы которой связаны между собой. Такая система рассматривается как набор узлов со ссылками друг на друга. Ссылки обеспечивают возможность навигации между ресурсами системы. После того как пользователь выполнит щелчок по ссылке в документе, браузер интерпретирует данное действие как запрос на загрузку документа или ресурса, на который указывает эта ссылка. В этом смысле Интернет в целом можно воспринимать как единую большую Web-систему.

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

Изначально ресурсы Интернет были предназначены для отображения информации строго научного характера, но из-за своей простоты и доступности стали востребованы и в других сферах. Резкий рост интереса к Интернет привел к соответствующему развитию информационных технологий и стандартов, предназначенных для работы в Web, появились международные организации, занимающиеся разработкой «правил игры» в этой области, а так же большое число компаний, реализующих коммерческие проекты для работы с Web. Одним из самых важных стандартов в этой области является HTML [117]. HTML - это язык гипертекстовой разметки документа (HyperText Markup Language). С возложением новых обязанностей на Web, а так же развитием Интернет-технологий, появлялись так называемые скриптовые языки, такие как JavaScript, VBScript [15, 47, 131]. Они были предназначены для внесения динамики в Web-страницы на стороне клиента. Это привело к появлению нового стандарта - объектной модели документа DOM (Document Object Model) [113].

С ростом и глобализацией сети Интернет информация стала организовываться с использованием баз данных, что привело к появлению новых серверных технологий, таких как ASP (Active Server Pages) [8, 105]. С использованием этих технологий стало возможным формирование Web-страницы динамически. Стало необязательным хранить все Web-страницы в файловой системе сервера, теперь они могли формироваться по запросу клиента. Это привело к появлению понятия Web-, приложения и соответствующей дисциплине - проектированию Web-приложений [57]. Web-приложение - это Web-система, позволяющая реализовать бизнес-логику через браузер [57]. Web-приложения развивались на основе совершенствования и усложнения функций Web-узлов [57].

Более строго Web-приложение можно определить как программную систему трехзвенной архитектуры «клиент/сервер», в состав которой входят архитектурные компоненты браузер (клиент) и сервер (возможно разделенный на сервер бизнес-логики и сервер базы данных).

Решению стандартных проблем проектирования Web-приложений в последнее время уделяется достаточно большое внимание, например в [8] рассматриваются вопросы, связанные с созданием таких типовых средств как подсистема членства и профилирования посетителей, управление новостями и динамическим содержимым, а также персонализация страниц. Рассмотрение вопросов, связанных с построением как простых интерактивных систем приема заказов, так и различных аспектов электронных систем продажи и безопасности во взаимосвязи, произведено в

22], а основные принципы проектирования Web-приложений описаны в [57, 95, 108, 111, 112, 121].

Не углубляясь в частности, можно заметить, что для построения Web-приложений чаще всего используются следующие архитектурные шаблоны [57]:

Thin Web Client («тонкий» Web-клиент) - основная идея данного шаблона состоит в том, что в распоряжение клиента предоставляется браузер, поддерживающий формы, а все операции, связанные с бизнес-логикой, выполняются на сервере. С использованием данного шаблона проектирования построено большинство Web-приложений Интернет.

Thick Web Client («толстый» Web-клиент) - основная часть бизнес-логики выполняется на клиентских машинах, для этого используется динамический HTML, аплеты Java [47, 80, 90] или элементы ActiveX [110].

Web-Delivery (механизм Web-доставки) - использование данного шаблона предполагает, что кроме протокола HTTP [118] используются другие протоколы передачи данных, такие как DCOM [113] и SOAP[l 30], служащие для поддержки системы распределенных объектов. В данном случае браузер функционирует как контейнерный модуль системы распределенных объектов.

К сожалению, большинство источников, посвященных разработке Web-приложений, не рассматривают проблемы проектирования такой важной разновидности приложений как информационный портал. Под информационным порталом понимают рабочую среду, которая на стороне пользователя увязывает воедино все корпоративные приложения и обеспечивает его доступ ко всей информации и ресурсам из сети Интернет. В данной работе под корпоративными информационными системами подразумеваются компьютерные системы масштаба предприятия среднего или малого размера. В отличие от больших корпоративных систем (построенных, например, на базе SAP R/3 [129], Lotus Notes/Domino [119], Oracle E-Business Suite [125] и т.п.), в которых средства поддержки информационных порталов интегрированы в состав системы изначально, корпоративные системы среднего и малого класса (например, построенные на базе 1С:Предприятия [42, 46, 83, 85], MBS-Navision [122] или разработанные на заказ) не имеют подобных полнофункциональных средств. Под информационными базами корпоративной системы будем подразумевать любые доступные извне (открытые) источники информации системы, в том числе: ее базы данных, серверы бизнес-логики или баз данных, предоставляющие интерфейс взаимодействия с другими системами.

На взгляд автора, проблемы проектирования информационных порталов связаны со специфическими особенностями информационных систем этого класса. С одной стороны, методы организации информации, присущие \УеЬ-порталам, позволяют считать их >УеЬ-приложениями. Но с другой стороны, специфика информации >УеЬ-портала приводит либо к внесению существенных изменений в соответствующие шаблоны архитектуры и проектирования, либо делает использование этих шаблонов просто невозможным. Например, важнейшая составляющая любого классического >УеЬ-приложения - бизнес-логика - в контексте информационных порталов не является таковой. Ведь в качестве объектов предметной области портал оперирует единицами информации, изъятыми из контекста, сформировавшего их, и в основной своей массе представляющими лишенные предметного смысла текстовые или двоичные данные.

Портал Ч

1 V -1 1

Интерфейс пользователя \ Предметная область N Взаимодействие систем

1 1 1 1 1 1

1 М/

Управление данными

Рис.1. Место подсистемы формирования Web-пpeдcтaвлeния в информационной системе.

Портал

Интерфейс пользователя

Предметная область

Взаимодействие систем у

Управление данными

Интерфейс пользователя

Взаимодействие систем

Рис.2. Система формирования >^еЬ-представления как внешняя по отношению к информационной системе.

Согласно методике [59] объекты и подсистемы в информационных системах распределяются по пакетам согласно своему функционалу и уровню абстракции отражения предметной области. Как показано на рис. 1, в составе корпоративной информационной системы портал является подсистемой формирования Web-представления данных ее информационных баз, то есть относится к пакету интерфейса пользователя. С другой стороны, портал можно рассматривать как отдельную систему, которая подключается к информационным системам через свой пакет «Взаимодействие систем» (рис. 2). Поскольку в данной работе рассмотрены вопросы проектирования подсистемы поддержки информационного портала, в дальнейшем эта подсистема будет часто называться системой формирования Web-представления.

Таким образом, является актуальной задача формирования типового решения для архитектуры системы формирования Web-пpeдcтaвлeния в корпоративной информационной системе среднего/малого класса и создание комплекса программ разработки и поддержки функционирования портала КИС.

Состояние проблемы. Вообще все \\^еЬ-системы, используемые для организации информационных порталов корпоративных систем, можно разделить на две категории.

1. Готовые Web-компоненты информационных систем.

В качестве примера приведем такую типичную платформу для построения корпоративных систем среднего и малого масштаба как «1С:Предприятие» [42, 46, 83, 85]. В рамках Web-поддержки разработчики поставляют с ней модуль «Web-расширение». Работа данного продукта строится следующим образом. На Web-сервер устанавливается дополнительный модуль, который обеспечивает не только связь с базой данных, но и выполнение различных запросов, написанных на специальном языке. Разработка Web-сайта целиком и полностью ложится на плечи разработчика. По сути дела, созданный с помощью данной технологии сайт, представляет собой набор ASP-страниц со специальным языком скриптов V7Script (язык 1С), который обеспечивает доступ к справочникам, документам и другим объектам информационной базы.

Несколько иное решение предлагает Microsoft в программном продукте «Business Solutions Navision» [122]. Решение задач электронной коммерции при помощи Web-интерфейса осуществляется с использованием компоненты «Commerce Portal». Для ее работы необходим «Microsoft Commerce Server», который не входит в базовую поставку системы. После установки и настройки Web-компонентов конечному пользователю в итоге предоставляется сайт с определенным набором прав для каждого пользователя и возможностью управления внешним видом HTML-страниц.

В качестве другого примера можно привести информационные порталы систем документооборота, например, таких систем как «Дело 8.8» [48] или «Directum» [86]. При всех своих отличиях в задачах и функциях данные системы имеют схожую реализацию Web-интерфейса для управления документооборотом. Как правило они предоставляют готовый Web-сайт с достаточно жесткой структурой, то есть не оставляют пользователю возможности на изменение контента, визуальное оформление, добавление нового функционала или такие возможности сильно ограничены и затруднены.

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

Главным же достоинством систем подобного вида является автоматизация операций поиска и выборки необходимых данных из информационных баз и их преобразование в Web-представление.

2. Системы управления контентом (Contení Management System, CMS).

Возможно создание информационного портала путем «ручной» выборки: в этом случае разработчик создает серверные динамические страницы или клиентские активные компоненты, производящие необходимые операции поиска и выборки данных из информационных баз и их преобразование в Web-представление. Для реализации данного подхода могут использоваться, например, технологии ASP [8,100, 106, 114], апплетов [45,124,47, 80], ActiveX [110], Web-cepBncoB[128] и т.д. При таком подходе достаточно сильно облегчается управление другой важной составляющей портала - оформлением и сервисами пользователя.

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

Наиболее ярким представителем бесплатных систем этого типа является семейство PHP-Nuke [127] и его аналоги: Joomla Open Source (ранее Mambo) [112, 120], sPaiz-Nuke и др. Типичный информационный портал, созданный на основе PHP-Nuke - это система, написанная на языке программирования РНР [126], работающая с базой данных MySQL [22, 50, 99, 123] и Web-сервером Apache [132]. К функциональным возможностям данной системы можно отнести следующее:

• наличие служб «Новости», «Статьи», «Опросы», «Голосование», «Файловый менеджер», «Форум»;

• мощный поисковый модуль;

• почтовая рассылка;

• возможность настройки оформления портала;

• сортировка и поиск новостей, статей, и обзоров по категориям, дате опубликования, автору и т.д.;

• модульное наращивание позволяет инсталлировать на сайт различные дополнения, при помощи которых можно дополнить стандартный пакет PHP-Nuke такими блоками как гостевая книга, чат, галерея и т.д.

В качестве примера коммерческих систем данного класса можно привести отечественную разработку 1С-Битрикс [1] и зарубежные BinN S.Builder, inDynamic. Эти программные продукты предназначены для разработки и поддержки Интернет-сайта. К достоинствам данных систем можно отнести следующее:

• простая логика работы с системой, простота установки и использования, подробная документация и хорошая техническая поддержка;

• может работать на большинстве виртуальных хостингов, однако предъявляет к ним некоторые требования;

• более широкая функциональность по сравнению с бесплатными системами (например, Joomla);

• масштабируемость системы: при необходимости можно осуществить замену базы данных (например, с MySQL на Oracle, к это реализовано в 1С-Битрикс) или осуществить распределение сайта между узлами. 0

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

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

Целью работы является построение повторно используемого решения для архитектуры систем формирования Web-пpeдcтaвлeния информационных баз в корпоративных информационных системах (КИС) и реализация на его основе соответствующего комплекса программ.

Для достижения цели были поставлены следующие задачи:

1. Изучить и проанализировать российский и мировой опыт разработки Web-приложений различных типов, архитектуру их построения. Сформулировать основные требования к системе формирования \\^еЬ-представления объектов информационных баз КИС.

2. На основе анализа выявленных требований сформулировать повторно используемое решение для построения архитектуры систем формирования Web-представления объектов информационных баз КИС.

3. Уточнить элементы архитектуры самой системы и ее отдельных компонентов, на основе полученной архитектуры создать программный комплекс инструментальных средств, решающих задачу формирования \УеЬ-представления и смежные с ней задачи. Разработать Web-пopтaл с использованием созданных инструментальных средств.

Методика исследования.

При выполнении диссертационной работы использовалась методология объектно-ориентированного анализа и проектирования Унифицированный процесс [18], методики выявления требований к программным системам [3, 24, 55, 64, 70], методы объектно-ориентированного [44, 71, 76, 96, 102, 103], структурного и системного программирования, технологии реляционных баз данных [43, 47, 69, 72, 98].

Научная новизна:

1. На основе результатов анализа требований сформулировано типовое решение для архитектуры построения системы формирования Web-пpeдcтaвлeния информационных баз корпоративной информационной системы.

2. В результате анализа условий функционирования системы формирования Web-пpeдcтaвлeния сформулирована новая концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных.

Теоретическая и практическая ценность работы:

1. Предложенное повторно используемое решение для архитектуры систем формирования Web-пpeдcтaвлeния информационных баз КИС позволяет создавать компоненты подсистемы разработки и поддержки информационных порталов, наиболее полно включающие необходимый функционал и предоставляющие возможность его расширения.

2. Сформулированная концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных позволяет организовывать взаимодействие компонентов в приложениях «клиент/сервер» с высокой степенью учета возможных будущих расширений. В частности, данная концепция лежит в основе архитектуры представленных в работе «модулей расширения» \УеЬ-портала.

3. Разработан комплекс программных инструментальных средств, решающий задачу формирования \УеЬ-представления данных, полученных из различных информационных баз в составе корпоративной информационной системы, а также другие смежные задачи: управление файловыми ресурсами, разработка и оформление самого \УеЬ-портала и т.д.

Внедрение результатов работы.

Созданный программный комплекс используется в администрации г. Анжеро-Судженска для разработки и поддержки информационного портала «Официальный сайт города Анжеро-Судженск» [75]. Теоретические результаты работы используются в учебном процессе при преподавании дисциплины «Проектирование информационных систем» и при выполнении студентами курсовых и дипломных работ в филиале Кемеровского государственного университета в г. Анжеро-Судженске.

Результаты, выносимые на защиту:

1. Повторно используемое решение для архитектуры систем формирования Web-представления информационных баз в корпоративных информационных системах.

2. Концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных.

3. Комплекс программных инструментальных средств, решающий задачу формирования Web-представления данных и другие смежные задачи.

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

1.V научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2001).

2. V Общероссийская межвузовская конференция студентов, аспирантов и молодых ученых «Наука и образование» (Томск, 2001).

3. Международная научно-методическая конференция «Новые информационные технологии в университетском образовании» (Кемерово, 2002).

4. VII межрегиональная научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2003).

5. Всероссийская научно-практическая конференция «Наука и практика: диалоги нового века» (Анжеро-Судженск, 2003).

6. Международная научно-практическая конференция «Модернизация образования и повышение квалификации» (Томск, 2003).

7. III Всероссийская научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2004).

8. Международная конференция (XXVI научно-методическая конференция КемГУ) «Проблемы модернизации образования в условиях вхождения России в Болонский процесс» (Кемерово, 2005).

9. IX Всероссийская научно-практическая конференция «Научное творчество молодежи» (Анжеро-Судженск, 2005).

10. IV Всероссийская научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2005).

11. V Международная научно-практическая конференция «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2006).

Краткое содержание работы

Работа состоит из введения, 4 глав, заключения и списка литературы.

В первой главе формулируется основная задача \УеЬ-портала корпоративной информационной системы - формирование \УеЬ-представления данных информационных баз с преобразованием на основе заранее заданных шаблонов. В рамках поставленной задачи в п. 1.2 определены требования к системе, выполнено их преобразование в модель вариантов использования.

После проведения анализа выявленных требований производится их группировка с позиции пользователя системы (п. 1.3). Все требования условно разделены на три категории:

• работа с созданным >¥еЬ-порталом: просмотр информации, ее поиск, а также возможность регистрации пользователей и работа, связанная с использованием модулей расширения;

• работа, связанная с разработкой портала. В эту категорию относится деятельность по созданию шаблонов представления, новых документов, а также модулей расширения;

• работа по администрированию портала. Сюда относятся функции по установке, настройке компонентов системы, управлению ими во время выполнения.

Работа с порталом

Администрирование портала

Разработка портала

Работа пользователей

Рис. 3. Высокоуровневые варианты использования системы.

На основе выделенных вариантов использования определены следующие актеры системы:

Клиент (Client) - пользуется порталом как обычным Интернет-ресурсом, просматривает информацию на портале.

Администратор (Administrator) - клиент, отвечающий за администрирование портала, отвечает за разграничение прав доступа, предоставление информационных ресурсов различным категориям пользователей, подключение модулей расширения.

Разработчик (Developer) - администратор, отвечающий за разработку самого портала, за создание объектов оформления, документов, модулей расширения.

На основе анализа сценариев вариантов использования (рис.3) разрабатываемой системы были определены пакеты анализа, а затем и подсистемы. В результате в п. 1.6 предложено повторно используемое решение для архитектуры (рис. 4), которое, с одной стороны, соответствует шаблону Thin Web Client [57], а с другой -содержит элементы, обеспечивающие связь контента с объектами информационных баз корпоративной системы. Для этого определен шлюз (в смысле подсистемы с соответствующими обязанностями [95]), который отвечает за связь подсистемы формирования Web-представления с информационными базами предметной области. Роль такого шлюза в данной архитектуре отведена подсистеме «Шлюз данных».

Рис. 4. Основные элементы архитектуры.

Нередко подсистеме формирования \\^еЬ-представления требуется преобразовывать (подготавливать) информацию, полученную из предметной области, решая задачи, не связанные ни с логикой предметной области, ни непосредственно с механизмами формирования \\^еЬ-представления. Для этого предлагается использовать специальные подсистемы - модули расширения, будем также называть их службами Web-пopтaлa. В их задачи входит выполнение функций «логики представления». Кроме того, модули расширения могут выступать также в роли сервисов Web-пopтaлa и использоваться внешними системами для удаленного доступа (например, для Службы новостей таким сервисом может быть формирование 1188-пакета).

За формирование самого Web-пpeдcтaвлeния отвечает модуль Web-ядpo. В предложенной архитектуре он отвечает за окончательное формирование экземпляров представления на основе данных, полученных от модулей расширения и шлюза данных и преобразованных с использованием шаблонов представления.

При таком подходе к построению архитектуры возникают сложности с созданием динамических Web-cтpaниц, так как их наполнение зависит от данных, полученных от шлюза данных и модулей расширения. Для решения данной проблемы используется архитектурное решение «двухэтапное представление» [95]. Первый этап формирования представления выполняет служба портала, а второй - непосредственно само Web-ядpo на основе шаблонов представления. Кроме того, предполагается, что шаблонов представления одного и того же объекта (объектов одного класса) существует несколько, а для их создания и редактирования используется специальный компонент «Конфигуратор».

После того как Web-пpeдcтaвлeниe будет сформировано и передано \Veb-серверу, остается только одна нерешенная задача - передача файловых ресурсов, необходимых для визуального отображения, например, картинок на >УеЬ-странице. Напомним, что \\^еЬ-ядро отвечает только за формирование гипертекста, а не за его отображение. Поэтому необходимо изолировать от него входящие запросы на файловые ресурсы и возложить обязанности по их обработке на отдельный модуль. Решение данной задачи в предлагаемой архитектуре возложено на подсистему

Менеджер ресурсов», которая принимает запросы на файловый ресурс от Web-сервера, находит нужный объект (файл), преобразует его и передает его отправителю запроса.

Подсистема «Web-сервер» в предлагаемой архитектуре играет роль получателя запросов и их маршрутизатора по признаку «представление/файл» (диспетчеризация между Web-ядром и Менеджером ресурсов). Данная подсистема может быть реализована как в виде полноценного самостоятельного Web-сервера, так и в виде активной стартовой страницы (например, ASP или CGI). Кроме функции маршрутизации данная подсистема может решать и другие задачи типичные для Web-порталов: поддержка HTTP-сессий, выгрузка (upload) файлов и т.п.

Полученные в результате анализа подсистемы предложено реализовать в виде соответствующих компонентов п. 1.7:

Web-cepBep - маршрутизатор запросов по признаку «представление/файл»;

Web-ядро - сервер, отвечающий за окончательное формирование экземпляров представления на основе данных, полученных от модулей расширения и шлюза данных;

Модули расширения - в задачи каждого такого компонента входит предварительная подготовка объектов предметной области к формированию представления, то есть выполнение функций «логики представления» [95];

Шлюз данных - компонент, отвечающий за связь Web-представления с информационными базами предметных областей корпоративной системы;

Менеджер ресурсов - система, отвечающая за обработку запросов на файловые ресурсы от Web-сервера и передачу содержимого ресурсов отправителю запроса.

Здесь же предлагается модель развертывания системы.

Для реализации высокой степени изоляции компонентов системы друг от друга и обеспечения их взаимодействия в условиях расширяемости системы в п. 1.8 предлагается новая концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных. В рамках диссертации методика обобщенного протокола передачи данных используется для обеспечения взаимодействия компонентов системы. Для этого предлагается выделить в отдельную, достаточно изолированную подсистему все функции коммуникаций между модулями и реализовать ее дизайн с использованием шаблона «Строитель» (Builder) [41]. На диаграмме (рис. 5) изображены основные классы подсистемы: PackageBuilder (абстрактный) - построитель пакетов, не включающий каких-либо операций кроме связи с ассоциированным с ним объектом класса Parser. Вместе они реализуют шаблон «Абстрактная фабрика» (Abstract Factory) [41]. Класс Parser включает описание общих методов, обеспечивающих создание пакетов, добавление в них новых элементов и считывание информации. Наследники этих классов реализуют конкретику контекста, в частности класс ConcreteParser реализует соответствующие операции для пакетов конкретного формата (например, XML), a ConcreteBuilder публикует и реализует операции логического наполнения пакета в терминах конкретной предметной области.

Рис. 5. Подсистема построения пакетов данных.

Для организации механизма взаимодействия модулей расширения используется концепция надстраиваемых приложений. В результате разрабатываемые приложения наделяются объектами, обеспечивающими средства связи между приложениями, а также подсистемами по управлению внутренними объектами. В данной архитектуре выполнение указанных задач возлагается на объекты ClientConnectionl ServerConnection и Controller соответственно. Объекты класса Controller реализуются по шаблону «Контролер» (Controller) [41]. Основные функции объекта

СИеШСоппесНоп - установка соединения с сервером, передача исходящих и прием входящих (ответных) пакетов данных. Для объекта 8еп>егСоппесИоп - это прием входящих пакетов от клиента и отправка исходящих (ответных) пакетов. Эти функции заранее определены и не требуют изменений при надстраивании системы.

В п. 1.9 на основе выявленных требований и полученной модели вариантов использования, определяются границы разрабатываемой системы, строится модель предметной области (рис. 6). Ключевыми объектами предметной области системы являются:

Рис. 6. Основные классы предметной области.

Web-представление - данные информационных баз корпоративной системы, преобразованные в гипертекстовый формат (HTML [117], XML [116]) или приведенные к другим формам информационных пакетов, готовых к выводу посредством браузера;

Web-портал (портал) - часть корпоративной информационной системы, отвечающая за формирование Web-представлений;

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

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

При проектировании шаблонов и документов были использованы следующие архитектурные решения: «Супертип слоя» (Layer Supertype) [95], «Компоновщик» (Composite), «Абстрактная фабрика» (Abstract Factory) [41].

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

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

Viewlnfo - класс, на который возложены функции построителя, он же включает в себя пакет Web-представления;

Document - класс, соответствующий документам системы;

Template - класс, представляющий шаблоны документов.

В предлагаемой архитектуре для построения Web-представления используется паттерн «Строитель» (Builder) [41], который дает возможность формирования представлений другого (не гипертекстового) формата, а для общего управления событиями и объектами, а также подключения к внешним компонентам используются паттерны «Контроллер» (Controller) [63] и «Одиночка» (Singleton) [41].

В п. 2.2 описана работа объектов подсистемы Web-ядро. Согласно выбранному решению «обобщенный протокол передачи данных» [32] в системе необходим объект, отвечающий за прием и обработку полученных запросов. Эти обязанности выполняет объект IPEServerController, а конкретно - его операция

HandleRequest(.), которая вызывается при получении запроса. После анализа принятого запроса, объект IPEServerController создает объект Представление Viewlnfo и передает ему параметры, необходимые для идентификации портала и его темы оформления, а также конкретный объект Строитель. Для представлений в формате HTML роль конкретного строителя выполняет класс HTMLViewParser.

Servercontroller

IPEServeiController

ClientController A

IPEClientController

Viewlnfo

ViewParser

HTMLViewParser

Document

Portal

Template

BuildViewO о )

Theme

Рис. 7. Базовая архитектура подсистемы формирования Web-представления.

После получения указателя на портал и тему его оформления, объект IPEServerController вызывает у объекта Viewlnfo метод BuildView(.), отвечающий за формирование Web-представления. Результатом работы этого метода является гипертекст, который и отправляется на Web-cepeep в качестве ответа на запрос (рис .7).

Следует сказать, что сериализация объекта Портал организована таким образом, чтобы при его загрузке связанные с ним объекты не извлекались автоматически, а загружались по мере необходимости. Для этого используется архитектурное решение «Загрузка по требованию» (Lazy Load) [95]. Гарантия того, что каждый объект (включая сам Портал) будет загружен только один раз, обеспечивается применением архитектурного решения «Коллекция объектов» (Identity Map) [95], что также обеспечивает кэширование объектов.

В п. 2.3 описаны уточненные объекты предметной области, определены их операции, отвечающие за формирование представления. К классам, выделенным в п. 1.9, добавляются специализированные классы, такие как: Content, Format, HeadObject и т.д. В п. 2.3.6 детально описывается последовательность построения представления.

В п. 2.4 представлена методика организации сохранения шаблонов и тем оформления. Предлагаемый подход к построению архитектуры системы не регламентирует технологии хранения шаблонов представления. Он предоставляет разработчику свободу выбора между стандартными формами (файлы, гипертекст) и нестандартными (базы данных, динамические сервисы). В частности, в работе предложена методика решения данной задачи на основе системы «Брокер объектных запросов» [30].

В третьей главе формулируется дизайн [41] вспомогательных подсистем, таких как «Web-сервер», «Модули расширения», «Менеджер файловых ресурсов».

В п. 3.1 определены требования, которым должны удовлетворять источники данных информационных баз корпоративной системы, которые выделены условно в компонент «Сервер предметной области».

В п. 3.2 определено назначение подсистемы «Web-сервер», используемой для маршрутизации запросов «Web-ядру» или «Менеджеру файловых ресурсов», приведен алгоритм работы, определены актеры и варианты использования данной подсистемы- переадресация HTTP-запросов на формирование представления и обработка ответа, а также удаленная загрузка и сохранение файлов. С помощью модели анализа определены необходимые классы проектирования.

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

В п. 3.4 описаны модули расширения (службы \\^еЬ-портала), которые предназначены для предварительного (дополнительного) преобразования информации, полученной из источников данных предметной области. Приведено описание архитектуры служб в целом, и на примере организации службы «Новости» рассмотрена организация конкретной службы (рис. 8).

LibraryController Services Library Porta/Service

HandleRequestQ О- О-—- GetPackageQ

News

Newsservice т

OneNewsMsg

GetPackage()

Г~

NewsMsg

Рис. 8. Дизайн модуля расширения (на примере службы «Новости»).

В четвертой главе рассматривается программный модуль «Конфигуратор». В п. 4.1 описаны задачи и назначение данной подсистемы. Отмечается, что основное назначение программного модуля «Конфигуратор» - создание системы объектов, на основе которых подсистема «\УеЬ-ядро» сможет формировать представления. Данное средство, в первую очередь, отвечает за создание оформления страниц, а также формирование логической структуры сайта.

В п. 4.2 детализированы требования к данному компоненту, полученные в Главе I, представлена модель вариантов использования.

В п. 4.3 представлена модель анализа, определены основные граничные классы системы, классы-сущности, и с помощью них описаны основные сценарии работы данного компонента.

На этапе проектирования в п. 4.4 для классов предметной области определены методы, предназначенные для работы компонента «Конфигуратор». Выявлены специализированные классы управления интерфейсом пользователя.

В п. 4.5 приведены основные сценарии работы подсистемы.

П. 4.6 содержит описание интерфейса пользователя подсистемы «Конфигуратор». Описаны основные окна программного модуля, их назначение, работа с ними, приводится пример.

Основные результаты работы

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

2. Сформулирована концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных. Данная концепция позволяет организовывать взаимодействие компонентов в приложениях «клиент/сервер» с учетом возможных будущих расширений, а понятие обобщенного протокола передачи данных упрощает организацию взаимодействия компонентов системы.

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

4. Разработанный программный комплекс внедрен в работу отдела информационных технологий администрации г. Анжеро-Судженска и используется для разработки и поддержки информационного портала «Официальный сайт города Анжеро-Судженск».

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

1.Вальц О.В., Войтиков К.Ю., Змеев O.A. Создание динамических Web-страниц в Delphi // Научное творчество молодежи: Материалы V научнопрактической конференции (г. Анжеро-Судженск, 12-13 апреля 2001 г.). - Томск: Изд-во Том. ун-та, 2001, С. 52-54.

2. Вальц О.В., Войтиков К.Ю. Динамический сайт города // Наука и образование: Материалы V Общероссийской межвузовской конференции студентов, аспирантов и молодых ученых (г. Томск, 23-26 апреля 2001 г.) Т.4.- Томск: Изд-во ТГПУ, 2001, С. 189-191.

3. Войтиков К.Ю., Змеев O.A., Моисеев А.Н. К вопросу о реализации классификатора в объектно-ориентированной информационной системе//Вестник КемГУ, 2002, №2, С. 167-177.

4. Войтиков К.Ю. Общие вопросы вариантов использования информационного портала//Научное творчество молодежи: Материалы VII межрегиональной научно-практической конференции (г. Анжеро-Судженск, 15-16 апреля 2003 г.).-Томск: Том. ун-та, 2003, С. 27-29.

5. Войтиков К.Ю., Змеев O.A., Моисеев А.Н. Основные функциональные требования к подсистеме «Брокер объектных запросов» в рамках унифицированного процесса разработки программного обеспечения // Обработка данных и управление в сложных системах: Сборник статей/Под ред. А.Ф. Терпугова. Вып. 5. -Томск: Изд-во Том. ун-та, 2003, С. 3-13.

6. Войтиков К.Ю., Змеев O.A., Моисеев А.Н. Применение паттерна Composite при проектировании шаблонов представлений объектов // Наука и практика: диалоги нового века: Материалы Всероссийской научно-практической конференции (г. Анжеро-Судженск, 14 ноября 2003 г.) Ч.З. - Томск: «Твердыня», 2003, С.50-53.

7. Войтиков К.Ю., Новиков Д.В. Авторизация пользователей, при разработке информационного портала//Наука и практика: диалоги нового века: Материалы Всероссийской научно-практической конференции (г. Анжеро-Судженск, 14 ноября 2003 г.) Ч.З. - Томск: «Твердыня», 2003, С. 53-55.

8. Войтиков К.Ю., Кремнев С.М., Моисеев А.Н. Web-портал как средство обучения студентов//Модернизация образования и повышение квалификации:

Материалы международной научно-практической конференции, (г. Томск, 26-27 ноября 2003 г.) Т.1. - Томск: Изд-во ТОИПКРО, 2003, С. 158-161.

9. Войтиков К.Ю., Моисеев А.Н. Основные функциональные требования к системе «Портал» в рамках унифицированного процесса разработки программного обеспечения // Обработка данных и управление в сложных системах: Сборник статей / Под ред. А.Ф. Терпугова. Вып. 6. - Томск: Изд-во Том. ун-та, 2004, С. 25-39.

10. Войтиков К.Ю., Змеев O.A., Моисеев А.Н., Якушев A.A. Архитектура надстраиваемых приложений клиент/сервер с обобщенным протоколом передачи данных // Вестник ТГУ, 2004, №284, С. 49-52.

11. Войтиков К.Ю. Якушев A.A. Общая концепция системы по разработке Web-порталов // Информационные технологии и математическое моделирование: Материалы III Всероссийской научно-практической конференции (г. Анжеро-Судженск, 12 декабря 2004 г.) 4.1. - Томск: Изд-во Том. ун-та, 2004, С. 52-54.

12. Войтиков К.Ю. Реализация шаблонов «сильное зацепление» и «слабое связывание» в системах по управлению контентом сайта // Научное творчество молодежи: Материалы IX Всероссийской научно-практической конференции (г. Анжеро-Судженск, 15-16 апреля 2005 г.) Ч. 1. - Томск: Изд-во Том. ун-та, 2005, С. 18-19.

13. Войтиков К.Ю. Особенности построения архитектуры систем по управлению контентом сайта // Обработка данных и управление в сложных системах: Сборник статей / Под ред. А.Ф. Терпугова. Вып. 7. - Томск: Изд-во Том. ун-та, 2005, С. 25-39.

14. Войтиков К.Ю. Обобщенная логическая структура документов системы управления контентом // Информационные технологии и математическое моделирование: Материалы IV Всероссийской научно-практической конференции (г. Анжеро-Судженск, 10 ноября 2005 г.) 4.1. - Томск: Изд-во Том. ун-та, 2005, С. 38-39.

15. Войтиков К.Ю., Моисеев А.Н. Архитектура подсистемы построения Web-представления//Информационные технологии и математическое моделирование: Материалы V Всероссийской научно-практической конференции (г. Анжеро-Судженск, 11 ноября 2006 г.) 4.1. - Томск: Изд-во Том. ун-та, 2006, С. 16-18.

16. Войтиков К.Ю., Подольский Д.А. Разработка Web-приложений при помощи технологии .NET // Информационные технологии и математическое моделирование: Материалы V Всероссийской научно-практической конференции (г. Анжеро-Судженск, 11 ноября 2006 г.) 4.1. - Томск: Изд-во Том. ун-та, 2006, С. 18-21.

17. Войтиков К.Ю., Моисеев А.Н. Типовая архитектура Web-портала корпоративной информационной системы // Вестник ТГУ. Приложение, 2006, №19, С. 18-20.

Заключение диссертация на тему "Комплекс программных средств разработки и поддержки информационного портала корпоративной системы"

ЗАКЛЮЧЕНИЕ

Настоящая работа посвящена построению типовой архитектуры системы формирования Web-представления информационных баз корпоративной информационной системы (КИС) и построению на ее основе соответствующего приложения.

В ходе работы получены следующие результаты:

-Изучен и проанализирован российский и мировой опыт разработки Web-приложений различных типов, их архитектур и принципов функционирования. Сформулированы основные требования к системе формирования Web-представления объектов информационных баз КИС.

- На основе анализа выявленных требований сформулировано повторно используемое решение для архитектуры построения систем формирования Web-представления объектов информационных баз КИС.

-Уточнены элементы архитектуры самой системы и ее отдельных компонентов, на основе полученной архитектуры создан программный комплекс инструментальных средств, решающих задачу формирования Web-представления и смежные с ней задачи. Для реализации программного комплекса была использована инструментальная система Borland Delphi [7], [11], [19], [93].

- С использованием созданных инструментальных средств разработан Web-портал «Официальный сайт города Анжеро-Судженск» [75].

-В результате анализа условий функционирования системы формирования Web-представления сформулирована новая концепция построения архитектуры надстраиваемых приложений «клиент/сервер» с обобщенным протоколом передачи данных, которая может быть использована в распределенных приложениях различных классов.

Библиография Войтиков, Константин Юрьевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. 1С-Битрикс: Управление сайтом Система управления сайтом, CMS, разработка и поддержка сайтов. Электронный ресурс. - Режим доступа к сайту: http://www.lc-bitrix.ru, свободный.

2. Алур Д., Крупи Д., Малке Д. Предисл. Г. Буча. Образцы J2EE: Лучшие решения и стратегии проектирования. М.: ЛОРИ, 2004. - 376 с.

3. Анализ требований и создание архитектуры решений на основе Microsoft .NET: 0()иц. пособие Microsoft для самост. подготовки: Учеб курс MCSD. -М.: Русская редакция, 2004. 383 с.

4. Ахо A.B., Хопкрофт Дж.Э., Ульман Дж.Д. Структуры данных и алгоритмы: Пер. с англ. М.: Изд. дом «Вильяме», 2001. - 383 с.

5. Бабушкина И.А., Окулов С.М. Практикум по объектно-ориентированному программированию. М.: БИНОМ. Лаборатория знаний, 2004. - 367 с.

6. Байдачный С.С. .NET Framework: Секреты создания Windows-приложений. -М.: СОЛОН-Пресс, 2004. 496 с.

7. Банкелл Дж.М. Фундаментальные алгоритмы и структуры данных в Delphi: Пер. с англ. СПб.: ДиаСофтЮП, 2003. - 557 с.

8. Беллиньясо М. Разработка Web-приложений в среде ASP.NET 2.0: задача -проект решение: Пер. с англ. - М.: Изд. дом «Вильяме», 2007. - 640 с.

9. Бергстрем С., Роберг Л. Rational Unified Process путь к успеху: Руководство по внедрению RUP. - М.: КУДИЦ-ОБРАЗ, 2004. - 256 с.

10. Ю.Блаха М., Рамбо Дж. UML 2.0: Объектно-ориентированное моделирование и разработка 2-е изд. - СПб.: Питер, 2007. - 544 с.

11. П.Бобровский С.И. Delphi 7. СПб.: Питер, 2003. - 736 с.

12. Боггс У., Боггс M. UML и Rational Rose 2002. M.: ЛОРИ, 2004. - 509 с.

13. Болоньи Л., Бэртси М., Блэр P. ASP и XML для профессионалов. М.: ЛОРИ, 2001.-704 с.

14. Брауде Э.Дж. Технология разработки программного обеспечения. СПб.: Питер, 2004.-655 с.

15. Брогден Б., Минник К. Электронный магазин на Java и XML: Пер. с англ. -СПб.: Питер, 2002. 397 с.

16. Бумфрей Ф., Диренцо О., Дакегг И. XML: Новые перспективы WWW. М.: ДМК, 2000. - 684 с.

17. Буч Г., Рамбо Д., Джекобсон А. Язык UML: Руководство пользователя: Пер. с англ. М.: ДМК Пресс, 2001. - 430 с.

18. Буч Г., Якобсон А., Рамбо Дж. Унифицированный процесс разработки программного обеспечения: Пер. с англ. СПб.: Питер, 2002. - 492 с.

19. Вальц О.В., Войтиков К.Ю., Змеев O.A. Создание динамических Web-страниц в Delphi//Научное творчество молодежи. Материалы V научно-практической конференции (г. Анжеро-Судженск. 12-13 апреля 2001г.). -Томск: Изд-во ТГУ, 2001, С.52-54.

20. Вальц О.В., Войтиков К.Ю. Динамический сайт города//Наука и образование: Материалы V Общероссийской межвузовской конференции студентов, аспирантов и молодых ученых (г. Томск, 23-26 апреля 2001г.). Томск: Изд-во ТГПУ, 2001,-С.189-191.

21. Васкевич Д. Стратегии клиент/сервер. Руководство по выживанию для специалистов по реорганизации бизнеса. М.: Диалектика, 1996. - 384 с.

22. Веллинг JL, Томсон JI. Разработка Web-приложений с помощью PHP 5 и MySQL 5: Пер. с англ. 3-е изд. - М.: Изд. дом «Вильяме», 2007. - 880 с.

23. Вендров A.M. Проектирование программного обеспечения экономических информационных систем: Учеб. 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2005. - 544 с.

24. Вигерс К.И. Разработка требований к программному обеспечению: Практ. приемы сбора требований и управления ими при разработке программного продукта. М.: Русская редакция, 2004. - 555 с.

25. Войтиков К.Ю. Общие вопросы вариантов использования информационного портала // Научное творчество молодежи: Материалы VII межрегиональной научно-практической конференции (г. Анжеро-Судженск 15-16 апреля 2003г.). Томск: Изд-во ТГУ, 2003, - С.27-29.

26. Войтиков К.Ю. Особенности построения архитектуры систем по управлению контентом сайта // Обработка данных и управление в сложных системах: Сборник статей / Под ред. А.Ф. Терпугова. Вып. 7. - Томск: Изд-во ТГУ, 2005, - С.25-39.

27. Войтиков К.Ю., Змеев O.A., Моисеев А.Н. К вопросу о реализации классификатора в объектно-ориентированной информационной системе // Вестник КемГУ, 2002, №2, - С.167-177.

28. Войтиков К.Ю., Змеев O.A., Моисеев А.Н., Якушев A.A. Архитектура надстраиваемых приложений клиент/сервер с обобщенным протоколом передачи данных // Вестник ТГУ, 2004, №284, С.49-52.

29. Войтиков К.Ю., Моисеев А.Н. Типовая архитектура Web-портала корпоративной информационной системы // Вестник ТГУ. Приложение, 2006, №19, С. 18-20.

30. Войтиков К.Ю., Подольский Д.А. Разработка Web-приложений при помощи технологии .NET // Информационные технологии и математическое моделирование: Материалы V Всероссийской научно-практической конференции (г.

31. Анжеро-Судженск 11 ноября 2006г.), 4.1. Томск: Изд-во ТГУ, 2006, - С.18-21.

32. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования: паттерны проектирования. СПб.: Питер, 2001.-366 с.

33. Гладкий А.А. 1С: Предприятие 8.0. СПб.: Тритон, 2005. - 256 с.

34. Грейвс М. Проектирование баз данных на основе XML: Пер. с англ. М.: Изд. дом «Вильяме», 2002. - 640 с.

35. Грэхем И. Объектно-ориентированные методы: Принципы и практика. 3-е изд. - М.: Изд. дом «Вильяме», 2004. - 880 с.

36. Гудман Д. JavaScript и DHTML: Сборник рецептов для профессионалов.-СПб.: Питер, 2004. 523 с.

37. Гусев А.А., Ильина JI.B. Программирование в среде 1С: Бухгалтерия. 4.1.-М.: КУДИЦ-ОБРАЗ, 2002. 350 с.

38. Дейтел Х.М. Как программировать на Java. Кн.2. Файлы, сети, базы данных : Пер. с англ. М.: БИНОМ, 2005. - 664 с.

39. Делопроизводство и документооборот. Дело Soft. Электронный ресурс. -Режим доступа к сайту: http://www.delo-soft.ru, свободный.

40. Дубовцев А.В. Microsoft .NET в подлиннике. СПб.: БХВ-Петербург, 2004. -692 с.

41. Йордон Э., Аргила К. Структурные модели в объектно-ориентированном анализе и проектировании. М.: ЛОРИ, 1999. - 264 с.

42. Коберн А. Быстрая разработка программного обеспечения. М.: ЛОРИ, 2002.-314 с.

43. Коберн А. Современные методы описания функциональных требований к системам. М.: ЛОРИ, 2002. - 263 с.

44. Когаловский М.Р. Перспективные технологии информационных систем. Науч. ред. М.И. Пугачев. М.: ДМК Пресс; М.: АйТи, 2003. - 285 с.

45. Коналлен Д. Разработка Web-приложений с использованием UML. М.: Изд. дом «Вильяме», 2001. - 286 с.

46. Константайн Л., Локвуд Л. Разработка программного обеспечения: Пер. с англ. СПб.: Питер, 2004. - 592 с.

47. Коуд П., Мейфилд М., Норт Д. Объектные модели: Стратегии, шаблоны и приложения. М.: ЛОРИ, 1999. - 434 с.

48. Крачтен Ф. Введение в Rational Unified Process. 2-е изд. - М.: Изд. дом «Вильяме», 2002. - 240 с.

49. Кролл П., Крачтен Ф. Rational Unified Process это легко: Руководство по RUP для практиков. - М.: КУДИЦ-ОБРАЗ, 2004. - 427 с.

50. Ларман К. Применение UML и шаблонов проектирования: Введение в объектно-ориентированный анализ и проектирования: Учеб. пособие. М.: Изд. дом «Вильяме», 2001.-490 с.

51. Ларман К. Применение UML и шаблонов проектирования: Введение в объектно-ориентированный анализ, проектирование и унифицированный процесс UP. 2-е изд. - М.: Изд. дом «Вильяме», 2004. - 620 с.

52. Леффингуэлл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению: Унифицированный подход. М.: Изд. дом «Вильяме», 2002.-446 с.

53. Либерти Д., Крейли М. Создание документов XML для Web на примерах. -М.: Изд. дом «Вильяме», 2000. 251 с.

54. Мазуркевич A.M., Еловой Д.С. PHP: настольная книга программиста. М.: Новое знание, 2004. - 479 с.

55. Мак-Дональд М., Шпушта М. Microsoft ASP.NET 2.0 с примерами на С# 2005 для профессионалов: Пер. с англ. М.: Вильяме, 2006. - 1408 с.

56. Макинтош Дж., Рэй Э.Т. Perl & XML: Библиотека программиста: Пер. с англ. СПб.: Питер, 2003. - 208 с.

57. Малыхина М.П. Базы данных: основы, проектирование, использование: Учеб. пособие. СПб.: БХВ-Петербург, 2004. - 499 с.

58. Мацяшек Л.А. Анализ требований и проектирование систем: Разработка информационных систем с использованием UML. М.: Изд. дом «Вильяме»,2002.-429 с.

59. Мейер Б. Объектно-ориентированное конструирование программных систем: Пер. с англ. -М.: Рус. редакция, 2005. 1198 с.

60. Нейбург Э.Дж., Максимчук P.A. Проектирование баз данных с помощью UML: Пер. с англ. М.: Изд. дом «Вильяме», 2002. - 282 с.

61. Овчинников С. XML: Язык форматирования документов World Wide Web.

62. М.: Майор, 2001.- 155 с. 74.0рфали Р., Харки Д. Java и CORBA в приложениях клиент-сервер. 2-е изд. - М.: ЛОРИ, 2000. - 712 с.

63. Официальный сайт города Анжеро-Судженск Электронный ресурс. Режим доступа к сайту: http://www.anzhero.ru, свободный.

64. Павловская Т.А., Щупак Ю.А. С++: Объектно-ориентированное программирование: Практикум : Учеб. пособие. СПб.: Питер, 2004. - 265 с.

65. Петров В.Н. Информационные системы: Учеб. пособие.- СПб.: Питер,2003.-688 с.

66. Поллис Г., Огастин Л., Лоу К., Мадхар Д. Разработка программных проектов на основе Rational Unified Process (RUP). M.: БИНОМ, 2005. - 255 с.

67. Рапопорт Э.Я. Структурное моделирование объектов и систем управления с распределенными параметрами: Учеб. пособие. М.: Высш. шк., 2003.300 с.

68. Ринехарт М. Программирование на Java с помощью Visual С++: Пер. с англ. М.: ООО «Попурри», 1998. - 345 с.

69. Ройс У. Управление проектами по созданию программного обеспечения: Унифицированный подход. М.: ЛОРИ, 2002. - 424 с.

70. Русский дом Joomla. Электронный ресурс.- Режим доступа к сайту: http://joom.ru, свободный.

71. Рязанцева Н.А., Рязанцев Д.Н. 1С: Предприятие. Комплексная конфигурация. Секреты работы. СПб.: БХВ-Петербург, 2004. - 623 с.

72. Сакс Т., Мак-Клейн Г. Дизайн и архитектура современного Web-сайта. Опыт профессионалов. М.: Изд. дом «Вильяме», 2002. - 320 с.

73. Сергеева К.В. 1С: Предприятие 7.7 «Бухгалтерия для бюджетных организаций» в вопросах и ответах. 3-е изд., доп. - М.: 1С-Паблишинг, 2004.508 с.

74. Система электронного документооборота и управления взаимодействием DIRECTUM Электронный ресурс.- Режим доступа к сайту: http://www.directum.ru, свободный.

75. Слама Д., Гарбис Дж., Рассел П. Корпоративные системы на основе CORBA: Пер. с англ. М.: Изд. дом «Вильяме», 2000. - 368 с.

76. Смирнова Т.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем: Учеб. пособие / Под ред. Ю.Ф. Тельнова. -М.: Финансы и статистика, 2003. 511 с.

77. Советов Б.Я., Яковлев С.А. Моделирование систем: Практикум : Учеб. пособие. Изд. 2-е, перераб. и доп. - М.: Высш. шк., 2003. - 296 с.

78. Стелтинг С., Маасен О. Применение шаблонов Java ТМ: Библиотека профессионала. М.: Изд. дом «Вильяме», 2002. - 564 с.

79. Трофимов С.А. Case-технологии: Практическая работа в Rational Rose. М.: ЗАО «Изд-во БИНОМ», 2001. - 272 с.

80. Фанг Д., Йу К., Jlay К. Введение в IBM Rational Application Developer : Учеб. руководство: Пер. с англ. М.: КУДИЦ-ОБРАЗ, 2006. - 564 с.

81. Фаронов В.В. Программирование баз данных в Delphi 7: Учеб. курс. СПб.: Питер, 2003.-459 с.

82. Фаулер М. UML. Основы: Краткое руководство по стандартному языку объектного моделирования: Пер. с англ. 3-е изд. - СПб.: Символ-Плюс, 2005. -184 с.

83. Фаулер М. Архитектура корпоративных программных приложений. М.: Изд. дом «Вильяме», 2004. - 544 с.

84. Фридман А.Л. Основы объектно-ориентированной разработки программных систем. М.: Финансы и статистика, 2000. - 192 с.

85. Фролов A.B., Фролов Г.В. Создание Web-приложений: Практическое руководство. М.: Рус. редакция, 2001. - 981 с.

86. Харрингтон Д. Проектирование объектно-ориентированных баз данных: Пер. с англ. М.: ДМК Пресс, 2001. - 270 с.

87. Харрис Э. PHP/MySQL для начинающих- М.: КУДИЦ-ОБРАЗ, 2005.384 с.

88. Хилайер С. Мизик Д. Программирование Active Server Pages: Пер. с англ. -М.: Издат. отдел «Русская редакция» ТОО «Channel Trading Ltd.», 1999. — 278 с.

89. Хольцшлаг М.Э. Использование HTML 4: Пер. с англ. 6-е изд. - М.: Изд. дом «Вильяме», 2001.- 1000 с.

90. Хорев П.Б. Технологии объектно-ориентированного программирования: Учеб. пособие. М.: Академия, 2004. - 448 с.

91. Элиенс А. Принципы объектно-ориентированной разработки программ. -2-е изд. М.: Изд. дом «Вильяме», 2002. - 496 с.

92. Эммерих В. Конструирование распределенных объектов: Методы и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RMI: Учеб.: Пер. с англ. / Под ред. Л.А. Калиниченко. М.: Мир, 2002. - 511 с.

93. Эспозито Д. Microsoft ASP.NET 2.0: Углубленное изучение: Пер. с англ. -СПб.: Питер; М.: Изд.-торговый дом «Русская редакция», 2007. 574 с.

94. Чейз Н. Active Server Pages 3.0 на примерах: Пер.с англ.: Уч.пос. М.: Изд. дом «Вильяме», 2001. - 352 с.

95. Alur, Crupi, and Malks. Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall, 2001.

96. Buschmann et al. Pattern-Oriented Software Architecture, Volume 2. New York: John Wiley, 2000.

97. Cascading Style Sheets, level 2 // World Wide Web Consortium Электронный ресурс. 2004. - Режим доступа к сайту: http://www.w3.org, свободный.

98. COM: Component Object Model Technologies// Microsoft Corporation Электронный ресурс. 2007. - Режим доступа к сайту: http://www.microsoft.com, свободный.

99. Cristian Darie, Jaimie Sirovich. Search Engine Optimization with ASP.NET: A Developer's Guide to SEO. Wrox Press, 2007. - 410 p.

100. Dan Rahmel. Joomla! Wrox Press, 2007. - 480 p.

101. Document Object Model (DOM) Level 3 Core Specification Version 1.0// World Wide Web Consortium Электронный ресурс. 2004. - Режим доступа к сайту: http://www.w3.org, свободный.

102. Dr. Shahram Khosravi. ASP.NET AJAX Programmer's Reference: with ASP.NET 2.0 or ASP.NET 3. Wrox Press, 2007. - 1560 p.

103. Dr. Shahram Khosravi. ASP.NET 2.0 Server Control and Component Development. Wrox Press, 2007. - 1224 p.

104. Extensible Markup Language (XML) 1.1 (Second Edition)// World Wide Web Consortium Электронный ресурс. 2006. - Режим доступа к сайту: http://www.w3.org, свободный.

105. HTML 4.01 Specification// World Wide Web Consortium Электронный ресурс. 2004. - Режим доступа к сайту: http://www.w3.org, свободный.

106. HTTP Specifications and Drafts // World Wide Web Consortium Электронный ресурс. 2004. - Режим доступа к сайту: http://www.w3.org, свободный.

107. IBM collaboration software Lotus Notes and Domino Электронный ресурс. - Режим доступа к сайту: http://www.306.ibm.com/software/lotus, свободный.

108. Joomla! Электронный ресурс.- Режим доступа к сайту: http://www.joomla.com, свободный.

109. Knigth and Dai. Objects and the Web // IEEE Software. March/April 2002.

110. Microsoft Dynamics Электронный ресурс.- Режим доступа к сайту: http://www.microsoft.com/rus/dynamics/solutions/navision/default.mspx, свободный.

111. MySQL АВ: Developer Zone Электронный ресурс. Режим доступа к сайту: http://www.mysql.org, свободный.

112. Nicholas С. Zakas, Jeremy McPeak. JavaScript and Ajax Wrox Box: Professional JavaScript for Web Developers, Professional Ajax, Pro Web 2.0, Pro Rich Internet Applications, 2nd Edition. Wrox Press, 2007. - 2414 p.

113. Oracle llg, Siebel, PeopleSoft//Oracle, The World's Largest Enterprise Software Company Электронный ресурс., -http://www.oracle.com.

114. PHP: Hypertext Preprocessor. Электронный ресурс. Режим доступа к сайту: http://www.php.net, свободный.

115. PHP-Nuke по-русски. Электронный ресурс. Режим доступа к сайту: http://rus-phpnuke.com, свободный.

116. RSS 2.0 Specification // RSS Advisory Board Электронный ресурс. 1999. -Режим доступа к сайту: http://www.rssboard.org/rss-specification, свободный.

117. SAP Business Software Solutions Applications and Services Электронный ресурс. - Режим доступа к сайту: http://www.sap.com, свободный.

118. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)// World Wide Web Consortium Электронный ресурс. 2004. - Режим доступа к сайту: http://www.w3.org, свободный.

119. Standard ЕСМА-262. ECMAScript Language Specification// ЕСМА international Электронный ресурс.- 1999.- Режим доступа к сайту:http://www.ecma-international.org/publications/standards/Ecma-262.htm, свободный.

120. Созданный программный комплекс используется в администрации г. Анжеро-Судженска для поддержки информационного портала с 01.07.2006 г. по настоящее время.корпоративной системы»

121. Управляющий делами администрации города

122. Начальник отдела информационных технологий

123. C:\Program I iks'-.IC Aivhivc СЬеш'СГомышев Д.Аи.ос81СасЬс\Спраик-о о внедрении для BoiiniKort.uloc

124. ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение Высшего профессионального образования Кемеровский Государственный Университет Филиал в г. Анжеро-Судженске 652470, Кемеровская область, г. Анжеро-Судженск ул. Ленина, 8

125. Диссертационные результаты используются также при выполнении студентами указанной специальности курсовых и дипломных работ.1. АКТ

126. Заведующий кафедрой информатики ; /Ul Директор АСФКемГУujl

127. А.С. Шкурки н Н.А. Хамидулина