автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Моделирование и разработка расширяемого программного комплекса для исследований проблемы энергетической безопасности
Оглавление автор диссертации — кандидата технических наук Болдырев, Евгений Анатольевич
Введение
СОДЕРЖАНИЕ
1. Проблема создания программного обеспечения нового поколения для исследований энергетики с позиций энергетической безопасности.
1.1. Специфика исследований проблемы энергетической безопасности.
1.2. Сложность создания программного обеспечения, обусловленная спецификой исследований и вычислительного эксперимента.
1.3. Объективно существующая сложность процесса создания программного обеспечения.
1.4. Выводы по главе и постановка задачи диссертационной работы.
2. Предлагаемый подход к созданию программных комплексов нового поколения.
2.1. Анализ подходов, методов и средств разработки современных программных комплексов.,.:.
2.1.1. Тенденции развития архитектуры современных программных систем.
2.1.2. Объектно-ориентированный подход к построению прикладных программных систем, как наиболее адекватный современным архитектурам программного обеспечения.
2.1.3. Объектное моделирование программных систем как необходимый этап процесса создания современного программного обеспечения.
2.2. Требования к программным комплексам нового поколения.
2.2.1. Общие требования.
2.2.2. Требования, обусловленные спецификой предметной области.
2.3. Расширяемость как одно из основных свойств программных комплексов нового поколения.
2.4. Предлагаемая архитектура расширяемых программных комплексов и средства ее реализации.
2.4.1. Системно-концептуальные соглашения.
2.4.2. Технологии создания объектных распределенных систем.
2.4.3. Технология Remote Method Invocation.
2.4.4. Архитектура "Модель/Вид/Контроллер".
2.4.5. Паттерны проектирования.
2.5. Методика разработки расширяемых программных комплексов нового поколения.
3. Применение предлагаемого подхода к созданию программного комплекса ИНТЭК-2 для исследований проблемы энергетической безопасности.
3.1. Существующая и предлагаемая технологии исследований.
3.1.1. Основные прецеденты.
3.2. Проектирование базы данных ПК ИНТЭК-2.
3.3. Проектирование программного комплекса ИНТЭК-2.
3.3.1. Трехуровневая архитектура ПК ИНТЭК-2.
3.3.2. Клиентская часть ПК ИНТЭК-2.
3.3.3. Разработка серверной части ПК ИНТЭК-2.
3.3.4. Создание компонентов расширения" для ПК ИНТЭК-2.
3.4. Технология проведения вычислительных экспериментов с использованием ПК ИНТЭК-2.
Введение 2002 год, диссертация по информатике, вычислительной технике и управлению, Болдырев, Евгений Анатольевич
Актуальность работы. Актуальность выполненной работы определяется двумя основными факторами. Первым является значимость проблемы исследований энергетической безопасности (ЭБ), в которых существенная роль отводится программному обеспечению (ПО) и организации вычислительного эксперимента. Второй фактор связан с темпами развития информационных технологий и необходимостью создания такого программного обеспечения, которое можно было бы легко изменять и адаптировать к изменяющимся условиям исследований и которое отвечало бы требованиям современных информационных технологий. Последнее актуально также в связи с тем, что в исследованиях проблемы энергетической безопасности в последнее время ставится задача создания системы мониторинга энергетической безопасности и его информационной поддержки, которая может быть организована только на основе современных информационных технологий (ИТ). Это, в свою очередь, требует рассмотрения концептуальных решений, связанных с организацией распределенных вычислений и сетевым доступом к данным и приложениям. Учитывая, что программные инструментальные средства исследований рассматриваются как один из прототипов системы поддержки принятия решений по обеспечению энергетической безопасности, это предъявляет к ним повышенные требования и обуславливает актуальность их разработки на современном уровне ИТ.
Актуальность исследований проблемы энергетической безопасности определяется, в свою очередь, ключевой ролью ТЭК в экономике страны и ситуацией, которая сложилась в нем и в экономической и социальной жизни страны к настоящему времени, а именно: глубоко изношенные основные производственные фонды, дефицит инвестиционных ресурсов, социальная напряженность и т.д. Энергетическая безопасность с учетом проникновения энергетики во все сферы жизнедеятельности современного общества является одной из важнейших составляющих обеспечения экономической и национальной безопасности.
Специфика проводимых исследований определяет сложность создания ПО для этих исследований. С одной стороны, это появляющиеся со временем (1) новые математические методы, модели, подходы, применение которых может перевести исследования на качественно иной уровень, дать новые результаты по сравнению со старыми методами исследований. С другой стороны, это лавинообразное появление (2) новых информационных технологий (ИТ), оказывающих серьезное влияние на методы проведения научных исследований. Это влияние выражается в том, что применение новых ИТ может дать новые возможности в проведении исследований, а именно, формулирование и решение новых задач, которые невозможно было бы решить без использования этих технологий. Два вышеуказанных процесса являются характерными для любых научных исследований, фактором же специфическим для исследований энергетики и, вероятно, других технико-экономических систем, является прямая зависимость между проводимыми исследованиями и объектом исследования (в нашем случае ТЭК), на который оказывают влияния процессы, происходящие в окружающем мире. Это влияние внешних факторов выражается в изменении условий, в которых функционирует ТЭК, и, соответственно, в изменениях в самом ТЭК, как реакции на изменение внешних условий. Последнее, в свою очередь, обуславливает изменения в методах и моделях исследований ТЭК, порождает новые задачи и новые направления исследований.
Изменения в процессе исследований требуют адекватной инструментальной поддержки и, соответственно, изменений в инструментальных средствах, т.е. легкость адаптации инструментальных средств фактически является залогом успешного проведения исследований. Необходимость разработки ПО, которое отвечало бы этому требованию, и одновременно сложность его реализации, с учетом уровня современных информационных технологий и большого разнообразия базовых инструментальных средств, требует выполнения специального исследования, что подчеркивает актуальность данной работы.
Традиционно, для исследований направлений развития ТЭК, которые являются основой для современных исследований проблемы ЭБ, в СЭИ разрабатывались пакеты прикладных программ и информационные системы. Постановки задач для автоматизации этих исследований формировались в 60-70-х годах XX века работами ученых СЭИ Л.А. Мелентьева, А.А. Макарова, А.П. Ме-ренкова, Ю.Д. Кононова, Л.Д. Криворуцкого, Б.Г. Санеева и др. [1, 2, 3, 4]. Прообразом современной информационной технологии исследований являются разработки, выполненные в СЭИ в 70-х - начале 80-х годов. Именно тогда были сформулированы основные концептуальные решения и требования к инструментальным средствам, которые не могли быть реализованы полностью с помощью аппаратного и программного обеспечения того времени. Для исследований развития ТЭК использовался программно-вычислительный комплекс (ПВК), реализованный коллективом разработчиков под руководством Л.Д. Криворуцкого (В.Ф. Аношко, Г.Н. Волошин, В.М. Грищенко, Н.А. Дранишни-ков, Э,В, Яськова) [4]. Впоследствии, под руководством Л.В. Массель осуществлен перевод БД ПВК на универсальную систему управления базами данных (СУБД) и разработана технология вычислительного эксперимента (ВЭ), основанная на использовании общей БД для связи этапов ВЭ [5,6]. Развитием этого комплекса стал ПВК ЭНЕРГИЯ для ЕС ЭВМ, разработанный под руководством Л.Д. Криворуцкого и Г.Н. Антонова [7], перенесенный позднее на PC AT и СУБД Paradox (реализация выполнена Г.Н. Антоновым и С.И. Немоляевым) [8]. В дальнейшем, эта работа была продолжена коллективом под руководством Л.В. Массель (Е.А. Болдырев, А.Р. Ершов, Н.Н. Макагонова, В.В. Трипутина) [9, 10, 11, 12]. Был разработан программный комплекс ИНТЭК для исследований направлений развития ТЭК с позиций ЭБ. Время показало правильность концептуальных решений, принятых при его разработке: ориентация на сетевые технологии Internet/Intranet, использование объектного подхода при проектировании распределенных программных приложений, идеология открытых систем, использование объектно-ориентированного (ОО) языка Java [11]. Данная работа является логическим продолжением, направленным на развитие результатов, полученных при разработке ПК ИНТЭК.
Если раньше необходимость разработки, по сути, новых поколений программного и информационного обеспечения определялась сменой поколений ЭВМ, сейчас, при реализации их практически на одной технической платформе
IBM PC совместимые), тем не менее существует необходимость создания инструментария нового поколения, которая диктуется появлением новых информационных технологий, фактической сменой штатного программного обеспечения (операционной и инструментальной среды), появлением новых подходов к построению прикладных программных систем.
Целью данной работы является разработка методического подхода к созданию программных комплексов (ПК) нового поколения для исследований проблемы энергетической безопасности, в основе которого лежит ориентация на web-технологии и использование современных подходов к проектированию и реализации ПО, а также разработка технологии исследований проблемы ЭБ с использованием ПК нового поколения.
Для достижения этой цели необходимо выполнить следующие задачи:
1. Анализ специфики разработки ПО для исследований проблемы ЭБ и тенденций развития архитектуры современных прикладных программных систем.
2. Выбор базовых технологий, которые позволяли бы осуществлять интеграцию разнородных компонентов прикладной программной системы для исследований проблемы ЭБ.
3. Разработка архитектуры ПК, которая сможет обеспечить легкость внесения изменений в ПО, создаваемое в соответствии с этой архитектурой, а также методики построения ПО в соответствии с этой архитектурой.
4. Проектирование ПО для поддержки исследований проблемы энергетической безопасности и реализация его базовых компонентов.
5. Разработка технологии проведения вычислительных экспериментов с использованием разработанного ПО.
Методами и средствами исследования являются: методические основы построения информационных технологий в исследованиях энергетики, методы системного и прикладного программирования, методы объектного подхода (анализ, проектирование, программирование), методы проектирования баз данных и информационных систем.
Новизну составляют следующие положения:
1. В работе обосновывается необходимость создания для исследований энергетики программных комплексов нового поколения, отличительными чертами которых являются:
• свойство расширяемости программного обеспечения в его современной трактовке;
• многослойная архитектура, предусматривающая использование серверов приложений и серверов баз данных;
• ориентация на работу в вычислительных сетях (как локальных, так и глобальных).
2. Предлагается методический подход к построению программных комплексов нового поколения для исследований энергетики, включающий:
• методические рекомендации по построению расширяемых программных комплексов;
• объектное моделирование программных комплексов на этапе проектирования;
• применение базовых технологий, создающих предпосылки для перехода к работе с программным комплексом через Internet;
• реализацию программного комплекса в трехуровневой архитектуре "клиент-сервер", включающей сервер приложений и сервер баз данных.
• распределение приложения по нескольким компьютерам с использованием какой-либо из современных технологий создания распределенных приложений, в зависимости от сложности задачи и других ограничений.
На защиту выносятся:
1. Методика построения расширяемых программных комплексов нового поколения, основанная на использовании паттернов проектирования и возможностей объектно-ориентированного языка Java.
2. Архитектура программного комплекса и его компонентов и построенные на этапе проектирования ПК объектные модели, в соответствии с которыми выполнена реализация ПК.
3. Технология проведения вычислительных экспериментов для исследований проблемы энергетической безопасности с использованием ПК "ИНТЭК-2"1, разработанного на основе предлагаемого подхода.
Практическая значимость работы заключается в применении предложенного подхода и методики к созданию расширяемого программного комплекса "ИНТЭК-2" для исследований проблемы ЭБ, а именно: в объектном моделировании ПК для исследований проблемы ЭБ, реализации базовых компонентов, разработке технологии проведения ВЭ с помощью ПК "ИНТЭК-2".
Апробация работы. Результаты работы докладывались на Всероссийских семинарах "Информационные технологии в энергетике", г. Иркутск, в 1999, 2000 и 2001 гг.; на XXVIII, XXX и XXXI конференциях научной молодежи ИСЭМ СО РАН, г. Иркутск, в 1998, 2000, 2001 гг.; на конференции "Вычислительные технологии", г. Новосибирск, 2000 г.; на Международной конференции "Информационные технологии в науке, образовании, телекоммуникации, бизнесе", Гурзуф, 2000 г.; на международном семинаре "Либерализация и модернизация электроэнергетических систем: проблемы эксплуатации и управления", г. Иркутск, 2000 г.; а также на семинаре ИрГТУ, семинарах и секциях Ученого Совета ИСЭМ СО РАН.
Публикации. По теме диссертации опубликовано одиннадцать работ.
В первой главе раскрывается суть проблемы энергетической безопасности, анализируются подходы к ее исследованию. Анализируется специфика создания программного обеспечения для исследований проблемы ЭБ. Определяются факторы, обуславливающие сложность создания ПО в данной предметной области, и факторы, требующие, чтобы ПО обладало возможностью расширения его функциональных возможностей. В выводах к главе обосновывается необходимость разработки методического подхода к созданию программных
1 ПК ИНТЭК-1 в двухуровневой архитектуре ''клиент-сервер" был разработан в 1996-1999 гг. коллективом авторов в составе: Е.А. Болдырев, А.Р. Ершов, H.H. Макагонова, В.В. Трипутина, под руководством Л.В. Мас-сель. комплексов нового поколения. На основании выводов данной главы формулируются задачи диссертационной работы.
Вторая глава посвящена анализу тенденций развития современных прикладных программных систем и общие тенденции в области ИТ. На основе выполненного анализа автором разработан методический подход к созданию ПК нового поколения, включающий предложения по применению объектного моделирования, разработанные автором архитектуру программной системы и интеграционную оболочку для клиентского уровня. Приводится методика разработки расширяемого программного обеспечения, разработанная автором на основе предложенного им подхода.
В третьей главе рассматривается применение предложенных подхода и методики на примере выполненной автором разработки ПК ИНТЭК-2 для исследований проблемы ЭБ. Описаны основные прецеденты, реализуемые ПК, приведено описание компонентов разработанного комплекса, состава классов и механизмов их взаимодействия. Приведена полученная в результате проектирования и реализованная автором трехуровневая архитектура ПК, а также описание основных компонентов комплекса.
В заключении приведены основные результаты, полученные при выполнении данной работы, и определены направления дальнейшей работы.
Учитывая новизну предлагаемого подхода и, в силу этого, малую распространенность используемых базовых средств, в приложениях к работе даются описания базовых концепций и инструментальных средств, применяемых автором.
Автор благодарит своего руководителя, д.т.н. Массель JI.B., сотрудников сектора "Информационные технологии в энергетике", совместно с которыми выполняется разработка программного и информационного обеспечения исследований проблемы ЭБ, а также сотрудников отдела живучести и безопасности ИСЭМ СО РАН, способствовавших постановке задачи и апробации результатов работы, которые с пониманием и терпимостью относились к научным изысканиям и экспериментам автора.
Заключение диссертация на тему "Моделирование и разработка расширяемого программного комплекса для исследований проблемы энергетической безопасности"
1.4. Выводы по главе и постановка задачи диссертационной работы.
На основании вышеизложенного можно сделать следующие выводы:
1. Рассматриваемый класс задач, а именно - исследования направлений развития ТЭК с учетом требований энергетической безопасности, - является, с точки зрения разработки информационных технологий, весьма сложной предметной областью.
2. В исследованиях ТЭК с позиций ЭБ, а именно, в оценке состояния ТЭК с учетом сценариев возможных возмущений ключевую роль играет программное обеспечение, разработка которого, учитывая специфику исследований и объективную сложность создания ПО, всегда была сложной проблемой. В настоящее время проблема усугубилась вследствие возросшего уровня информационных технологий, тенденций перехода к распределенным вычислениям, международным стандартам открытых систем.
3. Анализ специфики предметной области показал, что создание ПО исследований энергетики, которое должно развиваться и оперативно изменяться в ответ на изменения в исследованиях, является более важным, чем для многих других предметных областей, что требует рассмотрения современных архитектур программных систем и поиска современных решений, которые позволили бы адекватно решить проблему создания ПО исследований энергетики.
Постановка задачи диссертационной работы:
1. Проанализировать тенденции развития архитектуры современных прикладных программных систем и по результатам анализа выбрать базовые технологии, которые позволяли бы осуществлять интеграцию разнородных компонентов прикладной программной системы для исследований проблемы ЭБ.
2. Разработать такую архитектуру системы, которая обеспечит легкость внесения изменений в ПО, разработанное в соответствии с этой архитектурой.
3. Разработать методику построения ПО в соответствии с разработанной архитектурой.
4. Разработать, в соответствии с этой методикой, ПО для поддержки исследований ТЭК с позиций ЭБ, а конкретно, для оценки состояния ТЭК с учетом сценариев возможных возмущений
5. Разработать технологию проведения вычислительных экспериментов с использованием разработанного ПО.
На основе выводов, полученных в настоящей главе, и в соответствии с постановкой задачи, перейдем к рассмотрению требований, которым должны удовлетворять ПК нового поколения, и предлагаемого автором методического подхода к построению таких ПК, который учитывает требования рассматриваемого класса задач и тенденции развития современных информационных технологий.
2. ПРЕДЛАГАЕМЫЙ ПОДХОД К СОЗДАНИЮ ПРОГРАММНЫХ КОМПЛЕКСОВ НОВОГО ПОКОЛЕНИЯ 2.1. Анализ подходов, методов и средств разработки современных программных комплексов 2.1.1. Тенденции развития архитектуры современных программных систем В последние годы (примерно с 1997 года по сегодняшний день) развитие информационных технологий является наглядным примером того, что линии развития прикладных программных систем (ППС) и Internet, а точнее Web-технологий, все больше сливаются в единую открытую систему, интегрирующую обе составные части в единое целое. Импульс к применению возможностей открытых систем возник в информационных технологиях не вчера. Он следовал, в частности, из растущего использования разнообразных аппаратных платформ, исполняющих приложения, предназначенные для решения все более широкого диапазона задач.
Внедрение гетерогенных систем и желание разделять между такими системами информацию привели к необходимости их совместной работы. Кроме того, совместимые двоично компьютеры сулили переносимость программ с платформы на платформу.
Импульс к применению возможностей открытых систем исходит не только от пользователей. Он исходит как от разработчиков, озабоченных необходимостью сокращать расходы и время переноса своих приложений на различные платформы, так и от производителей, старающихся разрабатывать новые платформы, на которых может выполняться широкий диапазон приложений.
Комитет IEEE POSIX 1003.0 остановился на определении, которое дает широкую и исчерпывающую трактовку понятия открытых систем. В соответствии с этим определением открытая система есть "система, реализующая открытые спецификации на интерфейсы, сервисы и поддерживаемые форматы данных, достаточные для того, чтобы обеспечить должным образом разработанным приложениям возможность переноса с минимальными изменениями на широкий диапазон систем, совместной работы с другими приложениями на локальной и удаленных системах и взаимодействия с пользователями в стиле, облегчающем тем переход от системы к системе".
Ключевой момент в этом определении - использование термина "открытая спецификация", что в свою очередь определяется как "общедоступная спецификация, которая поддерживается открытым, гласным согласительным процессом, направленным на постоянную адаптацию новой технологии, и соответствует стандартам".
По данному определению открытая спецификация не зависит от технологии, т.е. не зависит от специфического аппаратного и программного обеспечения или от продуктов конкретного производителя. Она одинаково доступна любой заинтересованной стороне. Более того, открытая спецификация находится под контролем общественности и поэтому все, кого она затрагивает, могут участвовать в ее разработке.
В последнее время данная тенденция получила мощный импульс благодаря развитию Internet. Технологии С ORB A, Java, Java 2 Enterprise Edition, XML -это открытые стандарты и движение в этом направлении продолжается. Развитием данной тенденции стало движение Open Source Software (Программное обеспечение с открытым кодом), это означает, что исходный код программы бесплатен и открыт, и любой желающий может вносить туда свои изменения. Самым известным достижением этого движения является операционная система Linux - Unix-подобная операционная система для персональных компьютеров. По данным International Data Corp. (организации, занимающейся статистическими и аналитическими исследованиями компьютерной индустрии) Linux на рынке серверных операционных систем занимала в 1997 - 6,8%, в 1998 году эта доля увеличилась в более чем 2 раза и составила 17,2%. Эта тенденция сохраняется и в настоящее время, насчитывается около 30 млн. ее пользователей, а правительство Китая приняло решение об использовании этой ОС в качестве государственного стандарта [33].
На рис. 2.1, построенном автором, представлены результаты проведенного им анализа путей развития web-технологий и технологий построения и разработки прикладных программных систем.
Примерно до 1996 года это две независимые технологии, имеющие различную направленность.
Документы с формами и таблицами. Протокол CGI.
Распределенные объекты: CORBA, ActiveX, Java-Beans, Java Jars
Графические браузеры Web и простые гипертекстовые документы
ФУНКЦИОНАЛЬНОСТЬ
СТЕПЕНЬ РАСПРЕДЕЛЕ1 [ НОСТИ
Active Server Pages (ASP),
JavaServer Pages (JSP) Java Servlets, ВРЕМЯ
Эра централизованных вычислений (мэйнфреймы и миникомпьютесы)
1980
SSL
S-HTTP
Брандмауэры
Java Web: Апплеты мобильные компоненты
Sun Java 2 Enterprise Edition: JSP, Servlets, EJB, Java IDL, JDBC, RMI и др.
Microsoft .NET. COM+, MTS, ASP, MTA, Microsoft IDL, MSMQ, OLE DB, C# и др.
Intranet,
Серверы баз данных
Java JDBQ. Многоуровневые RMI, IDL архитектуры
Мониторы транзакций айл-серверы
Средства групповой работы
Enterprise JavaBeans (EJB) - основа многоуровневой компонентной архитектуры Sun. Component Object Model (COM+) - основа многоуровневой компонентной архитектуры Microsoft.
1985
1990
1995 Ч
1997
ВРЕМЯ
1998
Эволюция архитектуры прикладных программных систем Эволюция web-технологий
Рис. 2.1. Конвергенция путей развития Web технологий и архитектуры прикладных программных систем.
Первым шагом к их интеграции стало широкое распространение сетей персональных компьютеров, которые в качестве интегрирующего звена, обеспечивающего коллективную работу, использовали файл-сервер: пользователь получал требуемый файл с сервера, а затем вся обработка происходила на машине пользователя. Большинство систем управления базами данных того времени (dBASE, Clipper, FoxPro) поддерживали и популяризировали этот подход. Подход с использованием разделения файлов с помощью файл-сервера был простым, но работал только при невысокой интенсивности работы с разделяемыми файлами в небольших рабочих группах (с одним и тем же файлом могло работать не более 10-12 человек). По мере накопления данных и расширения круга пользователей появилась проблема с производительностью систем, основанных на использовании файл-сервера. Это стало одной из причин, обуславливающих необходимость появления новой технологии организации коллективной работы. Второй важной причиной стало появление, а затем и повсеместное доминирование графического интерфейса пользователя. Очень скоро графическое представление информации, представленное на рынке операционными системами Windows и Мае, стало фактически стандартом де-факто для пользовательского интерфейса. Таким образом, внешний вид приложений, традиционно функционирующих на миникомпьютерах и мэйнфреймах, доминирующих до появления ПК, и имеющих алфавитно-цифровой интерфейс, перестал удовлетворять изменившимся требованиям к пользовательскому интерфейсу.
Архитектурой, которая должна была устранить эти проблемы, стала архитектура "клиент-сервер". Основной идеей этой архитектуры является разделение функций приложения на клиентские и серверные функции, которые обычно выполняются на разных машинах. На машине пользователя выполняется клиентский процесс, который управляет пользовательским интерфейсом, проверяет вводимые пользователем данные, реализует некоторую бизнес-логику и отправляет запросы серверному процессу. На сервере выполняется серверный процесс, обычно это процесс сервера базы данных. Все современные сервера баз данных (Oracle, Microsoft SQL Server, Interbase) поддерживают механизмы хранимых процедур и триггеров, при помощи которых можно реализовывать сложную бизнес логику приложений на сервере, тем самым облегчая и упрощая клиентскую программу. Общение между клиентами и сервером происходит посредством языка SQL (Structure Query Language) [34], с помощью которого клиент запрашивает необходимые данные с сервера и вносит изменения в данные, хранящиеся на сервере. Вышеописанная схема работы представляет собой первоначальную архитектуру "клиент-сервер", которая позднее получила название "двухзвенная архитектура клиент-сервер". С 1992 года большинство фирм-производителей инструментальных средств предложило на рынок интегрированные среды разработки приложений для этой архитектуры. Наиболее известные из них: Microsoft Visual Basic, Borland Delphi и Sybase PowerBuilder.
При всей привлекательности подхода он имеет некоторые недостатки. Выяснилось, что при увеличении количества клиентов (примерно больше 100) возникают проблемы с производительностью. Второй проблемой стало то, что каждый из производителей серверов БД вносил собственные расширения в SQL для написания хранимых процедур и триггеров, что создает заметные проблемы при смене сервера БД, так как при этом необходимо вносить изменения в большую часть серверного кода. Также довольно затруднительно в процессе эксплуатации программной системы произвести разделение серверной части между несколькими серверами (например, для разделения нагрузки).
Для решения этих проблем было предложено ввести промежуточный слой между клиентским слоем и серверным. Такая архитектура получила название "трехзвенная архитектура клиент-сервер", иногда ее называют "многозвенная архитектура клиент-сервер", так как в принципе функциональность промежуточного слоя может быть разделена еще между несколькими слоями. На промежуточный слой могут быть помещены функции организации очередей из клиентов, выполнение приложений, взаимодействия с БД, также могут выполняться мониторы транзакций [35] и так далее. Практическое использование этой технологии показало более высокую производительность и гибкость, чем при использовании двухуровневой технологии клиент-сервер, но платой за производительность и гибкость стало увеличение сложности разработки таких систем. Примерно на это же время (примерно 1994 год) приходится бурный рост пользователей Internet и количества Web серверов. Это было вызвано появлением первого графического многопротокольного браузера Mosaic, объединяющего программу просмотра HTML страниц, службу удаленного доступа к файлам (FTP) и другие, но серьезного влияния на технологии прикладных программных систем этот процесс не оказывал.
Дальнейшим развитием многоуровневой технологии клиент-сервер стало появление на промежуточном слое серверов приложений. В соответствии с этим подходом большая часть бизнес-логики приложения переносится с клиентской части на разделяемый сервер, а клиентский процесс отвечает только за представление информации. Этот подход дает несколько преимуществ разработчикам программных систем [36], основными из которых являются:
1) упрощение внесения изменений в приложение, так как они могут вноситься независимо в каждый из слоев;
2) улучшение масштабируемости всей системы, так как в качестве сервера можно использовать как однопроцессорный сервер для рабочих групп, так и многопроцессорные системы масштаба предприятия, такие как Sun Enterprise Server 10000 или IBM SP2;
3) уменьшение затрат на инсталляцию и поддержку ПО, так как обновления производятся только на сервере;
4) появление возможности более гибкого распределения нагрузки путем распределения серверов приложений по разным машинам.
Единственным минусом этой технологии является сложность создания систем в этой архитектуре.
Примерно в это же время появляется концепция Intranet, предложенная фирмой Sun. Это стало первым серьезным сигналом того, что пути развития приложений и web-технологий в будущем могут пересечься. Сущность этой концепции состоит в том, что прикладная программная система строится на принципах, протоколах и механизмах используемых в Web-технологии, а для разработки прикладного ПО используется язык Java, разработанный этой же корпорацией (далее будет описан подробно). Центральным элементом такой системы становится Web-сервер, на котором расположена информация в виде HTML страниц, графики, Java апплетов. В качестве основного средства для доступа к базам данных использовалась технологии CGI и Java JDBC. Универсальным интерфейсом такой системы стал Web-браузер, например Microsoft Internet Explorer или Netscape Navigator, который служит универсальным клиентом для доступа к информации как в Internet, так и к корпоративному информационному пространству. В то же время ограниченные возможности таких систем не позволили им заменить прикладные программные системы и они остались в качестве дополнения к существующему программному обеспечению.
Архитектуры прикладных программных систем продолжали свое развитие, следующим этапом которого стала идея распределенной компонентной архитектуры клиент-сервер. Сущность этой идеи состоит в том, чтобы создавать конкретные приложения, собирая их из готовых компонентов. Можно провести аналогию с компьютером, когда мы можем вставлять в слоты на материнской плате любые платы расширения, благодаря стандартным разъемам типа PCI или ISA, или каким-то другим. Точно также, имея стандарты на интерфейсы программных компонентов (имеются в виду интерфейсы взаимодействия, а не интерфейс пользователя) мы сможем свободно подключать требуемые компоненты или заменять их другими. Очень часто различные компоненты программной системы требуют реализации на разных языках и, возможно, разных аппаратных платформах, поэтому, чтобы обеспечить взаимодействие объектов и их интеграцию в единую систему, архитектура промежуточного уровня должна отвечать следующим базовым требованиям:
• Независимость от места нахождения объектов.
• Независимость от платформы.
• Независимость от языка реализации объекта.
Таким образом, появилась необходимость в стандартизации этих компонентов и механизмов их взаимодействия. Основой для этого послужили существующие стандарты сетевых протоколов.
Компонентные CORBA, Логика программные EJB, СОМ+ предметной
Заключение
В ходе выполнения настоящей работы автором получены следующие основные результаты:
1. Выполнен анализ предметной области и специфики ПО для исследований проблемы ЭБ и определены факторы, обуславливающие необходимость создания расширяемого ПО для проведения исследований.
2. На основе анализа тенденций развития современных информационных технологий обоснована необходимость создания для исследований энергетики программных комплексов нового поколения.
3. Сформулированы требования к ПК нового поколения, основными из которых являются:
• свойство расширяемости программного обеспечения в его современной трактовке;
• многослойная архитектура, предусматривающая использование серверов приложений и серверов баз данных;
• ориентация на работу в вычислительных сетях (как локальных, так и глобальных).
4. Предложен подход к созданию расширяемых ПК нового поколения, включающий в себя как архитектуру самого ПК, так и архитектуру компонентов.
5. Разработана методика построения расширяемых программных комплексов.
6. В соответствии с предлагаемым подходом разработан расширяемый программный комплекс ИНТЭК-2, клиентская часть которого реализует следующие основные функции: создание сценариев исследований; создание новых моделей на основе существующих; сохранение истории создания вариантов для каждого сценария исследований для используемых моделей; редактирование вариантов моделей в удобном для исследователя виде; оптимизация выбранного варианта модели.
7. Разработана и апробирована технология проведения исследований с применением разработанного инструментария.
Помимо приведенных результатов, автором была выполнена большая работа по исследованию возможностей применения искусственных нейросетей для оценки уровня энергетической безопасности [97-99]. Эти результаты автором на защиту не выносятся, но, тем не менее, могут послужить основой для дальнейшего развития исследований проблемы ЭБ.
Несмотря на то, что поставленные в работе задачи были успешно выполнены, работу, в свою очередь, можно считать очередным этапом, продолжение которой видится в развитии функциональных возможностей созданного ПК для оценки вариантов развития ТЭК с учетом сценариев возможных возмущений, например, привлечение геоинформационных технологий для интерпретации результатов расчетов и технологий искусственных нейронных сетей для оценки уровня энергетической безопасности.
Библиография Болдырев, Евгений Анатольевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ
1. Мелентьев J1.A. Системные исследования в энергетике. Элементы теории, направления развития.-М.: Наука, 1979. - 415 с.
2. Макаров А.А., Вигдорчик А.Г. Топливно-энергетический комплекс -М.: Наука, 1979.-279 с.
3. Макаров А.А., Кононов Ю.Д., Криворуцкий Л.Д. и др. Модели развития энергетики и согласование их решений.-Иркутск: СЭИ СО АН СССР, 1984198 с.
4. Криворуцкий Л.Д. Имитационная система для исследований развития топливно-энергетического комплекса.-Новосибирск: Наука. Сиб. отделение, 1983.-127 с.
5. Грищенко В.М., Массель Л.В. Информационное обеспечение исследований развития энергетики // Вопросы автоматизации исследований развития энер-гетики.-Иркутск: СЭИ СО АН СССР, 1983.-237 с.
6. Массель Л.В. Информационное обеспечение исследований топливно-энергетического комплекса СССР // Автореф. дис. канд. техн. наук. М.: МФТИ, 1982.-15 с.
7. Антонов Г.Н., Антонова Н.Н., Немоляев С.И., Фартышев Н.Н. Вычислительный комплекс ЭНЕРГИЯ. Особенности реализации и развития // Автоматизация исследований развития энергетического комплекса.-Иркутск: СЭИ СО АН СССР, 1986.-С. 5-21.
8. Ю.Болдырев Е.А. Подсистема редактирования информационных моделей в программном комплексе ИНТЭК / Материалы XXVIII конференции научной молодежи ИСЭМ СО РАН,-Иркутск: ИСЭМ СО РАН, 1999.-353 с. Деп. в ВИНИТИ 20.01.99 № 119-В99.-С. 18-29.
9. Массель JI.B., Макагонова Н.Н., Трипутина В.В., Болдырев Е.А., Демьянчик А.П. Система поддержки принятия решений по обеспечению энергетической безопасности Изв. РАН «Энергетика», №6, 2000 - С. 40-48.
10. Топливо и энергетика России. Справочник специалиста ТЭК / Под ред. Мастепанова A.M. М.: ИПРОэнерго, 1999 411 с.
11. Калюжный И.В. Топливно-энергетический комплекс: текущие проблемы и основные задачи на 2000 г. Энергетическая политика, Вып. 1-2 2000 - С. 8-21.
12. Троицкий А.А., Саенко В.В. ТЭК и экономика России. Современное состояние // Энергетическая политика.-1999.-Вып.4-5- С. 17-23.
13. Воропай Н.И., Клименко С.М., Криворуцкий Л.Д. О сущности и основных проблемах энергетической безопасности России // Энергетика-1996.-№ 3-с. 38-50.
14. Славин Г.Б., Чельцов М.Б. Энергетическая безопасность. Термины и определения // ИСЭМ СО РАН. Препр. №4. -Иркутск, 1999.-31 с.
15. Системные исследования проблем энергетики / Л.С. Беляев, Б.Г. Санеев, С.П. Филиппов и др.; Под ред. Н.И. Воропая.-Новосибирск: Наука. Издательская фирма РАН, 2000.-588 с.
16. Надежность систем энергетики: достижения, проблемы, перспективы / Г.Ф, Ковалев, Е.В. Сеннова, М.Б. Чельцов и др./ Под ред. Н.И. Воропая- Новосибирск: Наука. Сибирское предприятие, РАН, 1999,- 434 с.
17. Воропай Н.И., Клименко С.М., Криворуцкий Л.Д., Массель J1.B., и др. Энергетическая безопасность России (введение в проблему).-Иркутск: СЭИ СО РАН, 1997.-57 с.-(Препринт).
18. Энергетическая безопасность России / В.В. Бушуев, Н.И. Воропай, A.M. Мастепанов, Ю.К. Шафраник и др. Новосибирск: Наука. Сибирская издательская фирма РАН, 1998.-302 с.
19. Мелентьев JI.A., Веников В.А., Смирнов В.А., Руденко Ю.Н. Проблема надежности в топливо- и энергоснабжении //Изв. АН СССР. Энергетика и транспорт.-1973.-№5.-С. 3-12.
20. Криворуцкий Л.Д., Массель J1.B. Информационная технология исследований развития энергетики-Новосибирск: Наука, 1995.-е. 160.
21. Самарский А.А. Математическое моделирование и вычислительный эксперимент // Вестник АН СССР.-1979,-№5.-С.38-49.
22. Арзамасцев Д.А., Елохин В.Р., Криворуцкий Л.Д. и др. Имитационное моделирование развития систем энергетики.-Иркутск: СЭИ СО АН СССР, 1988196 с.
23. Шер И.А., Иващенко И.М., Массель Л.В., Шалагинов А.И. Проект автоматизированной системы решения задач оптимального отраслевого планирования // Вопросы повышения эффективности БЭСМ-б.-Иркутск: СЭИ СО АН СССР, 1976.-С. 181-185.
24. Дж. Фокс. Программное обеспечение и его разработка. -М.: Мир, 1982.-446 с.
25. Brooks. F. April 1987. No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer vol. 20(4).
26. Gray, Martha. M. Applicability of Metrology to Information Technology. Journal of Research of the National Institute of Standards and Technology. Vol. 104, Number 6, November-December, 1999. P. 567-578.
27. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++.-М.: «Издательство Бином», СПб: «Невский диалект», 1998 .-560 с.
28. Miller, G. March 1956. The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for processing Information. The Psychological Review vol. 63(2), p. 86.
29. Бобровский С. Тенденции программостроения. PC Week/RE, 15 мая 2001, С. 57-58.
30. ISO/IEC 9075:1992. Database Language SQL.
31. Ладыженский Г.М. Система обработки распределенных транзакций TUXEDO. Открытые системы №2, 1993. С. 25-28. •
32. Schussel, G. Client/Server: Past, Present and Future. http://news.dci.com/geos/dbseiava.html, на 15.02.2001.
33. Аншина M. Сервер приложений-не пуп Земли? Открытые системы № 5-6, 2000. С. 64-70.
34. Object Management Group. The Common Object Request Broker: Architecture and Specification. Revision 2.2, February 1998.39.0берг Р.Д. Технология COM+ . Основы и программирование. Практическое руководство.-М.: Вильяме, 2000 480 с.
35. Enterprise Java Beans Specification. http://iava.sun.com/products/ejb/download.html
36. Java Servlets Specification, http://java.sun.com/products/servlets/download.html
37. JavaServer Pages Specification, http://iava.sun.com/products/isp/download.html
38. Чейз H. Active Server Pages 3.0 на примерах. -M: Вильяме, 2001.-352 с.
39. Java 2 Platform, Enterprise Edition Specification.http://iava.sun.com/products/j2ee/download.html
40. JavaMail API Design Specification. http://java.sun.com/products/iavamail/download.html
41. JDBC API (JDBC Specification).http ://j ava. sun.com/products/j dbc/download.html
42. Remote Method Invocation Specification.http ://j ava. sun, com/products/rmi/download.html
43. Java transaction API (JTA Specification). http://java.sun.com/products/jta/download.html
44. Java 2 Platform Security Architecture http://java.sun.eom/products/idk/l ■3/docs/guide/security/spec/security-spec.doc.html
45. Москаленко О. Java-технология как средство создания современных корпоративных систем, Jet Info, № 5, 1999, С. 2-13.
46. Object Management Group. A Discussion of the Object Management Architecture. January 1997, 44 p.
47. Nygaard, K. and Dahl, 0-J. 1981. The Development of the Simula Languages, in History of programming Languages. NY: Academic Press.
48. The Java Tutorial: A Practical Guide for Programmer. http://iava.sun.com/docs/books/tutorial/index.html
49. Cardelli, L. and Wegner, P. On Understanding Types, Data Abstraction, and polymorphism. December, 1985. ACM Computing Surveys vol. 17(4).
50. Tesler, L. The Smalltalk Environment. Byte vol. (6) 8, 1981, p. 142.
51. Lim, J. and Johnson, R. The Heart of Object-Oriented Concurrent Programming. SIGPLAN Notices vol. 24 (4), 1989, p. 165.
52. Black, A., Hutchinson, N, Jul, E., Levy. H, and Carter, L. Distribution and Abstract Types in Emerald. Report 86-02-04. Seattle, WA: University of Washington.
53. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение.-СПб.: Питер, 2001.-736 с.
54. Перегудов Ф.И., Тарасенко Ф.П. Введение в системный анализ. -М.: Высш. шк., 1989.-367с.
55. Буч Г., Рамбо Д., Джекобсон А. UML-Руководство пользователя. -М.: ДМК, 2000.^132 с.
56. Mostow, J. Spring 1985. Toward Better Models of the Design process. A1 Magazine vol.6(l), p.44.
57. Eastman, N. 1984. Software Engineering and Technology. Technical Directions vol. 10 (1): Bethesda, MD: IBM Federal Systems Division, p.5.
58. Stroustroup, B. The С++ Programming Language, Seconf Edition. Reading, MA: Addison -Wesley.
59. Мост из Internet к сетям хранения. Открытые системы, № 3, 2001, С.7
60. Брукс Ф. Как создаются программные комплексы или мифический человеко-месяц.-СПб.: Символ-Плюс.-304 с.
61. Криворуцкий Л.Д., Санеев Б.Г., Ханаев В.А., Яськова Э.Н. Проект автоматизированной системы решения задач оптимального планирования для ЭВМ БЭСМ-6 // Вопросы повышения эффективности БЭСМ-б.-Иркутск: СЭИ СО АН СССР, 1976.-С. 177-181.
62. Волошин Г.Н. Организация диалога в процессе исследований развития энергетики // Вопросы автоматизации исследований развития энергетики-Ир-кутск: СЭИ СО АН СССР, 1983.-С. 48-58.
63. Макагонова Н.Н., Массель Л.В., Якубенко Э.В. Средства описания и генерирования таблиц.-Иркутск: СЭИ СО АН СССР, 1983.-32 с.-(Препринт).
64. Макагонова Н.Н., Массель J1.B. Один подход к генерированию таблиц из пакета прикладных программ // Комплексы программ математической физики (Материалы VIII Всесоюз. семинара).-Новосибирск, 1984.-С. 179-183.
65. Бумагин В.И., Макагонова Н.Н., Массель JI.B. и др. Организация информационного обеспечения исследований систем энергетики на основе СУБД
66. СПЕКТР // Системы энергетики: Управление развитием и функционирова-нием.-Иркутск: СЭИ СО АН СССР, 1986.-С. 32-41.
67. Шапот Д.В., Лукацкий A.M., Герасимов Н.А. Модельно-информационный комплекс специалиста в области управления сложными системами (на примере ТЭК страны).-М.: ИНЭИ, 1991.-82 с.
68. Антонов Г.Н. Автоматизация исследований развития энергетического комплекса СССР с учетом живучести // Автореф. дис. канд. техн. наук. Иркутск: СЭИ СО РАН, 1986. - 25 с.
69. Горбунов-Посадов М.М. Расширяемые программы. -М.: Полиптих, 1999336 с.
70. Ambler S. A Realistic Look at Object-Oriented Reuse. Software Development, #1, 1998, http://ww.sdmagazine.com/articles/1998/9801/9801 a/9801 a.htm
71. Biddle, R., Tempero, E. Understanding OOP Language Support for Reusability. Proceedings of Workshop on Instituonalizing Software Reuse (WISR), 1995.
72. Hong, S., Koeler, B. A Comparison of Software Reuse Support in Object- Oriented Methodologies, Proceedings of IRMA'95, 1995.
73. Пешио К. Никлаус Вирт о культуре разработки ПО. Открытые системы, №1, 1998, С. 41-44.
74. Krishnamurthi, Sh., Felleisen, М. Toward a Formal Theory of Extensible Software. The Sixth ACM-SIGSOFT Symposium on the Foundation of Software Engineering, 1998.
75. Szipersky, C. Independently Extensible Systems-Software Engineering Potential and Challenges. Proceedings of the 19th Australian Computer Science Conference, Melbourne, Australia, January 31- February 2, 1996.
76. Болдырев E.A. Подход к созданию объектно-ориентированных программ с расширяемой функциональностью // Системные исследования в энергетике
77. Труды молодых ученых ИСЭМ СО РАН, вып.31). Иркутск: ИСЭМ СО РАН, 2001,-С. 193-198.
78. Болдырев Е.А. Современные архитектуры и технологии построения программных комплексов / Под ред. J1.B. Массель.-Иркутск: ИСЭИ СО РАН, 2001.-54 с.
79. Glenn Е. Krasner and Stephen Т. Pope. A cookbbook for using the model-view-controller user interface paradigm in Smalltalk-80. Journal of Object-oriented Programming, 1998, 1(3), P. 26-49.
80. Гамма Э., Хели P., Джонсон P., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования-СПб: Питер, 2001.-368 с.
81. Alexander, С. The Timeless Way of Building. Oxford University Press, 1979, 568 P
82. Alexander, C., Ishikawa , S., and Silverstein, A. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977, 1216 p.
83. Gamma, E. Object-Oriented Software Development based on ET++: Design Patterns, Class Library, Tools. PhD Thesis. University of Zurich. Institut for Infor-matik, 1991. (In German).
84. Кнут Д.Э. Искусство программирования (в трех томах). -М.:Вильямс, 2001. (Т.1 720 е., Т.2 -832 е., Т.З - 832 с.)
85. Glasner, A. Graphics Gems. Academic press, Boston, MA, 1990, 864 p.
86. Arvo, J. Graphics Gems II. Academic press, Boston, MA, 1991, 672 p.
87. Kirk, D. Graphics Gems III. Harcourt, Brace, Jovanovich, Boston, Ma, 1992, 6451. P
88. Эккель Б. Философия Java. Библиотека программиста.-СПб: Питер, 2001 -880 с.
89. Meyer, В. Object-Oriented Software Construction. New York, NY: Prentice-Hall, 1988,1296 р.
90. De Champeaux, D., Lea, D., Faure, P. Object-Oriented System Development. Addison-Wesley, 1993, 532 p.
91. Трипутина B.B. Разработка инструментария для исследований направлений развития ТЭК (с учетом требований энергетической безопасности) // Авто-реф. дис. канд. техн. наук. Иркутск: ИСЭМ СО РАН, 1999. - 25 с.
92. Уилсон С., Мэйплс Б., Лэндгрейв Т. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD: Пер. с англ. М.: Из-дательско-орговый дом «Русская Редакция», 2000. - 608 с.
93. Venners, В. Inside the Java Virtual Machine. McGraw-Hill Computing, 1999, 6241. P
94. Болдырев E.A. Оценка уровня энергетической безопасности с привлечением искусственных нейронных сетей //Современные подходы к анализу и обработке информации. Иркутск: ИСЭМ СО РАН, 2000. -С. 147-153.
95. Болдырев Е.А. Применение нейронных сетей для оценки уровня энергетической безопасности // Системные исследования в энергетике. Иркутск: ИСЭМ СО РАН, 2000.- С. 240-245 (Труды молодых ученых ИСЭМ СО РАН, вып.ЗО).
96. Массель JI.B., Болдырев Е.А. Оценка уровня энергетической безопасности с использованием нейросетей // Труды конференции «Нейроинформати-ка-2001», Москва, 2001,- С. 21-27.
97. Lewis, Т. The Big Software Chill-Computer, 3/96, pp. 12-14.
98. Вендров A.M. Проектирование программного обеспечения экономических информационных систем.-М.: Финансы и статистика, 2000.-352 с.
99. Маклаков Е.А. BPWin и ERWin. CASE-средства разработки информационных систем. -М.: Диалог-МИФИ, 2000 256 с.
100. Боггс М., Боггс У. UML и Rational Rose: Секреты эффективного проектирования сопровождаемых объектно-ориентированных приложений. М.: Лори, 2000. - 582 с.
101. The Java Language Specification. http://java.sun.com/docs/books/ils/index.html
102. The Java Virtual Machine Specification. http://iava.sun.com/docs/books/vmspec/index.html
103. JavaBeans Specification, http://java.sun.com/products/beans/download.html
104. Remote Method Invocation Specification. http ://j ava. sun .com/ products/rmi/download .html
105. RMI over HOP. http://iava.sun.com/products/rmi-iiop/
106. Java IDL. http://java.sun.eom/products/jdk/l.3/docs/guide/idl/index.html
107. Sun Withdraws Java from Standards Process. Computer, Feb. 2000, p. 23.
108. Jepsen, T. Don't Know Beans? Try Java. IT Professional, April 2000, p. 30.
-
Похожие работы
- Модели, методы и базовые программные компоненты для создания вычислительной инфраструктуры исследований в энергетике
- Система поддержки индикативного анализа энергетической безопасности России
- Инструментальная поддержка процедурно-параметрической парадигмы программирования
- Метод и технологии семантической обработки информации для государственного и муниципального управления
- Расширяемая переносимая система программирования, основанная на биязыковом подходе
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность