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

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

Автореферат диссертации по теме "Исследование и разработка методов построения распределенных систем автоматизированного проектирования на основе технологии веб-сервисов"

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

Анисимов Денис Андреевич

ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ НА ОСНОВЕ ТЕХНОЛОГИИ ВЕБ-СЕРВИСОВ

Специальность: 05. 13. 12 - Системы автоматизации проектирования (промышленность)

Автореферат диссертации на соискание ученой степени кандидата технических наук

1 6 МАЙ Ш

Санкт Петербург 2013

005058030

Работа выполнена в федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), кафедра системы автоматизированного проектирования

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

доктор технических наук, профессор Дмитревич Геннадий Даниилович Официальные оппоненты:

доктор технических наук, профессор, «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), кафедра автоматизированные системы обработки информации и управления Кутузов Олег Иванович

кандидат технических наук, Открытое Акционерное Общество "Концерн «НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ «АВРОРА», начальник лаборатории Пахоменков Юрий Михайлович

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

заседании диссертационного совета Д212.238.02 Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И. Ульянова (Ленина) по адресу: 197376, г.Санкт-Петербург, ул. Профессора Попова, д. 5.

С диссертацией можно ознакомиться в библиотеке СПбГЭТУ

Автореферат разослан « РЛ> 2013 г.

Ученый секретарь

Диссертационного совета Д212.238.02 "' ' Н. М. Сафьянников

Защита диссертации состоится

часов на

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

Актуальность исследования

Широкое внедрение систем автоматизированного проектирования в практику инженерных задач существенно ограничивается высокой стоимостью лицензионного программного обеспечения. Наряду с этим создание собственных САПР связано с огромными затратами ресурсов и не может быть реализовано в сжатые строки, так как на разработку современных САПР требуются сотни человеколет. Проблема усложняется также и потому, что в реальных ситуациях эксплуатации многофункциональные интегрированные САПР используются, как правило, крайне неэффективно, поскольку при решении конкретных задач из основного состава этих систем часто применяется не более 10-20% программного обеспечения, наиболее специфичного для каждого подразделения.

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

Самым эффективным методом объединения подсистем в распределенное приложение следует считать организацию удаленного вызова процедур на базе сервис-ориентированной архитектуры с использованием веб-сервисов. Интеграция на базе веб-сервисов при разработке децентрализованных САПР позволяет перейти к описанию интерфейсов и взаимодействий на базе XML, обеспечивая возможность модификации и развития построенного программного обеспечения в условиях сохранения выбранного интерфейса. Это позволяет вследствие слабосвязанности отдельных подсистем обеспечивать взаимодействие между сервисами на произвольной платформе и проводить адаптацию существующих приложений к меняющимся условиям проектирования.

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

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

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

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

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

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

Цель работы и основные задачи исследования

Настоящая диссертация посвящена исследованию и разработке методов построения платформенно-независимых распределенных САПР с использованием веб-сервисов. Для конкретной реализации выбрана задача разработки распределенной системы автоматизации схемотехнического проектирования.

Для достижения поставленной цели следует решить следующие задачи:

1. Разработать общую методику построения, автономного тестирования и развертывания на выбранном сервере веб-сервисов Java.

2. Выполнить исследование общих методов построения программного обеспечения веб-сервисов Java для распределенной системы автоматизации схемотехнического проектирования.

3. Исследовать и разработать методику построения веб-сервисов Java с использованием технологии сжатия данных.

4. Провести исследование и разработку общей методики

построения шаблонов клиентских приложений консольного и оконного типов, а также клиентских веб-приложений.

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

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

При выполнении поставленных задач в диссертации использованы основы общей теории САПР, тория систем моделирования, основы теории матриц и графов.

Достоверность научных результатов

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

Новые научные результаты

1. Предложена сервис-ориентированная архитектура распределенной САПР с использованием веб-сервисов.

2. Разработана общая методика реализации, автономного тестирования, а также развертывания на сервере распределенной САПР веб-сервисов Java.

3. Исследованы и разработаны методы построения программного обеспечения веб-сервисов Java для решения типовых задач проектирования электронных схем.

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

