Грид технологии

Содержание

Слайд 2

Содержание

Введение. Второе поколение стандартов WS
Безопасность и WS-Security
Адресация и WS-Addressing
Состояния WS и WSRF
WS-Notification

Содержание Введение. Второе поколение стандартов WS Безопасность и WS-Security Адресация и WS-Addressing

Слайд 3

Введение. Второе поколение стандартов WS

1

Введение. Второе поколение стандартов WS 1

Слайд 4

Стандарты WS первого поколения

http://www.soaspecs.com

UDDI

SOAP

WSDL

Web Службы

Доступен
посредством

Обеспечивает
поиск

Связан с

Обеспечивает
взаимодействие
между

Описывает

Стандарты WS первого поколения http://www.soaspecs.com UDDI SOAP WSDL Web Службы Доступен посредством

Слайд 5

Некоторые стандарты WS-* (стандарты второго поколения)

WS-Coordination
WS-Transaction (and the WS-TX TC)
WS-AtomicTransaction

Некоторые стандарты WS-* (стандарты второго поколения) WS-Coordination WS-Transaction (and the WS-TX TC)

WS-BusinessActivity
WS-BPEL
BPEL4WS
WS-ReliableMessaging (and the WS-RX TC)
WS-Addressing
WS-Attachments
SwA
DIME
Plain Old XML (POX)
Representational State Transfer (REST)
WS-CDL (Choreography Description Language)

WS-Security (and the WS-SX TC)
WS-Federation
WS-SecureConversation
WS-Trust
XML Encryption
XML Signature
XKMS
XACML
SAML
WS-I Basic Security Profile
WS-Policy
WS-PolicyAssertions
WS-PolicyAttachments
WS-MetadataExchange
WS-Eventing
WS-Notification
WS-RF (Resource Framework)

http://www.soaspecs.com

Слайд 6

Некоторые стандарты WS-* (стандарты второго поколения)

http://www.soaspecs.com

Некоторые стандарты WS-* (стандарты второго поколения) http://www.soaspecs.com

Слайд 7

Организации-разработчики стандартов WS-*
Microsoft
IBM
Sun
Oracle
Globus

