Чайка

Сегодня:

       Чайка по имени Джонатан Ливингстон   

Посвящается истинному Джонатану -
Чайке, живущей в каждом из нас.

главная
реферат
библиотека
ссылки
отчет о поиске
инд.задание


Физиология грид: открытая архитектура грид-служб для интеграции распределенных систем

Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке

1 Введение
До недавнего времени разработчики приложений часто могли рассчитывать на то, что среда потребителя (до разумной степени) гомогенна, надёжна, защищена и имеет централизованное управление. Однако компьютинг всё больше и больше оказывается связанным с решением вопросов поддержки совместных работ, разделения данных и других новых режимов взаимодействия, которые влекут за собой использование распределённых ресурсов. Результатом этого является возрастающее внимание к комплексированию систем как внутри, так и вне предприятий, будь то в форме интеллектуальных сетей, переключающих устройств, средств кэширования, серверов приложений, систем хранения или систем управления сетями хранения. Кроме того, компании поняли, что они могут достигнуть значительного снижения затрат, используя для второстепенных компонентов их систем информационных технологий (ИТ) внешние источники различных провайдеров услуг.
Эти эволюционные факторы обусловили появление новых требований к разработке и развёртыванию распределённых приложений. Сегодня приложения и промежуточное программное обеспечение (middleware), как правило, разрабатываются для конкретной платформы (например, такой, как Windows NT, разновидность Unix, некий мэйнфрейм, J2EE, Microsoft.NET), которая обеспечивает исполнительную среду для выполнения приложений. Возможности, обеспечиваемые этими платформами, могут варьироваться от функций управления интегрированными ресурсами до интеграции баз данных, служб создания кластеров, безопасности, управления рабочей нагрузкой и выявления отказов -различающихся (от платформы к платформе) по способу реализации, исполнительной семантике и API для этих функций. Однако, несмотря на это разнообразие, продолжающаяся тенденция децентрализации и рассредоточения программного обеспечения, аппаратуры и человеческих ресурсов особо остро ставит вопрос обеспечения желаемого качества обслуживания ^иаііиез оГ service - QoS) -независимо от того, измерены ли они через показатели семантики общей безопасности, производительности при распределенном потоке работ и управлении ресурсами, согласованного преодоления сбоев, служб выявления отказов или другие метрики - на ресурсах, динамически собираемых из потенциала корпоративных систем, систем провайдеров услуг и систем заказчика. Нам необходимы новые абстракции и концепции, которые позволяют приложениям получить доступ и разделять ресурсы и службы по всему пространству территориально-распределённых сетей.
В течение определённого времени такие проблемы находились в центре внимания разработчиков распределённых систем для крупномасштабных научно-исследовательских проектов. Деятельность внутри этого сообщества привела к созданию грид-технологий, ориентированных именно на эти проблемы и получающих широкое распространение и успешную адаптацию для научного и инженерного компьютинга.
В более ранней статье, мы определили, что грид-технологии и инфраструктуры имеют своей целью поддержку разделения и согласованного использования разнообразных ресурсов в динамичных, распределённых "виртуальных организациях" (ВО). Мы отметили наиболее существенные свойства грид-систем и ввели ключевые требования для протоколов и служб, различая среди них протоколы связи, касающиеся функций коммуникации и аутентификации, протоколы ресурсов, имеющие дело с договорным правом доступа к отдельным ресурсам, а также протоколы и службы кооперации, поддерживающие координированное использование множества ресурсов. Мы также описали Инструментальный комплекс Globus, реализацию (с открытыми исходными кодами) ключевых грид-протоколов, который поддерживает широкий спектр важных научных проектов с использованием вычислительной техники.
Для того, чтобы более точно выяснить, как могут быть реализованы и применены грид-функции и грид-технологии, в настоящей работе мы расширяем круг рассмотрений в трех направлениях. Во-первых, если ранее мы строили наши обсуждения на основе протоколов, необходимых для обеспечения интероперабельности между компонентами ВО, то здесь мы фокусируем внимание на основных свойствах служб, реагирующих на протокольные сообщения. Мы рассматриваем грид-инфраструктуру, как расширяемый набор грид-служб, объединяемых разными способами для удовлетворения потребностей ВО, которые сами могут быть частично определены с помощью служб, ими используемых и разделяемых. Далее мы устанавливаем дисциплину, которой должны придерживаться грид-службы для поддержки интеграции распределённых систем. Ставя ударение на вопросах функциональных возможностей (то есть, "физиологии"), такой взгляд на грид дополняет предыдущее протокольно-ориентированное ("анатомическое") описание.
Во-вторых, мы объясняем, как можно грид-технологии совместить с технологиями Web-служб для того, чтобы воспользоваться весьма привлекательными возможностями Web-служб. Например, такими как описание и обнаружение службы; автоматическая генерация программных частей на сторонах клиента и сервера на основе описаний служб; связывание описаний служб с интероперабельными сетевыми протоколами; совместимость с появляющимися высокоуровневыми открытыми стандартами, службами и инструментариями; а также обширная коммерческая поддержка. Мы называем такое совмещение и расширение грид-технологий и технологий Web-служб Открытой архитектурой грид-служб (Ореп Сгісі 8егуісез Агспііесйіге - ОС8А). При этом термин архитектура указывает на вполне определённый набор основных интерфейсов, с помощью которых можно конструировать системы с заданными свойствами, а термин открытая, как это принято, использован для обозначения расширяемости, нейтральности по отношению к производителям и обязательного представления для общественного процесса стандартизации. Для обеспечения самоописываемости, возможности обнаружения служб и интероперабельности протоколов эта архитектура использует Язык описания Web-служб (Web Services Везсгіриоп Language - WSDL), расширенный конструкциями для поддержки множества согласованных интерфейсов и управления изменениями. OGSA учитывает опыт, приобретённый практикой использования Инструментального комплекса Globus что позволяет описывать соглашения и WSDL-интерфейсы для грид-службы, полную информацию о текущем состоянии (потенциально временного) экземпляра службы, предоставляющей возможность: надёжной и безопасной активизации процессов (когда это требуется), управления временем жизни службы, рассылки уведомлений, управления политикой, управления сертификатами и виртуализации. Кроме того, OGSA определяет интерфейсы для обнаружения экземпляров грид-служб и для создания временных экземпляров грид-служб. Результатом такого подхода является распределённая система стандартизированных служб, (мы избегаем использования термина распределённая система объектов из-за его смысловой перегруженности) которая поддерживает разработку сложных распределённых служб, необходимых в современных компаниях и объединениях компьютеризированных организаций.
В-третьих, мы фокусируем наши рассмотрения на коммерческих, а не на научных и инженерных приложениях, как это было сделано в ранних публикациях. Мы считаем, что одни и те же принципы и механизмы вполне применимы в обеих сферах. Тем не менее, в условиях коммерческой среды для нас особенно необходима возможность бесшовной интеграции с уже существующими ресурсами и приложениями, а также средствами управления рабочей нагрузкой, ресурсами, безопасностью, качеством обслуживания в сети и доступом. Поддержка, обеспечиваемая OGSA для обнаружения свойств служб, облегчает отображение или адаптацию высокоуровневых функций грид-служб к аппаратно-программным средствам локальных платформ. Службы OGSA ориентированы на обеспечение возможности многоуровневой виртуализации ресурсов так, что одни и те же абстракции и механизмы могут быть использованы как внутри распределённых грид-конфигураций, поддерживающих взаимодействие между организационными доменами, так и внутри исполнительной (хостинг) аппаратно-программной среды, охватывающей много уровней в отдельном информационно-технологическом домене. Универсальная инфраструктура подразумевает, что различия (например, связанные с видимостью и доступностью) проистекают из политик управления, касающихся вопросов владения ресурсами, конфиденциальности и безопасности, а не из механизмов взаимодействия. Поэтому, поскольку сегодняшние корпоративные системы трансформируются из отдельных островов компьютерных ресурсов в интегрированные, многоуровневые распределенные системы, компоненты служб должны объединяться динамично и гибко как внутри, так вне границ различных организаций.
Далее в данной статье обсуждаются следующие вопросы. В Разделе 2 мы исследуем проблемы, стимулирующие использование грид-технологий в коммерческой среде. Раздел 3 посвящён обзору Инструментального комплекса Globus и Web-служб, а в Разделе 4 мы мотивируем и вводим нашу Открытую архитектуру грид-служб. В Разделах 5 - 8 мы представляем пример и рассматриваем реализации протоколов и службы более высоких уровней. В Разделе 9 мы обсуждаем связанные с нашими интересами работы, а в Разделе 10 подводим итог нашей дискуссии.
Мы подчёркиваем, что Открытая архитектура грид-служб и связанные с ней спецификации грид-служб продолжают развиваться как в результате работ по стандартизации в рамках Всемирного грид-форума (Global Grid Forum), так и работ по реализации программного обеспечения в рамках проекта Globus и где-либо ещё. Таким образом, техническое содержание данной статьи, так и её более раннего сокращённого представления, являются всего лишь «мгновенным снимком» находящейся в развитии работы.
2 Потребность в технологиях грид
Грид-технологии поддерживают разделение и согласованное использование разнообразных ресурсов в динамичных ВО - то есть создание из географически и организационно распределённых компонент таких виртуальных компьютерных систем, которые скомпонованы так, что могут обеспечивать желаемое качество обслуживание).
Концепции и технологии грид сначала разрабатывались для обеспечения возможности разделения ресурсов внутри распределенных по всему миру объединений научно-исследовательских коллективов. При этом приложения включали совместную визуализацию больших наборов научных данных (объединение опыта), распределённый компьютинг для проведения вычислений, связанных с анализом данных (объединение компьютерных мощностей и систем хранения), и комплексацию научных измерительных устройств с удалёнными компьютерами и архивами (расширение функциональных возможностей, а также доступности). Мы полагаем, что аналогичные приложения окажутся важны и в сфере коммерческой деятельности, сначала для научных и инженерных расчётов (где мы уже можем говорить об успешных результатах), а затем и для коммерческих распределённых прикладных систем, включая интегрированные корпоративные приложения и системы, поддерживающие бизнес партнёрство (В2В) через интернет. Мы надеемся, что грид-технологии пройдут точно такой же путь, как Web, которая сначала использовалась в интересах научного сотрудничества, а затем стала применяться в электронных коммерческих системах.
Тем не менее, мы убеждены, что грид-концепции чрезвычайно важны для бизнес-компьютинга главным образом не как средства усовершенствования возможностей, а скорее как инструмент для разрешения новых проблем, связанных с конструированием надёжных, масштабируемых и защищённых распределённых систем. Обусловленные жёсткой технологической и коммерческой конкуренцией эти проблемы возникают в связи с тенденцией к декомпозиции и распределению по сети ранее монолитных, сосредоточенных на отдельных хостах служб.
2.1 Эволюция систем корпоративного компьютинга
В прошлом, как правило, работы с применением компьютеров производилась в пределах объединений базовых компьютерных центров корпораций. Между тем как существовавшие в это же время сложные распределённые системы (например, такие как системы автоматического управления и контроля, системы резервирования и доменная система именования интернет) оставались узко специализированными разработками.
Однако подъём интернет и появление электронных коммерческих приложений привели к большему пониманию того факта, что ИТ-инфраструктура корпорации включает в себя также и внешние сети, ресурсы и службы. Вначале этот новый источник сложности трактовался как феномен сетевой среды, и были предприняты попытки конструирования "интеллектуальных сетей", которые пересекаются с традиционными корпоративными ИТ-центрами только в "граничных серверах": например, в Web-точке присутствия корпорации, или в сервере частной виртуальной сети, связывающем сеть предприятия с ресурсами провайдера услуг. При этом предполагалось, что таким образом можно контролировать и ограничивать воздействие электронной коммерции и интернет на базовую ИТ-инфраструктуру корпорации.
В общем, эти попытки оказались неудачными, поскольку декомпозиция ИТ-служб имеет место также и внутри ИТ-инфраструктуры самого предприятия. Новые приложения разрабатываются применительно таким моделям программирования (например, компонентной модели Enterprise Java Beans), которые изолируют приложение от нижележащей компьютерной платформы и поддерживают возможность его мобильного распространения на множестве платформ. В свою очередь, такая мобильность позволяет выбирать платформы, с учётом требований цена/производительность и QoS, а не в зависимости от типа операционной системы платформы. Так, например, приложения Web-обслуживания и кэширования ориентированы на использование обыкновенных серверов, а не традиционных больших компьютерных платформ (мэйнфреймов). Устойчивый рост числа используемых в приложениях Цшх и NT серверов неизбежно влечёт за собой создание множества распределённых соединительных узлов, через которые можно наследовать имеющиеся на мэйнфреймах активные прикладные пакеты и наборы данных. Увеличение нагрузки на эти активы заставляет компании переносить выполнение несущественных функций (например, таких, как обработка запросов) с центральных систем обработки транзакций на серверы среднего уровня. Между тем, использование Web-технологии для доступа к корпоративным ресурсам беспрестанно требует ускоренного обслуживания запросов, что, естественно, приводит к необходимости распределения и выполнения кэширования на крайних компьютерах сети. Общим итогом является декомпозиция высоко интегрированной внутренней ИТ-инфраструктуры в совокупность гетерогенных и фрагментированных систем. После этого предприятия должны в соответствии с требуемым QoS заново интегрировать такие распределённые серверы и ресурсы данных, решая проблемы навигации, распределённой защиты и распространения информационного наполнения как внутри корпорации, так и во внешних сетях.
Параллельно с этими разработками корпорации всё более энергично вовлекаются в электронную коммерцию и осознают, что для успешной деятельности предприятия в условиях быстрого и неподдающегося прогнозированию развития необходима высокоразвитая ИТ-инфраструктура. Сейчас компании также расширяют сферы и масштаб своих программ по созданию систем управления производством и ресурсами (ERP), поскольку этим они стараются достигнуть большей интеграции с системами управления взаимоотношениями с клиентами (CRM), управления интегрированными цепочками поставок (SCM) и существующими базовыми системами. Такие разработки оказывают значительное воздействие на ИТ-инфраструктуру корпорации.
Совокупный эффект, получаемый от этих разработок выражается в том, что качество обслуживания, традиционно связываемое с централизованной обработкой данных на мэйнфреймах, теперь весьма существенно для эффективного ведения электронного бизнеса на распределённых компьютерных ресурсах как внутри, так и вне предприятия. Например, предприятия должны обеспечивать пользователям согласованное с ними время ответа, несмотря на текущую рабочую нагрузку и значительные отклонения между средним и пиковыми значениями нагрузки. Таким образом, необходимо гибкое распределение ресурсов в соответствии с требованиями рабочей нагрузки и приоритетов. Кроме того, предприятия должны обеспечивать: а) безопасность и надёжную среду для выполнения распределённых транзакций, проходящих через множество разнородных серверов; b) предоставление непрерывного, с точки зрения конечного пользователя, доступа; c) восстановление после сбоев потока работ, протекавшего в распределённой сети приложения и серверов данных. Однако принятая в настоящее время парадигма обеспечения должного QoS для приложений путём вертикальной интеграции специфических компонент платформы и служб оказывается неприемлемой для современной распределённой среды обработки данных: декомпозиция монолитных ИТ-инфраструктур не согласуется с предоставлением необходимого QoS через механизмы вертикальной интеграции служб на данной платформе. При этом, будучи ограничены средствами локальных систем, оказываются не эффективными возможности управления распределёнными ресурсами, возникает недоступность к ресурсам платформы и несогласованность между подобными ресурсами в распределённой среде.
Следствие всех этих тенденций проявляется в том, что интеграторы ИТ-систем вынуждены заново интегрировать распределённые компьютерные ресурсы с учётом должного качества обслуживания. Однако без соответствующей инструментальной инфраструктуры управление рабочим потоком распределённого компьютинга становится всё более и более напряжённым, сложным и уязвимым, поскольку персонал, поддерживающий специфические для платформы возможности, должен отслеживать все "огни", затрагивающие полную доступность и производительность, а также устно координировать с коллегами внесение корректив на различных платформах. Перед лицом изменений, имеющих место в среде компьютинга и пакетах приложений, такой подход к реинтеграции не обеспечивает возможности для масштабирования, достижения эффективной стоимости ИТ-инфраструктуры и должной надёжности.
2.2 Провайдеры услуг и B2B-компьютинг
Ещё одна важная тенденция связана с появлением различных видов провайдеров услуг (service providers - SPs), предоставляющих такие услуги как Web-хостинг, распределение информационного наполнения, доступ к приложениям и системам хранения данных. Благодаря масштабной экономии, достигаемой за счёт массовости клиентуры, провайдеры услуг стремятся охватить стандартные процессы электронного бизнеса, такие как создание Web-порталов, доступных для многочисленных пользователей при превосходном показателе стоимость/производительность. Даже традиционные предприятия, имеющие собственные ИТ-инфраструктуры, избавляются от таких процессов, поскольку они рассматриваются как общепринятые функции.
Появление такого рода "электронных коммунальных служб" ("eUtilies" - это термин, используемый провайдерами услуг, предлагающими постоянный доступ по запросу), открывает возможность использования модели, предоставления ИТ-ресурсов по подписке с повременной оплатой. В отличие от существовавших в прошлом компаний компьютерных услуг, ориентированых на обеспечение процессов закрытой пакетной обработки, электронные коммунальные службы предоставляют средства и возможности, как правило, хорошо интегрируемые с инфраструктурами корпоративного компьютинга и используемые для поддержки бизнес-процессов, протекающих как на внутренних, так и внешних ресурсах. Следствием улучшения показателя стоимость/производительность, обеспечиваемого структурами электронных коммунальных служб, является стремление к дальнейшей декомпозиции и распределению функций корпоративного компьютинга. Собственные технические проблемы встают и перед провайдерами электронных услуг. Для того чтобы достигнуть экономии за счет массового обслуживания, провайдерам необходимы серверные инфраструктуры, которые можно легко настраивать, учитывая соответствующие требования пользователей. Поэтому нужна ИТ-инфраструктура, которая: 1) поддерживает в соответствии с оговорённым уровнем обслуживания динамическое распределение ресурсов, эффективное разделение и многократное, использование ИТ-инфраструктуры и распределённую защиту в пределах от границы сети до приложения и серверов данных, а также 2) обеспечивает согласованные времена ответов и высокий уровень доступности, что в свою очередь обуславливает необходимость проведения сквозного мониторинга производительности и конфигурирования в реальном времени.
Другая ключевая тенденция развития ИТ-индустрии - это межкорпоративное сотрудничество компаний (так называемые, системы B2B), осуществляемое в управлении цепочкой поставок, связывающей несколько организаций, в виртуальных Web-развлечениях и аукционах электронного рынка. По существу, коллаборации типа B2B представляют собой виртуальные организации, определённые нами выше, хотя и с особо жёсткими требованиями к безопасности, доступности, обеспечению оговоренных уровней обслуживания, контролю и к сложной обработке транзакций. Таким образом, B2B- компьютинг является еще одним источником заказа на интеграцию распределённых систем, часто характеризующихся большими различиями в информационных технологиях, распространённых в разных организациях.
3 Источники
Мы рассмотрим две технологии, на основе которых определим Открытую архитектуру грид-служб: во-первых, это Инструментальный комплекс Globus, который широко распространен в качестве грид-технологии, используемой для научно-инженерных вычислений, и, во-вторых, это хорошо известная инфраструктура Web-служб, которые применяются для доступа к сетевым приложениям.
3.1 Инструментальный комплекс Globus
Инструментальный комплекс Globus (далее ИК Globus) представляет собой систему, основанную на общепринятых стандартах, обладающую открытой архитектурой и свободно распространяемую в исходных кодах. В его состав входят пакет служб и программные библиотеки, которые поддерживают грид-системы и грид-приложения. Этот инструментальный комплекс решает вопросы, связанные с обеспечением безопасности, обнаружением информации, управлением ресурсами, управлением данными, коммуникациями, выявлением отказов и переносимостью разработок. Механизмы ИК ОіоЬиз используются в сотнях узлов и десятках крупных грид-проектах по всему миру
Наиболее существенными для архитектуры OGSA компонентами ИК Globus являются: грид-протокол Распределения и управления ресурсами и его служба, так называемый, "привратник"- gatekeeper, обеспечивающая безопасное, надёжное создание служб и управление; служба мета каталогов (Meta Directory Service - MDS-2 ), осуществляющая на основе программно выполняемой регистрации обнаружение информации и построение модели данных и ведение локального системного реестра грид-инфраструктура безопасности, которая поддерживает одноразовую регистрацию (single sign on), делегирование полномочий и отображение сертификатов. Как показано на Рисунке 1, эти компоненты обеспечивают жизненно важные элементы архитектуры, ориентированной на предоставление услуг, однако с меньшей степенью универсальности, чем это достигнуто в ОGSА.

 