5. Разработана общая методика построения консольных и оконных клиентских приложений, а также клиентских веб-приложений.

6. Разработана методика реализации программного обеспечения распределенной САПР для организации взаимодействия в гетерогенных средах веб-сервисов и клиентских приложений.

Основные положения, выносимые на защиту

1. Архитектура распределенной сервис-ориенировнной САПР на основе веб-сервисов.

2. Общая методика восходящего проектирования веб-сервисов Java

3. Методика реализации программного обеспечения веб-сервисов Java на основе сжатия данных.

Практическая ценность

1. Предложенная структура распределенной САПР обеспечивает возможность организовать взаимодействие между различными веб-сервисами на выбранной платформе и адаптировать приложения к изменяющимся условиям проектирования.

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

3. Разработанная методика реализации клиент-серверного

взаимодействия обеспечивает работу распределенных САПР в средах

гетерогенного типа.

4. Программное обеспечение разработанной распределенной системы автоматизации схемотехнического проектирования содержит инвариантное ядро для организации как символьного, так и численного этапов работы Java-nporpaMM, которое можно использовать в качестве базы при построении систем проектирования широкого перечня объектов.

Реализация и внедрение результатов

Разработанная в диссертации распределенная САПР с использованием веб-сервисов была реализована на языке Java с использованием платформы WTP (Web Tools Platform). Практическим результатом является платформенно-независимая распределенная схемотехническая САПР, которая осуществляет многовариантное моделирование нелинейных схем в стационарном режиме, в динамическом режиме, для расчета частотных характеристик, а также обеспечивает расчет чувствительности передаточных функций и чувствительности переменных стационарного режима к вариации параметров.

Результаты диссертационной работы использовались в госбюджетных НИР по теме «Разработка моделей и методов анализа и синтеза интеллектуальных систем поддержки принятия решений для управления сложными распределенными объектами» (шифр САПР-47 тем. плана СПбГЭТУ 2011 г.) и по теме «Математико-логические основы построения сред виртуальных инструментов» (шифр САПР-49 тем. плана СПбГЭТУ 2012 г.)

Результаты диссертации внедрены в инженерную практику научно-производственной фирмы «Модем» и используются в учебном процессе кафедры САПР СПБГЭТУ для изучения методики построения программного обеспечения систем автоматизации схемотехнического проектирования при подготовке бакалавров и магистров по направлению «Информатика и вычислительная техника».

Апробация работы

Основные положения диссертации докладывались и обсуждались на

следующих конференциях:

1. 9-ая конференция молодых ученых «Навигация и управление

движением».- СПб.;

2. 5-ая международная конференция «Приборостроение в экологии и безопасности человека».- СПб., ГУАП;

3. XIII, XIV, XVII -ая международные конференции « Современное образование: содержание, технологии, качество». - СПб., СПбГЭТУ;

4. 60, 61, 63-ая научно-технические конференции профессорско-преподавательского состава ГЭТУ.

Публикации

Основное теоретическое и практическое содержание диссертации опубликовано в 16 научных работах, в числе которых 5 статьи в ведущих

рецензируемых изданиях, рекомендованных в действующем перечне ВАК, 1 свидетельство об официальной регистрации программы для ЭВМ, зарегистрированной в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам, 11 работ в других изданиях и материалах конференций.

Структура и объем диссертации

Диссертация содержит введение, четыре главы основного содержания, заключение и список литературы, содержащий 69 источников. Работа изложена на 154 страницах текста, и содержит 21 рисунок и одну таблицу.

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

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

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

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

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

Для построения распределенных САПР в диссертации предлагается использовать сервис-ориентированную архитектуру (SOA) на основе модульной структуры программного обеспечения и стандартизированных интерфейсов. SOA использует унификацию основных операционных процессов, принципы неоднократного применения функциональных элементов, организацию на базе платформы интеграции. Хотя архитектура SOA не связана с какой-то определённой технологией удаленного вызова процедур, программные подсистемы, разработанные согласно с SOA, обычно реализуются как совокупность веб-сервисов, связанных при помощи основных протоколов (SOAP, WSDL).

