Управление Web-сервисами. Требования к качеству. Управление распределенными сервисами

(Материал сайта http://se.math.spbu.ru)

Введение.

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

Существует шесть основных характеристик распределенных систем.

  1. Совместное использование ресурсов. Распределенные системы допускают совместное использование как аппаратных (жестких дисков, принтеров), так и программных (файлов, компиляторов) ресурсов.
  2. Открытость. Это возможность расширения системы путем добавления новых ресурсов.
  3. Параллельность. В распределенных системах несколько процессов могут одновременно выполнятся на разных компьютерах в сети. Эти процессы могут взаимодействовать во время их выполнения.
  4. Масштабируемость . Под масштабируемостью понимается возможность добавления новых свойств и методов.
  5. Отказоустойчивость. Наличие нескольких компьютеров позволяет дублирование информации и устойчивость к некоторым аппаратным и программным ошибкам. Распределенные системы в случае ошибки могут поддерживать частичную функциональность. Полный сбой в работе системы происходит только при сетевых ошибках.
  6. Прозрачность. Пользователям предоставляется полный доступ к ресурсам в системе, в то же время от них скрыта информация о распределении ресурсов по системе.

Распределенные системы обладают и рядом недостатков.

  1. Сложность . Намного труднее понять и оценить свойства распределенных систем в целом, их сложнее проектировать, тестировать и обслуживать. Также производительность системы зависит от скорости работы сети, а не отдельных процессоров. Перераспределение ресурсов может существенно изменить скорость работы системы.
  2. Безопасность . Обычно доступ к системе можно получить с нескольких разных машин, сообщения в сети могут просматриваться и перехватываться. Поэтому в распределенной системе намного труднее поддерживать безопасность.
  3. Управляемость . Система может состоять из разнотипных компьютеров, на которых могут быть установлены различные версии операционных систем. Ошибки на одной машине могут распространиться непредсказуемым образом на другие машины.
  4. Непредсказуемость . Реакция распределенных систем на некоторые события непредсказуема и зависит от полной загрузки системы, ее организации и сетевой нагрузки. Так как эти параметры могут постоянно изменятся , поэтому время ответа на запрос может существенно отличаться от времени.

Из этих недостатков можно увидеть, что при проектировании распределенных систем возникает ряд проблем, которые надо учитывать разработчикам.

  1. Идентификация ресурсов . Ресурсы в распределенных системах располагаются на разных компьютерах, поэтому систему имен ресурсов следует продумать так, чтобы пользователи могли без труда открывать необходимые им ресурсы и ссылаться на них. Примером может служить система URL(унифицированный указатель ресурсов), которая определяет имена Web-страниц.
  2. Коммуникация . Универсальная работоспособность Internet и эффективная реализация протоколов TCP/IP в Internet для большинства распределенных систем служат примером наиболее эффективного способа организации взаимодействия между компьютерами. Однако в некоторых случаях, когда требуется особая производительность или надежность, возможно использование специализированных средств.
  3. Качество системного сервиса . Этот параметр отражает производительность, работоспособность и надежность. На качество сервиса влияет ряд факторов: распределение процессов, ресурсов, аппаратные средства и возможности адаптации системы.
  4. Архитектура программного обеспечения . Архитектура ПО описывает распределение системных функций по компонентам системы, а также распределение этих компонентов по процессорам. Если необходимо поддерживать высокое качество системного сервиса, выбор правильной архитектуры является решающим фактором.

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

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

Про первые две модели было сказано уже не раз, остановимся подробнее на третьей.

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

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

Для начала несколько слов о том, что такое XML вообще. XML - универсальный формат данных, который используется для предоставления Web-сервисов. В основе Web-сервисов лежат открытые стандарты и протоколы: SOAP, UDDI и WSDL.

  1. SOAP (Simple Object Access Protocol ), разработанный консорциумом W3C, определяет формат запросов к Web-сервисам. Сообщения между Web-сервисом и его пользователем пакуются в так называемые SOAP-конверты (SOAP envelopes , иногда их ещё называют XML-конвертами). Само сообщение может содержать либо запрос на осуществление какого-либо действия, либо ответ - результат выполнения этого действия.
  2. WSDL (Web Service Description Language). Интерфейс Web-сервиса описывается в WSDL-документах (а WSDL - это подмножество XML). Перед развертыванием службы разработчик составляет ее описание на языке WSDL, указывает адрес Web-сервиса, поддерживаемые протоколы, перечень допустимых операций, форматы запросов и ответов.
  3. UDDI (Universal Description, Discovery and Integration) - протокол поиска Web- сервисов в Internet (http://www.uddi.org/ ). Представляет собой бизнес-реестр, в котором провайдеры Web-сервисов регистрируют службы, а разработчики находят необходимые сервисы для включения в свои приложения.

Из доклада может показаться, что Web-сервисы - наилучшее и безальтернативное решение, и вопрос только в выборе средств разработки. Однако это не так. Альтернатива Web-службам существует, это семантический Web (Semantic Web ), о необходимости создания которого уже пять лет назад говорил создатель WWW Тим Бернерс-Ли .

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

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

  1. Соммервилл И. Инженерия программного обеспечения.
  2. Драница А. Java против.NET. - "Компьютерра ", #516.
  3. Ресурсы интернет.

Назовем сервисом (service) ресурс, реализующий бизнес-функцию, обладающий следующими свойствами:

    является повторно используемым;

    определяется одним или несколькими явными технологически-независимыми интерфейсами;

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

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

1.1 Основы Web-сервисов

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

В основе Web-сервисов лежат следующие универсальные технологии:

    TCP/IP – универсальный протокол, понимаемый всеми сетевыми устройствами, от мэйнфреймов до мобильных телефонов и PDA;

    HTML – универсальный язык разметки, применяемый для отображения информации устройствами пользователей;

    XML (Extensible Markup Language)– универсальный язык для работы с любыми типами данных.

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

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

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

XML (англ. e X tensible M arkup L anguage - расширяемыйязык разметки ; произносится [икc-эм-эль ]). РекомендованКонсорциумом Всемирной паутины (W3C). Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальнымсинтаксисом , удобный длясоздания и обработки документов программам и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировкахЮникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.

Стандартные XML-приложения

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

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

Веб-сервисы пригодны для В2В-интеграции (business-to-business), замыкая приложения, выполняемые различными организациями, в один производственный процесс. Веб-сервисы также могут решать более широкую проблему интеграции приложений предприятия (Enterprise Application Integration, EAI) , осуществляя связь нескольких приложений одного предприятия с несколькими другими приложениями. Во всех перечисленных случаях технологии веб-сервисов являются "связующим звеном", объединяющим различные части программного обеспечения.

Как видно из рис. 1, веб-сервисы представляют собой оболочку, обеспечивающую стандартный способ взаимодействия с прикладными программными средами, такими как системы управления базами данных (СУБД), .NET, J2EE (Java2 Platform, Enterprise Edition), CORBA (Common Object Request Broker Architecture), посредники пакетов планирования ресурсов предприятия (Enterprise Resource Planning, ERP), брокеров интеграции и пр.

Рис.1. Веб-сервисы взаимодействуют с прикладными системами

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

Простой пример: поиск информации

В настоящее время большинство сервисов вызываются по Сети посредством ввода данных в HTML-формы и отправки этих данных сервису путем добавления их в строку унифицированного указателя информационного ресурса (Uniform Resource Locator, URL ):

http://www.google.com/search?q=Skate+boots&btnG=Google+Search

Этот пример иллюстрирует простоту веб-взаимодействия (например, поиска, покупки акций или запроса маршрута движения), где параметры и ключевые слова внедряются непосредственно в URL. В данном случае представлен простой запрос поиска skate boots (ботинки с коньками) в строке обращения к поисковой машине Google. Ключевое слово search (искать) представляет сервис, к которому будет осуществлено обращение, а параметр Skate+boots является строкой поиска, которая была введена в HTML-форме на странице веб-сайта Google. Сервис поиска Google передаст этот запрос к различным поисковым машинам, которые вернут список URL для страниц, на которых имеется соответствие параметру поиска Skate+boots. Данный малоэффективный способ поиска в Сети полностью основан на установлении соответствия указанной текстовой строки и индексированных HTML-страниц.

XML - лучший способ отправки данных. XML предоставляет значительные преимущества при передаче данных через Интернет. Теперь предыдущий запрос можно представить в виде XML-документа :

xmlns:s="www.xmlbus.com/SearchService">

Skate

boots

size 7.5

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

Данный пример представлен в форме SOAP-сообщения (Simple Object Access Protocol) - стандартной формы обмена XML-сообщениями - одной из технологий, лежащих в основе веб-сервисов. В SOAP-сообщении имя запрашиваемого сервиса и входные параметры представлены в виде отдельных XML-элементов. Рассматриваемый пример также иллюстрирует использование пространства имен XML (xmlns:), еще одного важного элемента веб-сервисов. Благодаря тому, что XML-документы поддерживают разные типы данных, сложные структуры и объединение схем, современные технологии веб-сервисов обеспечивают значительное преимущество над существующими возможностями обращения к программным приложениям посредством HTML и URL.

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

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

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

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

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

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

доктор технических наук, профессор, «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И.

Ульянова (Ленина), кафедра автоматизированные системы обработки информации и управления Кутузов Олег Иванович кандидат технических наук, Открытое Акционерное Общество "Концерн

«НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ «АВРОРА»,

начальник лаборатории Пахоменков Юрий Михайлович

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

Защита диссертации состоится «23» мая 2013 г. в 16.30 часов на заседании диссертационного совета Д212.238.02 Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И.

Ульянова (Ленина) по адресу: 197376, г.Санкт-Петербург, ул. Профессора Попова, д. 5.

С диссертацией можно ознакомиться в библиотеке СПбГЭТУ Автореферат разослан «_» 2013 г.

Ученый секретарь Диссертационного совета Д212.238.02 Н. М. Сафьянников

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

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

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

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

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

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

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

приложение консольного типа, приложение оконного типа и вебприложение.

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

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

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

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

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

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

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

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

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

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

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

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

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

Новые научные результаты распределенной САПР с использованием веб-сервисов.

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

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

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

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

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

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

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

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

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

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

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

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

1. 9-ая конференция молодых ученых «Навигация и управление движением».– СПб.;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Анисимов Д.А. Построение систем автоматизированного проектирования на основе Web-сервисов [Текст] / Анисимов Д.А. Гридин В.Н., Дмитревич Г.Д. // Автоматизация в промышленности – 2011. – №1 – С. 9-12.

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

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

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

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

01.06.2006 Майкл Папазоглоу, Виллем-Ян ван ден Хьювел

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

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

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

Сегодня Web-сервисы - самая популярная парадигма распределенных вычислений. Принимая на вооружение сервис-ориентированные архитектуры (service-oriented architecture, SOA) на базе Web-сервисов, предприятия могут гибко решать внутри- и межкорпоративные проблемы интеграции. Web-сервисы начинают играть все более важную роль в жизни предприятий, и контроль над ними становится насущной необходимостью. Направляя развитие Web-сервисов, можно получать ясное представление об их работе, обоснованно принимать управленческие решения и осуществлять управляющие воздействия для адаптации поведения приложений на их базе. Для всего этого нужны распределенные средства управления Web-сервисами.

При управлении распределенными системами наборы инструментов и утилиты контролируют их действия, что облегчает принятие управленческих решений и внесение изменений в поведение систем. По традиции основное внимание до сих пор уделялось управлению последовательными уровнями новых технологий, которые вводились в эксплуатацию в распределенных средах. Однако такие методы не отвечают корпоративным требованиям, поскольку не соответствуют бизнес-функциям. Кроме того, многие инфраструктуры системного управления не обеспечивают контроля над соглашениями об уровне обслуживания (service level agreement, SLA) или получения от приложений на базе Web-сервисов информации об обслуживании, необходимой для устранения ошибок.

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

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

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

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

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

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

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

Требования к качеству

Поставщик и покупатель должны договориться об особенностях сервиса. В приложениях, объединяющих географически распределенные Web-сервисы, такой договор составляет суть корпоративного соглашения SLA. Цель состоит в том, чтобы улучшить фактическое качество услуг (quality of experience, QoE) для внутренних или внешних клиентов. QoE создает единую основу для измерения качества продукта или услуги, в том числе производительности, пред- и послепродажного обслуживания, степени удовлетворенности клиента. Поставщик часто должен заключить и контролировать выполнение несколько внутренних (для бизнеса или конечных пользователей) либо внешних (для поставщиков услуг, партнеров, аутсорсеров и т.д.) соглашений SLA. Вообще говоря, бизнес-процесс предполагает несколько соглашений SLA, управляющих взаимосвязанными услугами в интересах конечного пользователя. Для каждого уровня SLA одну из сторон можно считать поставщиком, а другую - потребителем.

Обеспечение качественного сервис-ориентированного управления требует измерения ключевых показателей эффективности (Key Performance Indicator, KPI) приложений и услуг. Поставщик услуг может рассмотреть общие KPI перед их применением к конкретным приложениям. К общим KPI бизнес-приложений относятся доступность и производительность сервиса, время отклика и скорость выполнения транзакций, время простоя и безопасность. Поставщик должен знать, соответствуют ли его услуги установленным показателям KPI, и бить тревогу в случае «накладок». Ему необходимо установить для сервиса целевые показатели KPI, научиться их измерять и анализировать, а также отчитываться о KPI, отличающихся от целевых.

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

Концептуальная архитектура управления

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

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

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

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

Платформы распределенного управления

Широко применяются несколько стандартных платформ распределенного управления. Среди наиболее известных следует упомянуть SNMP (Simple Network Management Protocol - «простой протокол управления сетью», www.ietf.org/rfc/rfc1157.txt ), CIM (Common Information Model - «общая информационная модель», www.dmtf.org/standards/cim/ ), WBEM (Web-Based Enterprise Management - «технология корпоративного управления на базе Web», www.dmtf.org/standards/wbem/ ) и OMI (Open Management Interface - «открытый интерфейс управления», www.openview.hp.com/ downloads/try_omi_0001.html ).

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

Модель CIM, разработанная рабочей группой по управлению распределенными системами DMTF (Distributed Management Task Force), описывает все управляемые элементы предприятия, в том числе системы, сети и приложения. CIM не зависит от реализации и позволяет управляющим приложениям собирать необходимые данные из разных источников. Группа разработала также WBEM - набор стандартов управления и технологий Internet, нацеленных на унификацию управления корпоративной вычислительной средой. Опираясь на WBEM, можно построить интегрированный набор инструментов на базе стандартов, использующих преимущества развивающихся Web-технологий.

Интерфейс OMI, совместно разработанный компаниями Hewlett-Packard и webMethods , предоставляет поставщикам систем управления и другим заинтересованным сторонам легкий открытый доступ к управлению ресурсами, связанными с платформой интеграции и к относящимся к ней бизнес-процессам. OMI позволяет управляющим инфраструктурам с помощью программного интерфейса получить доступ к управлению интегрированной платформой бизнес-процессов. Через этот интерфейс пользователи могут управлять набором объектов OMI, представляющих доступные ресурсы.

Управление Web-сервисами

Когда традиционные централизованные управляющие приложения переходят к распределенным динамическим архитектурам SOA, они могут более гибко выполнять основные функции управления. В рамках SOA платформа управления Web-сервисами WSMF (Web Services Management Framework) обеспечивает поддержку обнаружения, анализа, защиты и обращения к ресурсам, а также выполнение функций управления и поддержку инфраструктурных управляющих сервисов и наборов инструментов. Те же технологии, определяющие бизнес-процессы и высокоуровневые процессы управления ИТ, теперь могут согласовываться с технологиями менеджеров ресурсов, инфраструктурных сервисов и управления ресурсами.

Методы управления сервисами

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

Управлять инфраструктурой Web-сервисов удается не всегда, но организации могут контролировать поток сообщений SOAP, которыми обмениваются приложения. Действительно, анализ трафика и изменение сообщений SOAP (которые могут быть перехвачены во многих точках сети приложений, связанных через Web-сервисы) являются основными принципами управления Web-сервисами. Контейнеры для сервисов облегчают построение среды потока сообщений типа «запрос-ответ». Подобно контейнерам J2EE, контейнеры для Web-сервисов подразумевают физическое проявление конечной точки абстрактного сервиса и обеспечивают реализацию сервисного интерфейса.

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

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

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

Управление инфраструктурными сервисами

Для управления услугами платформа WSMF использует свойства управляемости архитектурных ресурсов. Они определяют стандартные схемы, метаданные и интерфейсы языка описания Web-сервисов WSDL (Web Services Description Language), описывающие поведение ресурсов, с помощью которого последние обеспечивают доступ к информации об управляемости . Как правило, ресурсы реализуют только применимые, а не все свои стандартные свойства управляемости, которые включают в себя эксплуатационный статус, метрику и отношения.

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

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

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

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

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

Как показано на рис. 3, наряду с распределенным мониторингом и реализацией политики WSMF предлагает централизованную платформу управления и политик. Она работает совместно с каталогами сервисов и средствами идентификации как при получении информации (такой, как статистика производительности сервисов, сведения о взаимозависимости сервисов), так и при ее отсылке. Политика в виде наборов правил направляется компонентам управления сервисами. Эти правила определяют поведение компонента управления сервисами - когда и куда посылать оповещения, как обрабатывать транзитный трафик сообщений, соблюдать политику защиты и соглашения SLA и т.д.

Управление сервисами и приложениями

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

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

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

В этой архитектуре управление сервисами подразумевает подбор сервисов, взаимодействующих друг с другом при передаче данных или координации определенных операций, что облегчает оказание одной или нескольких бизнес-услуг. Вместо того чтобы предписывать конкретный протокол управления или технологию измерений, архитектура обеспечивает работу с протоколом SOAP, расширениями JMX (Java Management Extensions), технологией WBEM и другими (в том числе будущими) технологиями и стандартами.

На рис. 4 к управляемым ресурсам относятся физические и логические программные и аппаратные средства. Эти ресурсы публикуют свои свойства управляемости в виде Web-сервисов, которые реализуют разные интерфейсы, например определенные в спецификации распределенного управления Web-сервисами WSDM (Web Services Distributed Management). Интерфейс управления ресурсом описывается документом WSDL, схемой свойств ресурса, документами метаданных и, возможно, набором политик, связанных с управлением.

В процессе управления или в бизнес-процессе менеджеры ресурсов могут непосредственно обращаться к ресурсам. Как показано на рис. 4, на двух взаимодействующих предприятиях бизнес-процесс основан на базовых сервисах, таких как проверка кредитоспособности, отгрузка, обработка заказа и управление складскими запасами. Управляющие приложения архитектуры контролируют ресурсы через их интерфейсы или сервисы инфраструктуры . Эти менеджеры обеспечивают ряд функций, в том числе простой мониторинг, контроль, автономную настройку и восстановление, управление качеством, сквозное управление бизнес-процессами, предоставление системных ресурсов и услуг на основе политик. Обычно они поддерживают интерфейсы и контент для консолей управления и отображают информацию, связанную с управлением. Менеджеры взаимодействуют с ресурсами и сервисами инфраструктуры, применяя интерфейсы Web-сервисов. Кроме того, менеджеры сервисов используют язык WS-BPEL (Web Services Business Process Execution Language) для описания и выполнения процессов управления, которые обеспечивают исполнение заданных сценарием функций управления.

Решения на базе SOA, предназначенные для разработки приложений и управления ими, поощряют применение методов множественного связывания, а также следующие общедоступные сервисы управления:

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

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

Литература
  1. An Architectural Blueprint for Autonomic Computing. White paper, IBM, Oct. 2004; www-3.ibm.com/autonomic/ pdfs/AC wpFinal.pdf .
  2. J.D. Case et al., Introduction to Version 3 of the Internet-Standard Network Management Framework, IETF RFC 2570. Apr. 1999; www.rfc-editor.org/rfc/rfc2570.txt .
  3. G. Bullen et al., Open Management Interface Specification, v. 1.0, revision 1, Organization for the Advancement of Structured Information Standards. 2001; www1.webmethods.com/PDF/OMI_Spec.pdf .
  4. H. Kreger et al., Management Using Web Services: A Proposed Architecture and Roadmap, tech report, IBM, Hewlitt-Packard and Computer Assoc. June 2005; www-128.ibm.com/developerworks/library/ specification/ws-mroadmap .
  5. M. Potts, I. Sedukhin, H. Kreger, Web Services Manageability - Concepts (WS-Manageability), tech. report, IBM, Computer Assoc. and Talking Blocks. Sept. 2003; www3.ca.com/Files/SupportingPieces/ web_service_manageability_concepts.pdf .
  6. W. Vambenepe, ed. Web Services Distributed Management:Management Using Web Services (MUWS 1.0) Part 1 and 2, Organization for the Advancement of Structured Information Standards. Mar. 2005; www.oasis-open.org/committees/download.php/11819/ wsdm-muws-part1-1.0.pdf .

Майкл Папазоглоу ([email protected]) - профессор Университета Тилбурга (Голландия). В сферу его научных интересов входят распределенные системы, сервис-ориентированные архитектуры и Web-сервисы, интеграция корпоративных приложений, технологии и приложения электронного бизнеса. Виллем-Ян ван ден Хьювел ([email protected]) - доцент Университета Тилбурга. К его научным интересам относятся сервис-ориентированные архитектуры, эволюция систем и увязка новых корпоративных информационных систем с унаследованными.

Стандарт управления Web-сервисами

Согласованное сквозное управление Web-сервисами невозможно без разработки общеотраслевых стандартов. С этой целью организация OASIS (Organization for the Advancement of Structured Information Standards) активно развивает спецификацию распределенного управления Web-сервисами WSDM (Web Services Distributed Management; www.oasis-open.org ). Она определяет протокол обмена управляющей информацией через Web-сервисы. При решении проблем управления распределенными системами WSDM подразумевает две задачи: управление с использованием Web-сервисов (management using Web services, MUWS) и управление Web-сервисами (management of Web services, MOWS).

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

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

Michael Papazoglou, Willem-Jan van den Heuvel, Web Services Management: A Survey, IEEE Internet Computing, Nov/Dec 2005. IEEE Computer Society, 2005, All rights reserved. Reprinted with permission.



Архитектура распределенных информационных систем и Web-приложений

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

К основным характеристикам распределенных систем:

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

2. Пользователи и приложения единообразно работают в распределенных системах, независимо от того, где и когда происходит их взаимодействие.

Распределенные системы должны также относительно легко поддаваться расширению, или масштабированию. Эта характеристика является прямым следствием наличия независимых компьютеров, но в то же время не указывает, каким образом эти компьютеры на самом деле объединяются в единую систему.

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

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

К особенностям функционирования распределенных систем относятся:

· наличие большого количества объектов;

· задержки выполнения запросов (так если локальные вызовы требуют порядка пары сотен наносекунд, то запросы к объекту в распределенных системах требует от 0.1 до 10 мс);

· некоторые объекты могут не использоваться на протяжении длительного времени;

· распределенные компоненты выполняются параллельно, что приводит к необходимости согласования выполнения;

· запросы в распределенных системах имеют большую вероятность отказов;

· повышенные требования к безопасности.

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

Для борьбы с отказами клиенты обязаны проверять факт выполнения запросов сервером. Безопасность в распределенных приложениях может быть повышена путем контроля сеансов связи (аутентификация, авторизация, шифрование данных).

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


Рисунок 1.12 – Схема доступа к серверу СУБД через Интернет

В настоящее время существуют три различных технологии, поддерживающие концепцию распределенных объектных систем: EJB, DCOM CORBA.

Основная идея, лежащая в разработке технологии EJB (Enterprise Java Beans ) – создать такую инфраструктуру для компонентов, чтобы они могли бы легко вставляться и удаляться из серверов, тем самым повышая или снижая функциональность сервера. EJB-компоненты являются Java-классами и могут работать на любом EJB-совместимом сервере даже без перекомпиляции. Основными целями EJB-технологии является:

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

2. Описать основные структуры EJB-системы и интерфейсы взаимодействия между ее компонентами.

3. Освободить разработчика от реализации EJB-объектов за счет наличия специального кодогенератора.

Благодаря используемойJava-модели, EJB является относительно простым и быстрым способом создания распределенных систем.

Технология DCOM (Distributed Component Object Model ) - программная архитектура, разработанная компанией Microcoft для распределения приложений между несколькими компьютерами в сети. Программный компонент на одном из компьютеров может использовать DCOM для передачи сообщений к компоненту на другом компьютере. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленного компонента. Способность DCOM связывать компоненты позволила Microcoft наделить Windows рядом дополнительных возможностей, в частности, реализовать сервер Microsoft Transaction Server, отвечающий за выполнение транзакций баз данных через Интернет.



Понравилась статья? Поделиться с друзьями: