Содержание к диссертации
Введение , 4
1. Анализ предметной области разработки веб-приложений 12
1.1 Анализ веб-систем и процесса разработки веб-приложений как объекта исследования 12
1.2 Анализ существующих подходов к разработке веб-систем... 14
1.3 Анализ основных трудностей в разработке веб-приложений., 19
1.4 Выводы 22
2. Разработка общей архитектуры масштабных веб-приложений с использованием компонентных моделей и лингвистического подхода к клиент-серверной коммуникации
2.1 Формализация веб-приложений и протекающих в них процессов
2.2 Подходы к снижению трудоемкости разработки веб-приложений 28
2.3 Описание общей архитектуры веб-приложений 32
2.4 Выводы 33
3. Разработка компонентной архитектуры веб-систем 35
3.1 Анализ требований к компонентным моделям в веб-приложениях и способов их реализации 35
3.2 Анализ возможностей аспектно-ориентированного программирования для использования в веб-приложениях.,. - 49
3.3 Разработка жизненного цикла компонент в веб-приложениях. 59
3.4 Выводы 69
4. Разработка лингвистического обеспечения клиент-серверной коммуникации в веб-приложениях 70
4Л Анализ проблемы клиент-серверной коммуникации в веб- приложениях 70
4.2 Анализ процесса обработки запроса в веб-приложения 71
4.3 Разработка лингвистического подхода к обработке параметров запросов 76
4.4 Выводы 102
5. Исследование эффективности применения предложенных моделей, методов и подходов на основе анализа их использования в реальных проектах 103
5.1 Разработка инженерной методики использования предлагаемых подходов для создания масштабных веб-приложений 103
5.2 Применение методики функциональных точек для оценки трудоемкости реализации информационных систем 115
5.3 Исследование эффективности применения предложенных подходов в проектах NOKIS и Eurosion 118
5.4 Исследование эффективности преложенных подходов в проекте Postal Cards 125
5.5 Перспективы развития предложенных подходов 128
5.6 Выводы 130
Заключение 132
Использованные литературные источники 133
Приложение
Введение к работе
Актуальность темы. Существенной особенностью современных процессов глобализации является экспоненциальный рост применения новых информационных технологий- Особая роль в этом процессе принадлежит глобальной компьютерной сети Интернет.
Одной из главных служб Интернет является WWW-служба (World Wide Web - Всемирная паутина), которая используется для доставки гипертекстовых документов- Одним из основных технологических направлений Интернет является особый класс программ, получивший название "веб-приложения", работа с которыми происходит посредством WWW. Веб-приложения относятся к классу систем "клиент-сервер", в которых в качестве клиентского программного обеспечения используется веб-браузер, а в роли сервера выступает веб-сервер.
Разработка веб-приложений сталкивается с определенными трудностями:
- веб-приложения обязаны следовать стандартам и протоколам Интернет и WWW, многие из которых устарели и часто не удовлетворяют требованиям функциональных приложений;
- пользовательский интерфейс веб-приложений имеет форму гипертекста, который по выразительной мощности и функциональности уступает графическому интерфейсу пользователя у обычных приложений;
- с исторической точки зрения веб-приложения происходят из систем малого и среднего объема, и методы, использующиеся при их разработке, мало изменились с тех пор, что при характерном увеличении объемов и сложности веб-приложений повышает трудозатраты.
Одним из главных факторов, влияющих на успех и трудоемкость реализации информационных проектов, является применяемая методология разработки. Большинство современных подходов не учитывает специфики веб-приложений среднего и большого объема. Несмотря на то, что вопросами разработки веб-приложений разного масштаба активно занимаются различные научные коллективы у нас в стране (А.В, Мельников, A.M. Вендров, СВ. Зыков, Е.А. Жоголев, А.В. Холчева) и за рубежом (М Fernandez, D. Florescu, A. Levy, Р, Lockemann, D. Suciu), большинство решений в этой области носит эвристический характер; в настоящее время отсутствует научно-обоснованный подход к созданию крупномасштабных • веб-приложений.
В связи с этим разработка моделей и методов для создания масштабных веб-приложений является актуальным направлением исследований.
Цель работы и задачи исследования. Целью работы является разработка и научное обоснование метода создания масштабных веб-приложений, направленного на снижение трудоемкости их реализации.
Для достижения данной цели должны быть решены следующие задачи:
- разработка общей архитектуры масштабных веб-приложений, формализация жизненных процессов, а них протекающих;
- разработка компонентной архитектуры веб-приложения, создание и формализация жизненных циклов компонентов веб-приложений;
- разработка лингвистического подхода к клиент-серверной коммуникации, создание и обоснование лингвистического обеспечения;
- разработка методики проектирования и реализации масштабных веб-приложений на основе предложенных моделей и методов, включая
f разработку программного обеспечения;
- исследование эффективности применения предложенных моделей, методов и подходов на основе анализа их использования в реальных проектах.
Методика исследования. Для решения поставленных в диссертационной работе задач были применены методы системного анализа, методологии SADT и IDEF, аппарат сетей Петри, методы объектно ориентированного анализа и проектирования, методы аспектно-ориентированного программирования, лингвистический подход, теория построения компиляторов, элементы функционального программирования и лямбда-исчисления, методика оценки трудоемкости разработки программного обеспечения при помощи функциональных точек. Результаты, выносимые на защиту: - общая архитектура масштабных веб-приложений, основанная на использовании аспектно-ориентированной компонентной архитектуры и лингвистического подхода в коммуникационной части; - компонентная модель веб-приложения, построенная с применением аспектно-ориентированной методологии и учетом специфических требований компонентов веб-систем; - лингвистическая концепция и лингвистическое обеспечение клиент-серверной коммуникации; - результаты практических исследований эффективности применения предложенных методов, моделей и алгоритмов. Научная новизна. Новыми являются следующие разработки и исследования автора: - оригинальная архитектура масштабных веб-приложений, которая позволяет за счет применения компонентной архитектуры и лингвистических методов организации клиент-серверной коммуникации снизить трудоемкость разработки масштабных веб-приложений. - компонентная модель веб-приложеиия, позволяющая за счет изоляции различных модулей системы, возможности повторного использования кода, применения аспектно-ориентированного подхода и других методов уменьшить затраты на разработку, поддержку и возможный в будущем реинжиниринг и рсфакторинг веб-приложений; . лингвистический подход к организации клиент-серверной коммуникации сокращает усилия разработчиков по созданию модулей обработки пользовательского ввода в веб-приложениях.
Практическая значимость и внедрение результатов. Практическую значимость имеют предложенные и разработанные автором: формализация жизненных процессов веб-приложений; методика описания жизненных циклов приложений; жизненный цикл веб-приложений; - лингвистическое обеспечение коммуникации для систем, построенных на основе архитектуры «клиент-сервер»; - программное обеспечение для использования предложенных моделей и методов в веб-приложениях.
Предложенные модели и методы внедрены в отделе информационных технологий Государственного Ведомства Водных Путей Германии в качестве опытного программного обеспечения в совокупности с методикой использования. Результаты работы использованы в виде веб-приложений в рамках проекта Европейской Комиссии EUROSION в системах управления метаданными. Результаты использования предложенных моделей и методов в реальных проектах показали эффективность разработанных решений.
Программное обеспечение внедрено в учебный процесс на кафедре ВМиК по специальности «Программное обеспечение вычислительной техники и автоматизированных систем» в виде лабораторных работ для студентов.
Исследования выполнялись в рамках федеральной целевой программы «Интеграция науки и высшего образования Российской Федерации на 2002-2006 гг.» по проекту П0039 «Фундаментальные исследования и новые технологии проектирования сложных технических систем» и частично поддержаны грантом РФФИ 03-07-90242 «Интернет-комплекс поддержки выполнения проектов фундаментальных исследований сложных систем с применением интеллектуальных технологий на базе экспертных систем» (2003-2005 гг.)
Разработанное автором программное обеспечение для реализации компонентов веб-приложений, автоматической обработки клиентского ввода в веб-приложениях и создания модулей отображения компонентов зарегистрировано в Отраслевом Фонде Алгоритмов и Программ Государственного Координационного Центра,
Апробация работы. Основные положения и результаты работы докладывались на следующих научно-технических конференциях: 13-й Международной конференции по проблемам системных исследований, информатики и кибернетики InterSymp-2001 (30 июля - 4 августа 2001 г., Баден-Баден, Германия); 3-й Международной конференции по проблемам технологий для электронных сервисов VLDB TES 2002 (23-24 августа 2002 г,э Гонконг, Китай); 4-й Международной конференции по проблемам информатики и информационных технологий CSIT2002 (18-20 сентября 2002 п, Патрас, Греция); 16-й Международной конференции "Информатика в защите окружающей среды11 Envirolnfo 2002 (25-27 сентября 2002 гм Вена, Австрия); 5-й Международной конференции по проблемам информатики и информационных технологий CSIT 2003 (16-18 сентября 2003 г., Уфа, Россия); 17-й Международной конференции "Информатика в защите окружающей среды" ЕПУІГОМО ООЗ (24-26 сентября 2003 г,, Коттбус, Германия).
Публикации. Основные материалы диссертационной работы опубликованы в 14 научных трудах, в том числе в виде монографии и научных статей в семи международных и четырех всероссийских научных изданиях.
Структура работы. Диссертационная работа состоит из 140 страниц машинописного текста, включающего в себя введение, пять глав, заключение рисунки, таблицы и список литературы из 110-и наименований, в том числе 88 - на иностранном языке.
Содсржание работы
В первой главе рассматриваются основные особенности веб-систем и современных методов их разработки. Даются общие характеристики масштабных систем и веб-приложений, обосновывается актуальность темы исследования.
Проводится анализ основных существующих подходов к реализации масштабных веб-приложений, рассматриваются их положительные и отрицательные черты. Обсуждается парадигма Модель-Вид-Контроллер для реализации интерактивных приложений. Проводится анализ основных трудностей в разработке веб-приложений, обозначаются возможные пути решения. Формулируются цель и задачи исследования, решаемые в диссертационной работе.
Во второй главе разрабатывается общая архитектура веб-приложений, построенных с использованием компонентных моделей и лингвистического подхода к клиент-серверной коммуникации. В этой главе проводится формализация процессов, происходящих в веб-приложениях при помощи парадигмы Модель-Вид-Контроллер и методологии IDEF, Выполняется структурная декомпозиция веб-приложений, выделяются их основные особенности.
Предлагаются подходы к снижению трудоемкости реализации каждой из частей веб-приложения. Применительно к модели веб-приложения предлагается использование компонентной архитектуры и сборочного подхода к программированию. Для облегчения реализации контроллеров веб-приложений предлагается лингвистический подход к организации клиент-серверной коммуникации, На уровне представления предлагается использовать унифицированные древовидные представления состояний модели и декларативные языки структурных преобразований. Предложенные подходы и методы объединяются в общую архитектуру веб-приложений.
В третьей главе разрабатывается компонентная модель веб-приложений. Выделяются основные требования к компонентной архитектуре веб-систем. Анализируются возможности применения аспектно-ориентированного программирования в веб-приложениях. Предлагается адаптация аспектно-ориентированного подхода в виде контрактного механизма жизненного цикла компонент. На основе аппарата сетей Петри разрабатываются формализмы для описания жизненных процессов приложений. Разрабатывается метод синтеза жизненных циклов компонент определенной предметной области.
Далее в главе строится модель жизненного процесса веб-приложения, выделяются контракты, соответствующие каждому из его этапов. К полученным моделям применяется метод синтеза жизненных циклов компонент, в результате чего генерируется жизненный цикл компонент веб-приложения,
В четвертой главе разрабатывается лингвистический подход к клиент-серверной коммуникации. Для этого производится анализ проблем, которые обычно возникают при разработке контроллеров в веб-приложениях. В качестве главной проблемы выделяется потеря семантики действий при их кодировании и передачи с клиента на сервер. В качестве возможного способа решения этой проблемы предлагается использование лингвистического подхода, то есть создания компьютерного языка параметрического описания действий Проводится анализ основных требований к языку описания действий в параметрах. На основе этого анализа разрабатывается синтаксис языка в виде расширенных форм Бэкуса-Наура, и его семантика в виде проценуры обработки множества параметров.
В пятой главе проводится исследование эффективности использования предложенных методов. На основе каскадно-итеративного подхода к разработке информационных систем разрабатывается инженерная методика использования предложенных моделей и подходов в форме рекомендаций по анализу, проектированию, разработке, тестированию и сопровождению веб-систем.
Обсуждаются возможные пути оценки эффективности использования разработанных подходов, В качестве метода исследования эффективности выбирается сравнительный анализ результатов внедрения разработанных методов в нескольких реальных проектах с показателями, рассчитанными на основе методики функциональных точек.
Описывается практический опыт использования компонентной архитектуры и лингвистического подхода в проектах NOKIS, Euiosion и PostalCards, показавший 15-25% экономию трудозатрат.
В завершении главы рассматриваются перспективы дальнейшего развития разработанных подходов.