Системы на основе сервис-ориентированной архитектуры относятся к классу мультиагентных систем (MAC), которые образованы несколькими

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

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

Конкретная методика реализации веб-сервисов существенно зависит от выбранного языка программирования. В работе показано, что предпочтение при выборе языка программирования для построения веб-сервисов следует отдать языку Java, который наиболее полно обеспечивает платформенную независимость реализованных решений. Немаловажным обстоятельством в пользу такого выбора является также наличие мощной инструментальной поддержки разработки веб-ориентированных приложений на Java, которая обеспечивается средой WTP (Web Tools Platform).

В диссертационной работе проведен сравнительный анализ двух основных методов построения веб-сервисов Java - восходящего (Bottom-Up), когда сначала создается Java-класс веб-сервиса, а затем на его основе генерируется WSDL-документ, и нисходящего (Top-Down), когда сначала создается требуемый документ WSDL, а затем на его базе формируется код реализации веб-сервиса. На основании сравнительной оценки показано, что проектирование веб-сервисов следует выполнять восходящим методом, поскольку при этом WSDL-документ формируется на основании созданного заранее Java-ioiacca, в котором описаны все передаваемые методу веб-сервиса параметры и возвращаемые этим методом значения. При этом вся имеющаяся в Java-Knacce информация автоматически преобразуется в соответствующий WSDL-документ, содержание которого точно соответствует базовой структуре спецификации WSDL и основным характеристикам вызываемого метода веб-сервиса, что обеспечивает полную достоверность содержащейся в WSDL-документе информации.

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

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

В диссертации приводится методика организации вызова информационного метода веб-сервиса непосредственно из интегрированной среды разработки 1ауа-приложений, в которой по ЦЯЬ-адресу веб-сервиса можно получить доступ к Боар-ответу информационного метода, и к содержанию его возвращаемого значения.

Во второй главе рассматриваются методы построения веб-сервисов распределенной САПР, при помощи которой осуществляется расчет нелинейных схем в стационарном режиме, расчет схемных функций линейных и линеаризованных схем для частотной области, выполняется расчет нелинейных схем в динамических режимах. Помимо этого, в число включаемых в распределенную систему подсистем входит веб-сервис для расчета чувствительности схемных функций в частотной области, и веб-сервис для расчета чувствительности переменных стационарного режима нелинейных схем к вариации параметров. В качестве компонентов проектируемых на базе разработанных веб-сервисов схем можно использовать двухполюсники типа Я, С, Ь, линейные частотно-зависимые управляемые источники, нелинейные управляемые источники, трансформаторы, биполярные и униполярные транзисторы, операционные усилители, а также задающие источники тока и напряжения.

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

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

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

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

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

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

уравнений алгебро-дифференциального типа. Исключение производных из компонентных уравнений выполняется на основе формул коррекции, которые вытекают из многошаговых неявных методов высших порядков, при этом принят в качестве основного метод Гира второго порядка с возможностью увеличения его порядка. В качестве компонентов, из уравнений которых исключаются производные, выступают двухполюсники типа С и Ь, диоды, трансформаторы, биполярные и униполярные транзисторы, операционные усилители, а также частотно-зависимые управляемые источники. Для вычисления значений автономных источников, сохраняющих значения соответствующих переменных на предшествующих шагах, построены вспомогательные функции дискретизации сИз_стр для всех перечисленных компонентов сшр с частотно-зависимыми свойствами. Разработанная методика реализована при построении веб-сервиса Буп28етсе_1ауа, который возвращает на клиентскую сторону массив с описанием результатов расчета динамических характеристик.

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