W3C (World Wide Consortium)
OASIS (Organization for the Advancement of Structured

Организации-разработчики стандартов WS-* Microsoft IBM Sun Oracle Globus … W3C (World Wide
Information Standards)
GGF (Global grid Forum)
DMTF (Distributed Management Task Force)
WS-I (Web Services Interoperability Organization)

Коммерческие организации

Консорциумы по стандартизации

Слайд 8

Сферы WS-* стандартов

http://www.soaspecs.com

Сферы WS-* стандартов http://www.soaspecs.com

Слайд 9

Поли-тика

Перенап-равление

Цепочки SOAP-фильтров

Входящий SOAP-
запрос

Исходящий SOAP-ответ

Трасси-ровка

Безопас-ность

Web-метод

Трасси-ровка

Безопас-ность

Перенап-равление

Поли-тика

WS-Coordination

WS-Security

WS-Policy

Девид С. Платт Платформа Microsoft 2005. М.: Русская Редакция.

Поли-тика Перенап-равление Цепочки SOAP-фильтров Входящий SOAP- запрос Исходящий SOAP-ответ Трасси-ровка Безопас-ность Web-метод
-2004

Слайд 10

Безопасность WS и WS-Security

Безопасность WS и WS-Security

Слайд 11

Проблемы с безопасностью у WS первого поколения

Стандарты Web служб первого поколения не

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

Слайд 12

Стек протоколов обеспечения безопасности в CXA

CXA - Global XML Web Services Architecture:

Стек протоколов обеспечения безопасности в CXA CXA - Global XML Web Services
семейство стандартов, представленных когламератом IBM+Microsoft+… Проходят стандартизацию OASIS и W3C
Конкурирующий набор стандартов: SAML представлен корпорациями близкими Sun Microsystems и Oracle.

Слайд 13

Стек протоколов обеспечения безопасности в CXA

SOAP

WS-Security

WS-Policy

WS-PolicyFramework

WS-PolicyAssertions

WS-Trust

WS-Privacy

WS-Authorization

WS-Federation

WS-SecureConversation

Влад Боркус. Безопасность Web-сервисного взаимодействия. – PCWEEK,

Стек протоколов обеспечения безопасности в CXA SOAP WS-Security WS-Policy WS-PolicyFramework WS-PolicyAssertions WS-Trust
№33(447). -2004

Слайд 14

WS-Security – комплексное решение задач безопасности WS

Стандарт WS-Security ориентирован на комплексное решение

WS-Security – комплексное решение задач безопасности WS Стандарт WS-Security ориентирован на комплексное
задач безопасности при взаимодействии Web-служб:
Идентификация
Цифровые подписи
Шифрование
Это позволяет ответить на такие вопросы безопасности, как:
Кого я авторизую?
Было ли изменено сообщение при пересылке?
Пришло ли это сообщение именно от того, от кого я думаю?
Как я спрячу конфиденциальную информацию?
WS-Sequrity – это только архитектура. Реальные операции по обеспечению безопасности она полагается на технологии PKI, Kerberos, SSL и т.п.

Scott Seely. Понимание WS-Security. Microsoft corp. [http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx]

Слайд 15

WS-Security и SOAP сообщения

WS-Security переносит процедуру идентификации и авторизации в пространство SOAP-сообщений.

WS-Security и SOAP сообщения WS-Security переносит процедуру идентификации и авторизации в пространство

Используя маркеры безопасности (Security Tokens) SOAP сообщение может переправить следующую информацию:
Идентификацию вызывающего: Я User Vasya Pupkin.
Принадлежность к группе: Я разработчик PupkinSite.com.
Подтверждение прав: Поскольку я разработчик PupkinSite.com, я могу создавать базы данных и добавлять Web приложения в машины PupkinSite.com.

Scott Seely. Понимание WS-Security. Microsoft corp. [http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx]

Слайд 16

Процедура обеспечения безопасности при передаче сообщения

Клиент Web-службы

Служба Маркеров Безопасности

Web-служба

1. Запрос на маркер

Процедура обеспечения безопасности при передаче сообщения Клиент Web-службы Служба Маркеров Безопасности Web-служба
безопасности (может не иметь отношения к WS)

2. Получить маркер безопасности для SOAP сообщения

3. Подписать и послать сообщение Web-службе

5. Получить ответ

4. Подтвердить маркеры

Scott Seely. Понимание WS-Security. Microsoft corp. [http://msdn.microsoft.com/webservices/understanding/advancedwebservices/default.aspx]

Слайд 17

Аутентификация пользователя

Внедряется в заголовок SOAP-сообщения:





scott
password

Аутентификация пользователя Внедряется в заголовок SOAP-сообщения: scott password ...




...

Слайд 18

Виды аутентификации WS-Security

- аутентификация пользователя посредством пары Имя пользователя-пароль.
- аутентификация

Виды аутентификации WS-Security - аутентификация пользователя посредством пары Имя пользователя-пароль. - аутентификация
посредством сертификата X.509v3
Kerberos – аутентификация посредством протокола Kerberos (Kerberos Domain Controller) (используется в Windows2000, Red Hat Linux и т.п.)

Слайд 19

UsernameToken – имя пользователя и пароль


scott
password

Пароль в виде простого

UsernameToken – имя пользователя и пароль scott password Пароль в виде простого
текста (например, при использовании SSL):


scott

KE6QugOpkPyT3Eo0SEgT30W4Keg=

5uW4ABku/m6/S5rnE+L7vg==
"http://schemas.xmlsoap.org/ws/2002/07/utility">
2002-08-19T00:44:02Z


Пароль в виде цифрового хэша:

Слайд 20

X509v3 – сертификат безопасности

ValueType="wsse:X509v3"
EncodingType="wsse:Base64Binary"
Id="SecurityToken-f49bd662-59a0-401a-ab23-1aa12764184f">
MIIHdjCCBCCAWqgAwIBAgIBGzANBgkqhkiG9w0BAQQFADBHMQ0wCwYDVQQKEwRMRwwGgYDVQQLExNDYWViZWFucyBkZXZlbG9wZXJzMRgwFgYDVQQLEw9jYWViZWFucy5uZXQucnUwHhcNMDcxMjAxMDAwMDAwWhcNMDgwMTMxMjM1OTU5Wj...

Для обеспечения

X509v3 – сертификат безопасности ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary" Id="SecurityToken-f49bd662-59a0-401a-ab23-1aa12764184f"> MIIHdjCCBCCAWqgAwIBAgIBGzANBgkqhkiG9w0BAQQFADBHMQ0wCwYDVQQKEwRMRwwGgYDVQQLExNDYWViZWFucyBkZXZlbG9wZXJzMRgwFgYDVQQLEw9jYWViZWFucy5uZXQucnUwHhcNMDcxMjAxMDAwMDAwWhcNMDgwMTMxMjM1OTU5Wj... Для обеспечения безопасности при
безопасности при использовании сертификата надо прибегнуть к дополнительным средствам обеспечения безопасности:
подпись сообщения секретным ключом сертификата;
добавление wsu:Timestamp для определения времени жизни сообщения.

Слайд 21

Подпись сообщения

Подпись сообщения лежит в рамках спецификации XML Signature.
При подписи сообщения используется

Подпись сообщения Подпись сообщения лежит в рамках спецификации XML Signature. При подписи
секретная аутентификационная информация:
UsernameToken – пароль пользователя;
X.509 – секретный ключ;
Kerberos – сеансовый ключ.

Слайд 22

Подпись сообщения




...


...


Hp1ZkmFZ/2kQLXDJbchm5gK...

Подпись сообщения ... ... Hp1ZkmFZ/2kQLXDJbchm5gK... ... *Пространство имен ds принадлежит спецификации XML









...

*Пространство имен ds принадлежит спецификации XML Signature

Влад Боркус. Безопасность Web-сервисного взаимодействия. – PCWEEK, №33(447). -2004

Слайд 23

Шифрование

Аутентификация и подпись сообщения – это не всегда достаточная мера обеспечения безопасности,

Шифрование Аутентификация и подпись сообщения – это не всегда достаточная мера обеспечения
особенно при передаче конфиденциальной информации.
За шифрование отвечает стандарт XML Encryption.

Слайд 24

Шифрование




...



Id="EncryptedContent-f6f50b24-3458-41d3-aac4-390f476f2e51"
Type="http://www.w3.org/2001/04/xmlenc#Content">

Шифрование ... Id="EncryptedContent-f6f50b24-3458-41d3-aac4-390f476f2e51" Type="http://www.w3.org/2001/04/xmlenc#Content"> "http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> Symmetric Key InmSSXQcBV5UiT... Y7RVZQqnPpZYMg== ... *Пространство
Algorithm=
"http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />

Symmetric Key



InmSSXQcBV5UiT... Y7RVZQqnPpZYMg==



...

*Пространство имен xenc принадлежит спецификации XML Encryption

Влад Боркус. Безопасность Web-сервисного взаимодействия. – PCWEEK, №33(447). -2004

Слайд 25

Адресация и WS-Addressing

Адресация и WS-Addressing

Слайд 26

Адресация в стандартах первого поколения (WSDL)

В стандартах первого поколения полный адрес WS

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

Слайд 27

Пример адресации SOAP по стандарту первого поколения

Описание WS-Addressing ведется по презентации:Siyamed Seyhmus.

Пример адресации SOAP по стандарту первого поколения Описание WS-Addressing ведется по презентации:Siyamed
WS-Addressing. SINIR SRDC

Тип передаваемого
сообщения:SOAP

Host URI

SOAP Action

Слайд 28

Использование WS-Addressing для обеспечения независимости от транспорта

В стандарте WS-Addressing предусматривается введение полей

Использование WS-Addressing для обеспечения независимости от транспорта В стандарте WS-Addressing предусматривается введение
и определяющих URI приемника сообщения и соответствующее действие:

Слайд 29

Управление ответом

В стандарте первого поколения подразумевается, что ответное сообщение передается по уже

Управление ответом В стандарте первого поколения подразумевается, что ответное сообщение передается по
открытому HTTP каналу.
При этом, нет стандартной поддержки асинхронной коммуникации между Web службами.
Стандарт WS-Addressing вводит следующие поля: , , , ,

Слайд 30

Управление ответом

У данного сообщения есть идентификатор
“uuid:someid”, и оно относится (related)
к сообщению

Управление ответом У данного сообщения есть идентификатор “uuid:someid”, и оно относится (related)
“uuid:someotherid” как
Ответ (“Reply”)

Передается адрес отправителя
адрес получения ответа и
адрес для извещения об ошибках

Слайд 31

Адресация конечных точек

WS-Addressing обеспечивает расширенную адресацию конечных точек.
Так как WSDL не поддерживает

Адресация конечных точек WS-Addressing обеспечивает расширенную адресацию конечных точек. Так как WSDL
расширение элемента «Service», в WS-Addressing определен элемент , который может быть использован в WSDL.

Слайд 32

VS < Service >

*WSDL Service element

*EndpointReference element

расширяет элемент добавляя

VS *WSDL Service element *EndpointReference element расширяет элемент добавляя поля ReferenceProperties и
поля ReferenceProperties и Policy. Address, ServiceName и PortType уже включены в элемент .

Слайд 33

Формирование SOAP-сообщения на основе

http://www.fabrikam123.example/acct

123456789

Формирование SOAP-сообщения на основе http://www.fabrikam123.example/acct 123456789 ABCDEFG xmlns:wsa="="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:fabrikam="... "> ... http://www.fabrikam123.example/acct 123456789 ABCDEFG ... ...
ABCDEFG


xmlns:wsa="="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:fabrikam="... ">

...
http://www.fabrikam123.example/acct 123456789 ABCDEFG
...


...


Слайд 34

Конструкции WS-Addressing

Таким образом, WS-Addressing определяет два вида конструкций, позволяющих унифицировать адресацию WS

Конструкции WS-Addressing Таким образом, WS-Addressing определяет два вида конструкций, позволяющих унифицировать адресацию
независимо от базового транспортного протокола:

(описание адресации конечных точек)

Message Information Header (обеспечение асинхронного, транспортно-независимого взаимодействия между WS)

Слайд 35

Презентация IBM

Состояние WS и WSRF

Презентация IBM Состояние WS и WSRF

Слайд 36

«Состояния» и стандарты первого поколения

Изначально, использование Web-служб не подразумевало существования «Состояния».
Типовой сценарий

«Состояния» и стандарты первого поколения Изначально, использование Web-служб не подразумевало существования «Состояния».
использования Web-службы: запрос – ответ – отключение. Каждый следующий запрос не зависит от предыдущего запроса.

Клиент

Web-сервис

15

Div(15,3)

5

Add(10,5)

Слайд 37

WSRF

Предложена в 2004-м году, утверждена в качестве стандарта OASIS в 2006-м году.

WSRF Предложена в 2004-м году, утверждена в качестве стандарта OASIS в 2006-м
Включает следующие стандарты:
WS-Resource specification
WS-ResourceProperties (WSRF-RP)
WS-ResourceLifetime (WSRF-RL)
WS-ServiceGroup (WSRF-SG)
WS-BaseFaults (WSRF-BF)

Слайд 38

Концепция WSRF – Web Service Resource Framework

Для разработки Grid не получилось применить

Концепция WSRF – Web Service Resource Framework Для разработки Grid не получилось
“чистые” Web-сервисы, т.к. они не обладали “состоянием”.
WSRF является попыткой решить указанную архитектурную проблему с помощью введения понятия «состояние» в Web-сервисы, превратив их в Web-ресурсы, и указав механизмы использования этого понятия.

Ресурсы

Клиент

Web-сервис

Div(3), используя ресурс B

15

4

ID: A

Add(5) используя ресурс B

5

10

ID: B

15

5

Слайд 39

Web-сервис + Ресурс = WS-ресурс

Web-сервис

Ресурсы

Filename: “install.xml”
Size: 250
Descriptors: {“install”}

Filename : “readme.txt”
Size: 120
Descriptors:

Web-сервис + Ресурс = WS-ресурс Web-сервис Ресурсы Filename: “install.xml” Size: 250 Descriptors:
{“info”}

Filename: “app.exe”
Size: 1056
Descriptors: {“application”}

ID: 0xF5412AB

ID: 0x14DC1A9

ID: 0xFF42123

Слайд 40

1. Определение свойств ресурса

XML примеры Web-ресурсов из книги: Бабу Сандарам. Что такое

1. Определение свойств ресурса XML примеры Web-ресурсов из книги: Бабу Сандарам. Что
WSRF, Часть 1. gridclub.ru

xmlns:satProp="http://example.com/satellite">
30.3
223.2
47700
49
0
32
21999992

http://example.com/satellite/2239992333.zip


Слайд 41

2. Базовый WSDL-файл


targetNamespace="http://example.com/satellite"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://example.com/satellite"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

2. Базовый WSDL-файл targetNamespace="http://example.com/satellite" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://example.com/satellite" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/06/wsrf- WS-ResourceProperties-1.2-draft-01.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

xmlns:wsrp=
"http://docs.oasis-open.org/wsrf/2004/06/wsrf-
WS-ResourceProperties-1.2-draft-01.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
"http://docs.oasis-open.org/wsrf/2004/06/wsrf-
WS-ResourceProperties-1.2-draft-01.wsdl"
location="WS-ResourceProperties.wsdl" />

xmlns:xsd="http://www.w3.org/2001/XMLSchema">
"http://schemas.xmlsoap.org/ws/2004/03/addressing"
schemaLocation="WS-Addressing.xsd" />



Слайд 42

3. Добавление ресурса к WSDL


...

xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...

3. Добавление ресурса к WSDL ... xmlns:xsd="http://www.w3.org/2001/XMLSchema"> ... ... maxOccurs="1"/> maxOccurs="1"/> ... wsrp:ResourceProperties= "tns:GenericSatelliteProperties">
type="xsd:float" />


...



maxOccurs="1"/>
maxOccurs="1"/>
...





wsrp:ResourceProperties=
"tns:GenericSatelliteProperties">


Слайд 43

4. Операция на запрос ресурса

...

...



4. Операция на запрос ресурса ... ... ... "tns:GenericSatelliteProperties"> wsa:Action="http://example.com/CreateSatellite" /> wsa:Action="http://example.com/CreateSatelliteResponse"/>





...









wsa:Action="http://example.com/CreateSatellite" />
wsa:Action="http://example.com/CreateSatelliteResponse"/>


Слайд 44

5. Запрос ресурса

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">





5. Запрос ресурса xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> org/soap/envelope/"> xmlns:wsa="http://www.w3.org/2005/02/addressing" xmlns:sat="http://example.org/satelliteSystem"> http://example.com/satellite SAT9928 Ответ:



xmlns:wsa="http://www.w3.org/2005/02/addressing"
xmlns:sat="http://example.org/satelliteSystem">
http://example.com/satellite

SAT9928




Ответ:

Слайд 45

5. Запрос состояния ресурса

xmlns:sat="http://example.org/satelliteSystem"
xmlns:wsa="http://www.w3.org/2005/02/addressing"
xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-
WS-ResourceProperties-1.2-draft-01.xsd">


http://docs.oasis-open.org/wsrf/2004/06/WS-ResourceProperties/

5. Запрос состояния ресурса soap/envelope/" xmlns:sat="http://example.org/satelliteSystem" xmlns:wsa="http://www.w3.org/2005/02/addressing" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf- WS-ResourceProperties-1.2-draft-01.xsd"> http://docs.oasis-open.org/wsrf/2004/06/WS-ResourceProperties/ GetResourceProperty http://example.com/satellite SAT9928 xmlns:satProp="http://example.com/satellite"> satProp:altitude

GetResourceProperty


http://example.com/satellite

SAT9928


xmlns:satProp="http://example.com/satellite">
satProp:altitude



Слайд 46

Реализация WSRF

The Globus Toolkit 4: реализация WSRF на Java и C (WS-Core).
WebSphere

Реализация WSRF The Globus Toolkit 4: реализация WSRF на Java и C
Application Server 6.1: предоставляет среду WSRF для реализации конечных точек.
Muse 2.0 (Apache Foundation): реализация на Java WSRF, WS-Notification и WSDM (Web Services Distributed Management).
WSRF::Lite: реализация WSRF на perl.
WSRF.NET: реализация стандарта WSRF на .NET.
UNICORE 6.0: реализация стандарта WSRF 1.2 и WS-Notification на Java.

Слайд 47

Презентация IBM

WS-Notification

Презентация IBM WS-Notification

Слайд 48

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

http://www.soaspecs.com – перечень стандартов и спецификаций Web-служб с ссылками на

Ссылки и литература http://www.soaspecs.com – перечень стандартов и спецификаций Web-служб с ссылками
организации-разработчики.
http://www.devarticles.com/c/b/Web-Services - сборник статей по разработке и практическому применению Web-служб, включая стандарты WSRF, WS-Addressing и WS-Notification
Бабу Сандарам. Что такое WSRF, Часть 1. [http://www.gridclub.ru/library/publication.2005-10-17.1342842216/view] – пособие для разработчиков Web-служб.
Леонид Черняк. Web-сервисы, grid-сервисы и другие. Открытые системы. №12. -2004. [http://www.osp.ru/os/2004/12/184882/] – отличная статья про историю взаимодействия Web-служб и грид
Имя файла: Грид-технологии.pptx
Количество просмотров: 256
Количество скачиваний: 2