Структура ресурсов веб-служб ( WSRF ) - это семейство опубликованных OASIS спецификаций для веб-служб . Основными участниками являются Globus Alliance и IBM .
Веб - сервис сам по себе является номинально без гражданства , то есть, она не сохраняет никаких данных между сеансами. Это ограничивает то, что можно делать с помощью веб-сервисов,
До WSRF ни один стандарт в семействе спецификаций веб-служб не определял, как работать с взаимодействиями с удаленными ресурсами с сохранением состояния. Это не означает, что веб-службы не могут отслеживать состояние. При необходимости веб-служба может считывать данные из базы данных или использовать состояние сеанса с помощью файлов cookie или WS-Session.
WSRF предоставляет набор операций, которые веб-службы могут использовать для реализации взаимодействия с отслеживанием состояния; клиенты веб-служб взаимодействуют со службами ресурсов, которые позволяют сохранять и извлекать данные. Когда клиенты общаются с веб-службой, они включают идентификатор конкретного ресурса, который должен использоваться в запросе, инкапсулированный в ссылке на конечную точку WS-Addressing . Это может быть простой адрес URI или сложный XML-контент, который помогает идентифицировать или даже полностью описывать конкретный рассматриваемый ресурс.
Наряду с понятием явной ссылки на ресурс идет стандартизированный набор операций веб-службы для получения / установки свойств ресурса. Их можно использовать для чтения и, возможно, записи состояния ресурса, аналогично тому, как переменные-члены объекта находятся рядом с его методами. Основным бенефициаром такой модели являются инструменты управления, которые могут перечислять и просматривать ресурсы, даже если у них нет других сведений о них. Это основа WSDM .
Проблемы с WSRF
WSRF не лишен разногласий. Наиболее фундаментальным является архитектура: являются ли распределенные объекты с состоянием и операциями лучшим способом представления удаленных ресурсов? Это почти перенос в XML шаблона распределенных объектов , примерами которого являются CORBA и DCOM . Ресурс WSRF может быть объектом с отслеживанием состояния, на который несколько клиентов имеют ссылки на ресурсы, а сама спецификация WSRF не решает таких проблем, как изоляция и доступность, полагаясь на составную природу спецификаций веб-сервисов для их решения. Многие стеки WSRF, по-видимому, избегают этих проблем из-за низкой доступности, отображая 1: 1 из ссылки ресурса WSRF на локальный экземпляр объекта, который в C ++ и Java обычно не является постоянным (за исключением тех, которые привязаны к базе данных через какой-то механизм сохранения). Однако существуют реализации WSRF, которые поддерживают постоянство, кластеризацию и высокую доступность ресурсов (например, в WebSphere Application Server ).
В представлении сети с распределенными объектами WSRF также находится в противоречии с моделью сети REST , в которой все является ресурсом, но в которой все действия выполняются с помощью ограниченного и стандартизованного набора операций. В некотором смысле эти две модели ближе, чем чистый SOAP и REST , потому что обе они имеют ресурсы с отслеживанием состояния на дальнем конце. Однако REST, реализованный на HTTP , предполагает, что URL-адрес - это все, что необходимо для адресации ресурса - нет необходимости в сложности параметров WS-Addressing ReferenceParameters. Особой критике подвергается идея управления сроком службы удаленного контента с помощью возобновляемой аренды. Другая проблема архитектуры сообщества REST заключается в том, что обратные вызовы / уведомления, как описано в WS-Notification , не проходят через брандмауэры. Вот почему в проектах REST предпочтение отдается опросам, например, в RSS и Atom (стандартных) каналах. WSRF не сделал ничего, чтобы сделать протокол SOAP более приемлемым для сообщества REST.
Введение WSRF также вызвало раскол в мире WS- *. Впервые об этом было объявлено миру на мероприятии Global Grid Forum в феврале 2004 г. как преемник Open Grid Services Infrastructure . Его ограниченная совместимость с основной архитектурой WS-I вызвала несогласие со стороны британского грид-сообщества. [1] Global Grid Forum в конечном итоге изолировал свои зависимости от WSRF в профиле WSRF для своей архитектуры Open Grid Services . Протоколы WSRF также использовались WSDM как средство взаимодействия с управляемыми ресурсами, описанными в WSDM. Однако мир WS- * не был объединен единым стандартом для управления веб-службами, поскольку Microsoft, Sun и другие компании предпочли использовать WS-Management с его зависимостью от WS-Transfer как средства описания управляемых ресурсов.
Компонентные характеристики
- WS-Resource определяет WS-Resource как композицию ресурса и веб-службы, через которую можно получить доступ к этому ресурсу.
- WS-ResourceProperties описывает интерфейс для связывания набора типизированных значений с WS-ресурсом, который можно читать и манипулировать стандартным способом.
- WS-ResourceLifetime описывает интерфейс для управления временем жизни WS-ресурса.
- WS-BaseFaults описывает расширяемый механизм для расширенных SOAPFaults .
- WS-ServiceGroup описывает интерфейс для работы с коллекциями WS-ресурсов.
Также актуальным является WS-Notification, в котором говорится, как передавать информацию о том, что происходит, другим веб-службам.
Реализации
Реализовать базовую семантику получения / установки свойств ресурсов WSRF относительно просто. Самая сложная проблема, вероятно, заключается в возврате ошибок как базовых ошибок WSRF там, где этого требует спецификация, поскольку сами стеки SOAP предпочитают вызывать ошибки SOAPFault . Управлять временем жизни ресурсов сложнее, но это необязательно, как и WS-Notification , который сложнее всего протестировать.
- Инструментарий Globus версия 4 содержит Java и C реализации WSRF; многие другие инструменты Globus были перестроены вокруг WSRF.
- WebSphere Application Server версии 6.1 предоставляет среду WSRF, которая поддерживает как простые, так и кластерные высокодоступные конечные точки WSRF.
- У Apache Foundation есть проект Muse 2.0, который представляет собой реализацию на основе Java спецификаций WSRF, WS-Notification и WSDM .
- WSRF :: Lite - это реализация на основе Perl, которая делает исключительное использование элемента Address ссылки на конечную точку, таким образом делая WS-Resources идентифицируемыми через URI . Кроме того, WSRF :: Lite обеспечивает отображение команд HTTP на операции WSRF, что позволяет использовать WS-ресурсы в архитектурном стиле REST .
- WSRF.NET - это проект на основе .NET, посвященный спецификациям WSRF, разработанный исследовательской группой Университета Вирджинии.
- Последняя версия 6.0 UNICORE построена на Java-реализации стандарта WSRF 1.2, включая WS-ResourceLifetime и частичную реализацию WS-Notification.
Смотрите также
Рекомендации
- ^ Malcolm Аткинсон, Дэвид DeRoure, Алистер Данлоп, Джеффри Фокс, Питер Хендерсон, Тони Эй, Норман Патон, Стивен Ньюхаус, Саваш Parastatidis, Энн Trefethen, Пол Уотсон, и Джим Уэббер (2004-07-31). «Сети веб-сервисов: эволюционный подход» ( PDF ) . Серия технических отчетов по электронной науке в Великобритании. Цитировать журнал требует
|journal=
( помощь )CS1 maint: использует параметр авторов ( ссылка )