В диссертационной работе проведен анализ эффективности возможных методов преобразования данных в компактные массивы, на основании которого сделан вывод о целесообразности выбора метода, основанного на использовании сжатия по Шерману и требующего для реализации двухэтапной процедуры выполнения символьной и численной обработки данных. Существенным достоинством принятой двухэтапной процедуры ' является разделение ее на две независимые части символьного и численного этапа. Поскольку практически все реальные задачи проектирования схем связаны с многовариантным расчетом схемы неизменной структуры, то символьный этап выполняется для каждой структуры единственный раз, тогда как численный этап реализуется десятки, сотни, а иногда и тысячи раз. Однако, двухэтапная процедура характеризуются довольно сложной логикой построения программного кода и при переходе к описанию на основе сжатия данных требуется существенное изменение созданного ранее полного описания задачи.

В диссертации рассмотрена блок-схема реализации двухэтапной обработки данных при построении 1ауа-приложений, согласно с которой на этапе символьного анализа формируется индексная матрица целого типа, для которой проводится символьный этап Ш-факторизации, где выполняется упорядочивание строк (столбцов) с целью минимизации числа вновь

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

На численном этапе согласно с известным форматом описания осуществляется формирование компактных матриц и выполняется их виртуальная численная Ш-факторизация на основе построенного в работе алгоритма. После завершения численного этапа ЬИ-факторизации выполняется расчет всех переменных системы и их перекодировка согласно проведенным на этапе символьной обработки перестановкам строк (столбцов). Такая задача согласно с общей методикой Ш-факторизации обычно решается при помощи обратного и прямого хода по строкам исходной матрицы, но, поскольку полная матрица при использовании сжатия данных отсутствует, то, как прямой, так и обратный ход, выполняются при помощи специальных алгоритмов, реализующих эти задачи с использованием сжатия данных.

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

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

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

Основанный на дифференцировании уравнений метод веб-сервиса УагуБетсе позволяет рассчитать значения абсолютной и относительной

векторной чувствительности схемных функций для частотной области к выбранному вариируемому параметру для всей совокупности базисных переменных. В качестве вариируемых параметров могут выступать значения сопротивления, емкости, или индуктивности произвольного двухполюсника схемы типа II, С или Ь, и параметры передач управляемых частотно-зависимых источников типа ИТУН, ИНУН, ИТУТ или ИНУТ.

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

Для расчета чувствительности переменных, задающих стационарный режим нелинейных схем, к вариации их параметров, разработан веб-сервис З^агуБегуюе, который так же содержит два метода, один из которых основан на дифференцировании уравнений, а второй - на присоединенной схеме. В качестве вариируемого параметра в обоих методах могут выступать значения сопротивлений резисторов и параметры передачи управляемых источников типа ИТУН, ИНУН, ИТУТ или ИНУТ.

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

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

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

развернуты на сервере распределенной САПР. Для развертывания веб-сервиса необходимо знать его основные характеристики, в числе которых имя сервиса, имя класса, имена методов, тип WSDL-документа. Соответствующая информация о разработанных и описанных выше веб-сервисах для распределенной системы схемотехнического проектирования приводится в диссертации, и в информационных методах с именем getlnf, которые входят во все разработанные веб-сервисы. В работе предлагается простая методика непосредственного развертывания на сервере веб-сервисов, и рассматриваются возможные способы импортирования на клиентскую сторону файла WSDL. На основании сравнительного анализа в работе показывается, что корректность выполнения операции доставки WSDL-файла из удаленного веб-сервиса в клиентское приложение наиболее эффективно может быть обеспечена путем использования инструмента Web Services Explorer, и устанавливается наиболее оптимальная последовательность импортирования WSDL-файла в начальный каркас клиентского приложения.

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

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

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

Клиентские приложения оконного типа предоставляют наибольшие возможности для функционирования в распределенной САПР, поскольку

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

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

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

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

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

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

Стандартизация SOAP предоставляет возможность соединения между собой слабосвязанных приложений независимо от платформы их реализации, что позволяет при использовании веб-сервисов обеспечить эффективное и оптимальное использование широкого ряда гетерогенных, слабосвязанных ресурсов в распределенных приложениях. В диссертации приводится общая методика построения программного обеспечения для осуществления взаимодействия объекта прокси-класса приложения среды .NET с сервисом среды Java/J2EE. На основании этой методики реализована организация взаимодействия разработанных веб-сервисов Java с клиентскими Windows-приложениями, построенными в среде .NET на основе языка С#. Возможность функционирования распределенной САПР в гетерогенных средах существенно расширяет область ее применения.

