Содержание к диссертации
Введение 5
Глава 1. Анализ средств организации доступа к информационным системам
на основе СУБД через сеть 16
1.1 Общие сведения об информационных системах 16
Определенней архитектура информационной системы 16
Анализ вариантов построения информационных систем на базе СУБД 19
1.1.3 Задача построения программных Web-интерфейсов к базам
данных информационных систем 23
1.2 Анализ интерактивных Web-технологий организации доступа к
информационным системам 28
Платформенно-независимый интерфейс CGI 31
Язык разработки сценариев РНР 34
1.2.3. Технология построения интерактивных документов DHTML.
Объекты ActiveX 37
1.2.4. Active Server Pages (ASP) - серверная технология от Microsoft42
1.3. Оценка эффективпости Web-технологий применительно к
организации доступа к информационным системам 43
1.4 Анализ инструментальных средств для разработки интерактивных
Web-документов 52
1.4.1. PHP Expert Editor 3.2.1 : 54
Zend Studio IDE v.4.0 56
Macromedia Dreamweaver MX 2004 62
Разработка требований к современной интегрированной программной среде 68
Выводы 71
Глава 2. Разработка методов автоматизации построения структуры базы
данных и средств доступа пользователей к ресурсам ИС 73
2.1 Декомпозиция задачи автоматизации. Разработка математической
модели интерфейсного элемента Web-страницы 75
2.2 Разработка методов построения и обработки интерфейсных элементов
Web-форм 80
2.2Л Метод создания списков выбора 80
2.2.2 Метод создания полей ввода , TYPE=PASS...>,
2.2.3 Метод создания переключателей TYPE=CHECKOX.,.>h
2.2.4 Метод создания кнопок и TYPE=RESET.. .>, скрытого элемента управления TYPE-HIDDEN...> 86
2.2.5 Обоснование выбора функций для реализации операций
элементов. Оптимизация генерируемого кода 87
Анализ операций, выполняемых в подчиненном сценарии 90
Разработка метода построения структуры базы данных 91
Разработка метода поддержки визуального программирования 96
2.6 Выводы 97
Глава 3. Исследование эффективности разработанных методов
автоматизации построения структуры базы данных и средств доступа
пользователей к ресурсам ИС 99
Выбор эффективных методов программирования 99
Оценка эффективности методов автоматизации 100
3.3 Разработка рекомендаций к методу построения структуры базы
данных на основе реляционной алгебры 102
3.4 Выводы 110
Глава 4. Программная реализация среды визуальной разработки баз данных
информационных систем и средств доступа к их ресурсам на платформе
WEB 111
4.1 Основные концепции работы в среде 112
4.2 Реализация визуального программирования в среде разработки. .
Интерфейс среды 113
Мастер проектирования Web-форм 114
Редактор кода 122
4.3 Механизмы работы с данными 124
4.3.1 Поддержка различных типов СУБД. Реализация внутренней
подсистемы базы данных 124
4.3.2 Метод создания файла дампа базы данных 126
Построение сценариев на языке РНР. Критерии оптимизации кода.. 127
Выводы 132
Основные результаты работы 134
Спиок литературы и источников информации 136
Приложения 142
Листинг 1 142
Листинг 2 142
Листинг 3 143
Листинг 4 143
Листинг 5 143
Листинг 6 144
Листинг 7 144
Введение к работе
Современные темпы развития компьютерных и сетевых технологий сделали возможным появление большого числа автоматизированных информационных систем (ИС) [1] различного назначения, как общедоступных в рамках глобальной сети Интернет, так и узкоспециализированных, создаваемых для нужд одного предприятия или организации. В современных реализациях таких систем информация, как правило, хранится в базе (базах) данных (БД). Одновременный доступ к информационной системе нескольких пользователей реализуется с помощью специализированного программного обеспечения (ПО), ориентированного на работу в сети. Традиционно программное обеспечение для реализации такого взаимодействия должно располагаться на обоих сторонах сети - на сервере (программа-сервер, обеспечивающая одновременную обработку запросов к ИС нескольких пользователей) и на компьютере пользователя (клиентская часть, формирующая запросы к серверу и отображающая результаты).
Такой подход имеет существенные недостатки: помимо однократной установки зачастую сложного комплекса программного обеспечения на сервер, подключение каждого нового пользовательского компьютера подразумевает установку клиентской части ПО и на него. При этом нужно учитывать, что пользователи могут работать на различных программных и аппаратных платформах, что означает необходимость создания либо многоплатформенного клиентского ПО, либо отдельных программ под каждую из платформ. Вместе с тем одному и тому же клиенту может потребоваться иметь доступ к нескольким системам, которые также могут быть построены на различных аппаратных и программных платформах, использовать различные СУБД. Конечному пользователю таких систем придется привыкать к особенностям интерфейса каждой из клиентских программ.
Необходимость решения этих проблем ставит перед разработчиками задачу интеграции разнородных информационных ресурсов в единое информационное пространство. Отметим, что теоретическая разработка этой области проводились как за рубежом (Е. Ф. Кодд, К. Дж. Дейт), так и в нашей стране (Калиниченко Л.А., Попов Э.В., Перегудов Ф.И. и др.).
Одним из шагов на пути к решению этой задачи стало создание разновидности клиент-серверной архитектуры, называемой архитектурой промежуточного слоя [1]. В этой модификации распределенной архитектуры используются функциональные компоненты, занимающие промежуточное положение между приложениями, с одной стороны, и средствами операционной системы и сетевого программного обеспечения, с другой стороны. Такая архитектура обеспечивает приложению независимость от сетевых протоколов и специфики операционных систем, что достигается благодаря стандартизации интерфейсов и протоколов, поддерживаемых программным обеспечением промежуточного слоя. Это придает свойство открытости и наращиваемости системам, построенным с применением подобных принципов.
Не меньшее значение имеет и прослеживаемая в последнее время тенденция переноса сетевого программного обеспечения с клиентских рабочих станций на серверы. Это позволяет использовать менее сложные компьютеры с минимальным набором программного обеспечения (так называемые «тонкие клиенты») в качестве клиентских, что, в свою очередь, означает снижение затрат на аппаратную составляющую системы. При таком подходе применяется единая универсальная программа-клиент, позволяющая пользователю обращаться к различным многоплатформенным сетевым информационным системам, сервисам и ресурсам.
Растущая геометрическими темпами популярность глобальной гипермедийной информационной системы Web предопределила дальнейшее направление интеграции и предоставила технологическую платформу, базис,
на основе которого становится возможным объединять разнородные информационные системы. Построение ИС на базе средств и технологий Web оказывается в ключе первых названных тенденций - архитектуры промежуточного слоя (за счет независимости протоколов Web от аппаратных и программных платформ и операционных систем) и тенденции применения тонких клиентов. Сетевой обмен осуществляется на базе протокола HTTP и разметки документов с применением языка HTML, поддерживаемых многими платформами. Отображение информационных ресурсов системы производится с помощью программных надстроек Web-сервера путем автоматический генерации интерактивных страниц. В таком случае роль клиентского ПО может играть любая программа-браузер, например MS Internet Explorer, Opera или Firefox. Имея достаточно простой интерфейс и обладая необходимой функциональностью, браузер становится единым универсальным клиентом для любой информационной системы как в сети Интернет, так и интрасетях.
Совершенствование технологий построения интерактивных Web-документов и инструментов разработчика осуществляется многими компаниями. Примерами могут служить продвигаемая компанией Microsoft технология DHTML [24, 25, 26, 27, 28, 29, 30, 33], под которую создано значительное количество средств разработки (пакеты Microsoft InterDev, Namo Web Editor), язык PHP и созданная его разработчиками среда Zend Studio [57], среда Macromedia Dreamweaver [36]. Как показывает проведенный далее в работе анализ, наиболее универсальным и применимым по целому ряду характеристик для построения компонентов информационных систем в Web является язык РНР [35, 36, 37]. Важнейшими достоинствами этого языка в данном контексте видятся высокая функциональность (язык создавался специально для разработки Web-приложений) и поддержка им большинства распространенных СУБД. При этом язык РНР приобретает роль своеобразного «межуровневого
интерфейса», существующего в открытых системах, и позволяет связать базу данных ИС и протоколы Web как средства доступа и отображения информационных ресурсов системы. Важно отметить так же, что этот язык находится в постоянном развитии, в него добавляется поддержка новых СУБД и новых технологий Web, что позволяет говорить о возможности наращивания систем, построенных по такому принципу.
Знакомство с инструментарием для разработки на РНР показывает значительное отставание функциональных возможностей этого инструментария от средств создания приложений в других областях. Представленные на рынке средства программирования на языке РНР [34, 36, 57], не позволяют более или менее комплексно автоматизировать построение информационных систем, представляя собой лишь развитые текстовые редакторы для работы с текстами на языках программирования, как Zend Studio, созданный самими разработчиками языка РНР, или ограничиваясь разработкой интерфейса, как Dreamweaver.
Анализируя свойства, которыми должно обладать инструментальное ПО в данной области, можно прийти к выводу, что отсутствие готовых решений для разработчика обосновывается отсутствием каких-либо достаточно проработанных и отлаженных методов комплексной автоматизации построения информационной системы. В итоге разработчикам приходится применять отдельные средства автоматизации на разных этапах, а в остальных случаях руководствоваться эмпирическими методами, собственным опытом, интуицией.
Очевидная востребованность разработки различных методов, позволяющих в той или иной степени комплексно автоматизировать разработку информационной системы, обосновывает актуальность выбранной темы. Таковые методы в конечном итоге должны позволить создать инструментальное программное обеспечение для разработчика информационных систем, обладающее следующими качествами:
комплексная автоматизация построения таких основных частей информационной системы, как база данных и средства доступа пользователей к ней, не ориентированные на конкретную серверную платформу;
максимальная автоматизация разработки Web-документов как основной составляющей средств отображения информационных ресурсов системы и части ее пользовательского интерфейса;
предоставление пользователю удобной и простой техники программирования, предпочтительно - визуального метода.
Как упоминалось выше, частичное решение некоторых из перечисленных задач в той или иной мере успешно достигалось различными разработчиками инструментального ПО. Однако инструменты, которые бы имели средства автоматизации разработки структуры базы данных наряду с построением средств доступа к ней, сочетая в себе перечисленные характеристики, на рынке программных продуктов не встречались. Технология визуального программирования на РНР наряду с некоторой автоматизацией построения структуры БД была опробована в рамках данного научного исследования (в 2002 году, [58]) в Интернет-Центре МГУЛ. Полученные результаты подтвердили работоспособность предложенных решений, и выявили необходимость дальнейшего совершенствования разрабатываемых методов.
Таким образом, можно заключить, что создание методов комплексной автоматизации процесса разработки компонентов информационных систем на платформе Web представляет новый с научной точки зрения подход в программировании. Данные методы должны включать в себя применение перспективных технологий программирования для создания интерфейсов доступа пользователей, а также средства автоматизированного построения структуры базы данных информационной системы.
Создание подобных методов осуществлено в рамках данной научной
работы на соискание степени кандидата технических наук. Совокупное
применение разработанных методов в конкретной реализации комплексно
решает задачу построения таких компонентов информационной системы как
база данных в реляционной СУБД и пользовательские интерфейсы к ней. Для
иллюстрации разработанных методов и их апробации была создана
программная среда, функциональные возможности которой позволяют
автоматизировать создание различных многоплатформенных
информационных систем на основе Web-технологий.
Такими образом, целью данного научного исследования является разработка методов комплексной автоматизации процесса построения информационных систем на базе Web-технологий. Данные методы должны обеспечивать автоматизацию построения структуры реляционной базы данных информационной системы и средств доступа пользователей к ее ресурсам на базе Web-технологий, і
Для достижения целей, поставленных в данной работе, были сформулированы и решены следующие задачи исследования:
выполнен сравнительный' анализ функциональных особенностей интерактивных Web-технологий, обоснован выбор языка РНР в качестве универсального средства в области разработки информационных систем» на основе СУБД и платформы Web, выполнен анализ функциональных возможностей инструментария в данной области;
проведена структуризация свойств и разработана математическая модель интерфейсного элемента Web-страницы, позволяющая вне зависимости от типа элемента использовать единый подход при построении программного кода интерфейсных Web-страниц;
на базе данной модели разработан метод автоматической генерации программного кода на : языке РНР, реализующего средства
!
отображения информационных ресурсов и интерфейсы доступа к
ИС; \
разработаны алгоритмы, реализующие метод визуального программирования в области построения интерактивных Web-страниц;
разработаны методы автоматизации построения структуры реляционной базы данных информационной системы, основанные на информации, получаемой при визуальном программировании;
для апробации разработанных решений создана интегрированная программная среда разработки ИС.
Методы исследования. Рассмотренные в диссертации задачи решались с применением методов структурного системного анализа, реляционной алгебры, теории множеств, теории проектирования баз данных, теории оптимизации, методов моделирования, эмпирических методов, методов индукции и дедукции. і
Решение обозначенных задач исследования в конечном итоге позволило успешно достичь поставленных целей научной работы. Основными научными результатами данной работы являются:
математическая модель интерфейсных элементов Web-страниц, обобщающая их функциональные характеристики, позволяющая формализовать принципы'их использования и выработать единый подход к применению этих элементов при построении интерфейсных Web-страниц как средства доступа к данным;
метод автоматической генерации программного кода на языке РНР, реализующего средства отображения информационных ресурсов и интерфейсы доступа к ИС;
метод автоматического > построения структуры базы данных информационной системы, основанный на информации, получаемой из визуального программирования;
4. метод визуального программирования на языке РНР применительно к построению интерфейсных Web-страниц.
Главным практическим результатом работы является реализация разработанных методов и подходов в созданной интегрированной программной среде.
Достоверность научных результатов работы подтверждается обширным опытом практической эксплуатации созданной в рамках работы интегрированной среды программирования, положительными отзывами при обсуждениях на конференциях. Результаты работы отражены в 7 опубликованных работах, неоднократно докладывались на Ежегодной научной конференции в МГУЛ, а так же были включены в программу X Международной студенческой школы-семинара «Новые информационные технологии» (Судак, Крым, 2002 г.).1
Разработанная среда программирования зарегистрирована в
государственном «Национальном информационном фонде
неопубликованных документов» (государственная регистрация
№ 50200501584 от 21.11.2005), а так же в «Отраслевом фонде алгоритмов и программ» (Свидетельство об отраслевой регистрации разработки № 5354 от 14.11.2005) [60]. Копии регистрационных документов приведены в приложениях.
С помощью интегрированной среды разработки были созданы автоматизированная система управления пользователями электронной почты в МГУЛ и модернизирован интерфейс управления базой данных Электронного журнала МГУЛ (2002 г.), создана база данных учета входящих телефонных звонков для нужд Рекламного агентства «Граммофон-Реклама» (2004 г.), система управления пользователями электронной почты и корпоративная база внутренней контактной информации ЗАО «Русская Медиагруппа» (2004-2005 г.), административный интерфейс управления
интернет-магазином театрального агентства (2005 г.). Акты внедрения приведены в приложениях.
На текущий момент остаются нерешенными следующие задачи, касающиеся функциональных возможностей практического варианта реализации предложенных методов в среде программирования:
разработка системы выделения синтаксических элементов языка различными цветовыми схемами и нумерации строк;
создание необходимых шаблонов для поддержки большинства известных СУБД.
По результатам данной научной работы на защиту выносится:
метод автоматической генерации программного кода на языке РНР, реализующего средства отображения информационных ресурсов и интерфейсы доступа к ИС;
метод автоматического 'построения структуры базы данных информационной системы;
алгоритмы для реализации полученных методов, отраженные в интегрированной среде разработки интерактивных Web-страниц.
Приведем краткое содержание предлагаемой работы. Диссертация содержит 148 листов, состоит из введения, четырех глав, основных выводов, списка литературы и использованных источников информации из 60 позиций и приложений.
Введение содержит обоснование актуальности выбранной темы,
перечень целей и задач исследования, основных научных разработок,
выносимых на защиту, определение; научной ценности работы и ее основных
результатов. '
В первой главе проведен анализ основных архитектур ИС, использующих сетевые технологии, выполнен сравнительный анализ современных интерактивных Web-технологий и ориентированных на их использование инструментов программирования. На базе анализа технологий
сделан вывод об их применимости для построения интерфейсов пользователей к ИС. По результатам анализа функциональных возможностей инструментов сформулированы основные задачи научной работы - создание методов автоматизации построения информационных систем на базе технологий Web, разработки структуры базы данных ИС, средств отображения ее информационных ресурсов и интерфейсов доступа к ней. Поставлена задача создания интегрированной среды, в которой должны быть применены названные методы.
Вторая глава посвящена разработке методов автоматизации построения баз данных информационных систем и средств доступа к их ресурсам на базе Web-технологий. Произведена структуризация свойств интерфейсных элементов Web-страниц, проанализированы их функциональные характеристики.; Разработана математическая модель, объединяющая свойства и операции интерфейсных элементов. Задача автоматизации разделена на элементарные операции для каждого интерфейсного элемента и для каждого назначения страницы. Разработаны метод обработки интерфейсных элементов, метод автоматизированного построения структуры базы данных и метод реализации визуального программирования применительно к созданию формы. Приведены обоснование выбора задействованных функций языка программирования и критерии оптимизации генерируемого кода.
В третьей главе проведено исследование эффективности разработанных методов. Отмечено, что при конкретной реализации в совокупности с визуальным построением интерфейса методы позволяют достичь большей эффективности разработки. Приведена математическая модель оценки эффективности. На основе фундаментальной теории баз данных Е.Ф. Кодда, теории множеств и реляционной алгебры выработаны рекомендации, позволяющие повысить эффективность применения метода построения структуры базы данных;
Четвертая глава содержит описание созданного программного продукта, в котором внедрены разработанные методы, и иллюстрирует его работоспособность. Рассмотрены функциональные возможности интегрированной среды разработки, ее интерфейс и основные принципы работы в ней.
Приложения включают листинги кода на языке РНР, акты внедрения научных и практических результатов диссертации и копии документов о регистрации разработанной среды программирования на государственном уровне и в Отраслевом фонде алгоритмов и программ.