Kомпоненты обеспечивают жизненно важные элементы архитектуры


Рисунок 1: Избранные механизмы ИК Globus иллюстрируют первоначальное создание прокси-сертификата и последующие аутентификационные запросы к удалённой службе привратника. В результате запросов создается пользовательский процесс #2, с которым ассоциируется делегированный прокси-сертификат (возможно, ограниченный). Затем следует запрос к другой удаленной службе. Также показана программно реализуемая служба регистрации через MDS-2.


Протокол GRAM обеспечивает надёжное, безопасное, удалённое создание и управление произвольными вычислениями: того, что мы в данной статье называем временными экземплярами служб. Механизмы GSI используются для аутентификации, авторизации и делегирования полномочий при удалённых расчётах. Для обеспечения надёжной активизации применяется протокол двухфазного проведения транзакций, основанный на методах, используемых в системе Condor. Создание служб осуществляет небольшой, выполняющийся с правами системы процесс "привратника" (терминах данной статьи фабрики), в то время как GRAM reporter выполняет мониторинг и публикует информацию о состоянии выполняемых локальных вычислений.
MDS-2 обеспечивает единообразную схему для обнаружения и доступа к системной компьютерной конфигурации, а также для получения информации о компонентах аппаратно-программного оборудования. Например, о конфигурации вычислительного сервера или состоянии сети, о размещении реплицируемых баз данных (того, что мы в данной статье называем интерфейсом для обнаружения). Для управления сроком действия предоставляемой информации MDS-2 использует грид-протокол Уведомления.
Базирующийся на технологии открытых ключей грид-протокол Инфраструктуры безопасности осуществляет аутентификацию пользователя в условиях однократной регистрации, коммуникационную защиту и начальную поддержку ограниченного делегирования полномочий. Вкратце, однократная регистрация обеспечивает пользователю возможность только один раз пройти процедуру аутентификации и, таким образом, создать прокси-сертификат, который может быть предъявлен программой любой удалённой службе для аутентификации от имени пользователя. Делегирование делает возможным создание и передачу удаленной службе делегированного прокси-сертификата, который может быть использован этой службой для выполнения действий от имени пользователя (возможно, с некоторыми ограничениями); эта возможность оказывается важной при выполнении операций, имеющих вложенную структуру. (Подобного рода механизмы могут быть реализованы в контексте использования других технологий обеспечения безопасности, например, такой как в системе Kerberos, хотя может быть и с другими характеристиками).
В качестве основы для идентификации пользователя GSI использует сертификаты X.509, широко распространённого стандарта для сертификатов инфраструктуры открытых ключей. Для того чтобы приспособить X.509 для поддержки однократной регистрации и делегирования полномочий, GSI определяет X.509 прокси-сертификат. (Этот прокси-сертификат является аналогом пересылаемого тикета, используемого в системе Keberos, но основывается исключительно на методах криптографии с открытыми ключами). Обычно при выполнении аутентификации GSI использует протокол Безопасности Транспортного Уровня (Transport Layer Security - TLS), являющийся модификацией протокола Уровня Защиты Сокетов (Secure Socket Level - SSL), хотя и другие протоколы аутентификации на основе технологии открытых ключей могут использоваться для работы с X.509 прокси-сертификатами. Протокол удаленного делегирования X.509 прокси-сертификатами надстроен над уровнем TLS. Комитет по Инженерным проблемам интернет (Ішегпеі Еп§іпеегіп§ Task Force - IETF) утвердил предварительный документ (draft), определяющий расширения X.509 сертификата для прокси-сертификата. Всемирный грид-форум (GGF) утвердил предварительные документы (drafts), определяющие протокол делегирования для удаленного создания X.509 прокси-сертификата и расширения GSS-API (API обобщенной службы безопасности), позволяющие использовать это API для грид-программирования. Развитая поддержка для ограниченного делегирования была продемонстрирована в прототипах и является существенной составляющей предлагаемого профиля X.509 прокси-сертификата. Ограниченное делегирование позволяет одному объекту передать конкретное подмножество пула своих привилегий другому объекту. Такое ограничение важно в плане уменьшения вреда при преднамеренном или случайном злоупотреблении делегированным сертификатом.
3.2 Web-службы
Термин Web-службы характеризует появившуюся парадигму распределённого компьютинга, которая отличается от других подходов к этой проблеме, таких как DCE, СОКВА и Java RMI, тем, что в её фокусе лежит применение простых, базирующихся на интернет стандартов (например, Расширяемого языка разметки) для решения вопросов, связанных с организацией гетерогенной распределённой обработкой данных. Web-службы определяют способы описания компонентов программного обеспечения, к которым должен быть предоставлен доступ, методы доступа к этим компонентам и методы обнаружения, позволяющие опознавать подходящих провайдеров служб. Важно, что Web-службы нейтральны по отношению к языкам и моделям программирования, а также системному программному обеспечению.
•   Простой Протокол Доступа к Объекту (Simple Object Access Protocol - SO AP) обеспечивает средства обмена сообщениями между провайдером службы и издателем запроса. SOAP это простой оболочечный механизм отправлений, представленных на XML, который определяет соглашение для удалённого вызова процедуры (RPC) и соглашение о порядке передачи сообщений. SOAP независим от нижележащего транспортного протокола; SOAP-отправления могут быть переданы средствами HTTP, РТР, Службы сообщений Зага (7ауа Ме88а§іп§ 8егуісез - /МУ) и тому подобное. Мы подчёркиваем, что Web-службы дают возможность описывать множество механизмов доступа к нижележащим компонентам программного обеспечения. SOAP просто одно из средств форматирования вызова Web-служб.

  1. Язык описания Web-служб)
    представляет собой XML-документ для описания   Web-служб в виде набора крайних
    точек (endpoints) обработки сообщений, содержащих либо документы (то есть собственно
    сообщения),  либо удалённые вызовы процедур.  Интерфейсы служб определяются
    абстрактно в виде структур сообщений и наборов простых обменов сообщениями (или
    операций, в   терминологии WSDL), и затем привязываются к конкретному сетевому
    протоколу и формату кодирования данных для определения крайней точки. Связанные
    конкретные крайние точки объединяются в пучки, определяя абстрактные крайние точки
    (службы). Язык WSDL расширяемый, что даёт возможность описывать крайние точки и
    конкретные  представления  их  сообщений  для  целого  ряда  различных  форматов
    сообщений и сетевых протоколов. Для использования WSDL вместе с SOAP 1.1, HTTP
    GET/POST, и MIME установлено несколько стандартных соглашений о связывании.
  2. Инспекция Web-служб (WS-Inspection ) предусматривает простой XML-язык и
    набор соглашений для обнаружения описаний служб, публикуемых провайдером службы.
    Документ на Языке инспекции может
    содержать собрание описаний служб и ссылок на другие источники описаний служб.
    Обычно описание службы представляет собой универсальный указатель (URL) на WSDL-
    документ; иногда, описание службы может быть ссылкой на запись в Универсальном
    реестре описания, обнаружения и интеграции (Universal Description, Discovery and
    Іше§гаиоп (UDDI)). Обыкновенно ссылка - это указатель URL на другой WS-
    Inspection-документ; в некоторых случаях, ссылка может указывать на UDDI-объект.
    Используя WS-Inspection, провайдер службы создаёт WSIL-документ и обеспечивает к
    нему доступ по сети. Абоненты служб используют для получения WSIL-документа
    стандартные Web-механизмы доступа (например, HTTP GET) и обнаруживают, какие
    службы рекламируются  провайдерами услуг.  WSIL-документы  могут быть также
    представлены в разных индексных формах.