В заключении сформулированы основные научные и практические результаты, полученные на основе проведенных в диссертации исследований.

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

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

2. Реализована общая методика построения восходящим методом веб-сервисов Java и соответствующих WSDL-документов, а также доставки их на сервер распределенной САПР после проведения автономного тестирования в среде разработки.

3. Разработана методика построения программного обеспечения веб-сервисов Java для решения типовых задач моделирования непрерывных систем при автоматизированном проектировании электронных схем.

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

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

6. Разработана методика построения распределенных САПР, обеспечивающая взаимодействие веб-сервисов Java и клиентских приложений произвольного типа в гетерогенных средах.

Список опубликованных работ по теме диссертации

Публикации в изданиях, рекомендованных ВАК России:

1. Анисимов Д.А. Построение систем автоматизированного проектирования на основе Web-сервисов [Текст] / Анисимов Д.А. Гридин

B.Н., Дмитревич Г.Д. // Автоматизация в промышленности - 2011. - №1 -

C. 9-12.

2. Анисимов Д.А. Построение систем автоматизированного проектирования на основе Web-технологий [Текст] / Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А II Информационные технологии — 2011. — №5. — С. 23-27.

3. Анисимов Д.А. Построение веб-сервисов систем автоматизации схемотехнического проектирования [Текст] / Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А // Информационные технологии и вычислительные системы -

2012,- №4. -С. 79-84.

4. Анисимов Д.А. Методы построения систем автоматизации схемотехнического проектирования на основе веб-сервисов [Текст] /Анисимов Д.А // Известия СПбГЭТУ «ЛЭТИ» - 2012. - №10. - СПб.: Изд-во СПбГЭТУ «ЛЭТИ»С. 56-61.

5. Анисимов Д.А. Доступ к Web-pecypcaM в САПР систем навигации и управления [Текст] / Ларистов Д.А., Анисимов Д.А. // Гироскопия и навигация. 2007. № 2. -С. 106.

Другие статьи, материалы конференций и зарегистрированные программы:

6. Анисимов Д.А. Программа для ЭВМ «Клиентское приложение для организации взаимодействия с веб-сервисами распределенной САПР (MNS_Cons_WinClientl)». Свидетельство о государственной регистрации программы для ЭВМ №2012618303 / Дмитревич Г.Д., Анисимов Д.А. //Заявка №2012616294; Зарегистрировано в Реестре программ для ЭВМ 13.09.2012.

7. Анисимов Д.А. Построение встроенного WEB-интерфейса в системах автоматизации проектирования [Текст] / Ларистов Д.А., Анисимов Д.А. // Известия Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И.Ульянова (Ленина), сер. «Информатика, управление и компьютерные технологии» - 2007. - №2.-СПб.: Изд-во

СПбГЭТУ «ЛЭТИ», - С. 63-66.

8. Анисимов Д.А. Использование WEB-интерфейса в прикладных программных системах экологического мониторинга [Текст] / Ларистов Д.А., Анисимов Д.А. // Труды 5-ой международной конференции «Приборостроение в экологии и безопасности человека».- СПб., ГУАП,

31.01.2007.-С. 286-288.

9 Анисимов Д.А. Принципы построения синтаксических анализаторов на языке Java [Текст] / Анисимов Д.А // Известия СПбГЭТУ «ЛЭТИ» - 2008. -№3. - СПб.: Изд-во СПбГЭТУ «ЛЭТИ»,- С. 3 6-41.

10 Анисимов Д.А. Сравнительная оценка Java-технологии [Текст] / Анисимов Д.А., Ларистов Д.А. // Материалы XIII международной

конференции «Современное образование: содержание, технологии, качество». Том 1. - СПб., СПбГЭТУ, 19.04.2008. - С. 134-136.

11. Анисимов Д.А. Платформенно зависимые и. независимые системы: сравнительная оценка и методы взаимодействия [Текст] / Анисимов Д.А. // Материалы XIV международной конференции «Современное образование: содержание, технологии, качество». Том 1. - СПб., СПбГЭТУ, 23.04.2008.-С. 212-213.

12. Анисимов Д.А. Автоматизация построения и тестирования программных продуктов в ишх-подобных операционных системах [Текст] / Анисимов Д.А // Известия СПбГЭТУ «ЛЭТИ» - 2009. - №2. - СПб.: Изд-во СПбГЭТУ «ЛЭТИ», - С. 35-41.

13. Анисимов Д.А. Описание электронных аналоговых схем с помощью иерархической хш1 структуры [Текст] / Анисимов Д.А. //Сборник докладов студентов, аспирантов и молодых ученых, 2010. - СПб.: Изд-во СПбГЭТУ «ЛЭТИ»,-С. 126-132.

14. Анисимов Д.А. Программное обеспечение систем дистанционного обучения на основе Интернет-технологий [Текст] / Анисимов Д.А. // Материалы XVII международной конференции «Современное образование: содержание, технологии, качество». Том 2. -СПб., СПбГЭТУ, 20.04.2011. - С. 169-171.

15. Анисимов Д.А. Распределенные системы автоматизированного проектирования на основе сервис-ориентированной архитектуры [Текст] / Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А. //Труды международной научно-технической конференции 2011 «Информационные технологии и математическое моделирование систем» - М.: ЦИТП РАН, 2011, - С. 48-50.

16. Анисимов Д.А. Методы повышения эффективности функционирования Web-cepвиcoв распределенных систем автоматизированного проектирования [Текст] / Дмитревич Г.Д., Анисимов Д.А. //Труды международной научно-технической конференции 2012 «Информационные технологии и математическое моделирование систем» -М.: ЦИТП РАН, 2012, - С. 49-50.

Подписано в печать 19.03.2013. Формат 60x84 1/16. Бумага офсетная. Печать офсетная. Печ. л. 1,0. Гарнитура «Times New Roman». Тираж 100 экз. Заказ 98. Отпечатано с готового оригинал-макета в ООО «Технолит» 197101, С.-Петербург, ул. Кронверкская, д. 12, лит. А, пом. 2н

Текст работы Анисимов, Денис Андреевич, диссертация по теме Системы автоматизации проектирования (по отраслям)

Санкт-Петербургский государственный электротехнический университет

"ЛЭТИ" им. В.И. Ульянова (Ленина)

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

Анисимов Денис Андреевич

Исследование и разработка методов построения распределенных систем ! автоматизированного проектирования на основе технологии веб-

сервисов

05. 13. 12 - Системы автоматизации проектирования (промышленность)