В настоящее время ведётся работа по созданию других стандартов в области Web-служб.
С точки зрения наших целей важны два достоинства инфраструктуры Web-служб. Во-первых, нам необходимо поддерживать динамическое обнаружение и оркестровку служб в гетерогенной среде, что неизбежно влечёт за собой необходимость создания механизмов, регистрирующих и обнаруживающих определения интерфейсов и описания реализаций крайних точек, а также динамически генерировать прокси, основанные на (возможно множественных) связываниях с заданными интерфейсами. Язык WSDL удовлетворяет этому требованию, поскольку обеспечивает стандартный механизмы для задания описаний интерфейсов отдельно от их   вхождения в конкретноe связываниe (транспортный протокол и формат кодирования данных). Во-вторых, широкое применение механизмов Web-служб означает, что среда, базирующаяся на Web-службах, может использовать многочисленные инструментарии и существующие в настоящее время службы. Например, такие, как WSDL-процессоры, генерирующие связывания для различных языков, системы управления заданиями, расположенные выше WSDL, и исполнительные среды для Web-служб (например, Microsoft.NET и Apache Axis). Следует подчёркнуть, что использование Web-служб вовсе не предполагает применение SOAP во всех коммуникациях. Если это необходимо, то можно воспользоваться альтернативными транспортными средствами, например, для достижения большей производительности или для запуска поверх специализированных сетевых протоколов.

[первоисточник]