К со 00 (О

ю со

со

Б

см

со о

СМ £

Диссертация на соискание ученой степени кандидата технических наук

Научный руководитель доктор технических наук, профессор Дмитревич Геннадий Даниилович

Санкт-Петербург - 2013

Оглавление

Введение......................................................................................4

Глава 1. Общая методика построения распределенных систем на основе веб-сервисов .......................................................................................8

1.1. Сервис-ориентированная архитектура.........................................8

1-2. Методика построения веб-сервисов Java.....................................17

1-3. Предварительное тестирование веб-сервисов...............................25

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

2-1. Математическое обеспечение систем автоматизации схемотехнического проектирования............................................30

2-2. Веб-сервис для проектирования линейных систем в частотной

области...............................................................................39

2-3. Веб-сервис для расчета стационарного режима нелинейных систем...46

2-4. Сервис-ориентированная интегрированная система для частотного

анализа линеаризованных схем.................................................54

2-5. Веб-сервис для расчета нелинейных систем в динамическом режиме..............................................................................60

Глава 3. Построение веб-сервисов на основе методов сжатия данных.........70

3-1. Методы устранения нулевых элементов при хранении и обработке матриц................................................................................70

3-2. Методика разработки модифицированных версий веб-сервисов.......75

3-2-1. Модификация на символьном этапе....................................75

3-2-2. Модификация на численном этапе......................................80

3-3. Веб-сервис для расчета чувствительности схемных функций к

вариации параметров..............................................................84

3-3-1. Построение метода веб-сервиса на основе дифференцирования

уравнений.............................................................................84

3-3-2. Метод веб-сервиса на основе присоединенной схемы..............90

3-4. Веб-сервис для расчета чувствительности переменных стационарного режима.............................................................95

3-4-1. Построение метода веб-сервиса для расчета векторной чувствительности переменных...........................................95

3-4-2. Метод веб-сервиса для расчета скалярной

чувствительности переменных......................................100

Глава 4. Методы построения клиентских приложений распределенных САПР.......................................................................................104

4-1. Методика построения клиентских приложений на основе WSDL-документа............................................................................104

4-1-1. Развертывание веб-сервисов на сервере Apache Tomcat.........104

4-1-2. Методика импортирования файла WSDL и построения

каркаса клиентского приложения....................................108

4-2. Клиентские приложения распределенной системы

схемотехнического проектирования.........................................114

4-2-1. Методика построения консольных клиентов......................114

4-2-2. Методика построения оконных клиентских приложений.......119

4-2-3. Методика построения клиентских веб- приложений..............124

4-3. Развертывание клиентских Java-приложений..............................133

4-3-1. Развертывание клиентских Java-приложений, запускаемых

из командной строки......................................................133

4-3-2. Развертывание клиентских Java-приложений, запускаемых

из веб-броузера.................................................................136

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

сервисами в гетерогенных средах..........................................139

Заключение.................................................................................147

Список литературы.......................................................................149

Введение

Широкое внедрение систем автоматизированного проектирования в практику решения инженерных задач существенно ограничивается высокой стоимостью лицензионного программного обеспечения САПР. Вместе с тем создание собственных систем автоматизированного проектирования связано с огромными затратами ресурсов и не может быть реализовано в сжатые строки, так как на разработку современных САПР требуются сотни человеколет. Проблема усложняется также и тем, что в реальных ситуациях эксплуатации многофункциональные интегрированные САПР (например, Micro-Cap 7, PSPICE, DISPC [40, 64, 3, 21]) используются, как правило, крайне неэффективно, поскольку в процессе решения конкретных задач из базового программного обеспечения этих систем часто применяется не более 10-20% программного обеспечения, наиболее специфичного для каждого подразделения.

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

(возможно, на коммерческой основе) потребителям.

Наиболее эффективным методом интеграции отдельных подсистем в распределенное приложение является удаленный вызов процедур на основе сервис-ориентированной архитектуры с использованием технологии веб-сервисов [22, 31, 41, 42, 43, 57, 60, 65]. Интеграция на основе веб-сервисов при разработке децентрализованных САПР позволяет перейти к описанию интерфейсов и взаимодействий на основе XML, обеспечивая возможность модификации и развития программного обеспечения при условии сохранения выбранного интерфейса. Это позволяет вследствие слабосвязанности отдельных подсистем обеспечивать взаимодействие между различными сервисами на любой платформе и проводить адаптацию существующих приложений к меняющимся условиям проектирования.

Основная нагрузка по выполнению вычислительных операций при такой архитектуре ложится на веб-сервисы, которые решают все задачи моделирования проектируемых систем, на клиентские приложения возлагаются только простейшие функции подготовки исходных данных и отображения результатов моделирования [23, 42]. При построении САПР на основе технологии веб-сервисов могут быть реализованы следующие типы клиентских приложений: приложение консольного типа, приложение оконного типа и веб-приложение.

Особенностью консольных приложений является отсутствие графического интерфейса однако их использование может оказаться полезным при реализации простейших САПР для карманных компьютеров с небольшой площадью экрана.

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

Веб-приложения обеспечивает возможность полностью разместить все

программное обеспечение распределенной системы проектирования в сети Интернет. Достоинством приложения такой структуры является открытый доступ к использованию распределенной САПР через броузер любого типа, недостатком приложения такого типа является увеличение времени, необходимого для ввода описания компонентов моделируемой системы, вызванное ожиданием реакции на каждом шаге ввода исходных данных.

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

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

Для достижения поставленной задачи необходимо:

• Разработать общую методику построения, автономного тестирования и развертывания на сервере веб-сервисов Java.

• Выполнить исследование и разработку программного обеспечения веб-сервисов Java для распределенной системы автоматизации схемотехнического проектирования.

• Исследовать и разработать методику построения веб-сервисов Java на основе технологии сжатия данных.

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

• Разработать методику реализации функционирования веб-сервисов в гетерогенных средах.

Диссертационная работа содержит введение, четыре главы основного содержания, заключение и список литературы, содержащий 69 наименований. Работа изложена на 154 странице текста, и включает 21 рисунок и одну таблицу.

Глава 1. Общая методика построения распределенных систем на

основе веб-сервисов 1-1. Сервис-ориентированная архитектура

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

Под архитектурой распределенного приложения следует понимать концепцию, определяющую выполняемые функции, модель, структуру, и взаимосвязь всех компонентов системы. Архитектура распределенного приложения включает не только описание его структуры, но и все правила использования, а также интеграции, функциональность, гибкость, возможность неоднократного применения, технологические ограничения, вопросы пользовательского интерфейса. Основной задачей интеграции автономных приложений (подсистем) в распределенное приложение является обеспечение функциональных связей, обеспечивающих требуемые взаимодействия при минимальной зависимости между подсистемами. Поэтому интерфейсы объединяемых подсистем должны обеспечивать необходимую функциональность, одновременно допуская возможность изменения внутренней реализации.

Сервис-ориентированная архитектура (80А) основана на модульном подходе к построению программного обеспечения, со стандартными интерфейсами [8, 14]. БОА использует принципы унификации типовых процессов, неоднократного использования элементов, и организацию на базе выбранной платформы. Компоненты программного обеспечения можно распределять по различным узлам, и они предлагаются для применения как слабо связанные, независимые приложения. Хотя архитектура ЭОА не привязывается к какой-либо одной технологии

удаленного вызова методов (COM, DCOM, СОМ+, .NET REMITTING, Java RMI, CORBA и др. [10, 16, 17, 62]), программные комплексы, построенные согласно SOA, как правило, реализуются как некоторая совокупность веб-сервисов, которые интегрированы согласно с известными стандартными протоколами (WSDL, SOAP).

Основными принципами построения SOA на основе веб-сервисов следует считать:

• Независимость организации от применяемой вычислительной платформы и от используемых языков программирования.

• Возможность использования сервисов для клиентских приложений с стандартизированными правилами доступа.

• Организация сервисов как слабосвязанных компонентов.

• Улучшение управляемости и увеличение масштабируемости разрабатываемых систем.

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

Системы на основе сервис-ориентированной архитектуры относятся к классу мультиагентных систем (MAC), которые образованы несколькими взаимодействующими интеллектуальными агентами, обеспечивающими автономность, ограниченность представления и децентрализацию отдельных подсистем распределенной информационно-вычислительной системы [69].

Веб-сервисы основаны на стандарте XML [13, 27, 68] и позволяют обеспечивать работу с программными средствами в сети Интернет.

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

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

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

При построении веб-сервисов применяется ряд спецификаций, основанных на открытых стандартах, при этом стек протоколов выполняется в следующей последовательности: поиск веб-сервиса при помощи протокола UDD, описание веб-сервиса на основе WSDL, вызов веб-сервиса через протокол SOAP, кодирование данных (XML),транспортировка (HTTP).

Основным стандартом технологии веб-сервисов является протокол WSDL. Этот протокол используется для создания описания интерфейса веб-сервиса при этом WSDL-документ описывает информационные блоки сервиса и имеет информацию об интерфейсе и методах, доступных для общего пользования, дает описание типов данных, использующихся при передаче в запросах и ответах по соответствующему протоколу, а также информацию о транспортном протоколе, который используется для работы с сервисом и адресную информацию о расположении описываемого сервиса. Следует заметить, что стандарт документа WSDL является независящим от какого-либо определенного протокола обмена XML-данными, но содержит встроенные средства поддержки SOAP.

Протокол SOAP - это межплатфо