+ All Categories
Home > Documents > Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web...

Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web...

Date post: 31-Mar-2015
Category:
Upload: efrain-bottrell
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
22
Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services
Transcript
Page 1: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

Claus von Riegen, SAP AG

WS-Policy OverviewW3C Workshop on Constraints and Capabilities for Web Services

Page 2: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

WS-PolicyAttachment

Outlook

Where we are coming from

WS-Policy

Page 3: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 3

Web Services Model

CreatePurchaseOrderRequest

CreatePurchaseOrderResponse

ProviderConsumer

Broker (UDDI)

CreatePurchase

OrderSOAP/HTTP

PublishServiceFindService

PublishServiceMetadata

(e.g. WSDL location)FindServ

iceResponse

FindServiceRequest

Page 4: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 4

Requirements for a Web services policy language

Expressiveness Describe any Web service constraint and capability

Carry parameters

Provide mechanism to specify compositions and alternatives

Robustness Don‘t change whenever new Web service constraints and capabilities

are developed

Composeability Attach policy to WSDL elements and UDDI entities

Associate policy with WS-Addressing Endpoint References

Non-Goals Domain-specific policy attributes

Policy exchange model

Page 5: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

WS-PolicyAttachment

Outlook

Where we are coming from

WS-Policy

Page 6: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 6

<wsp:Policy> <wsp:ExactlyOne> <wsp:All> <Assertion> ... </Assertion> ... <Assertion> ... </Assertion> </wsp:All> ... <wsp:All> <Assertion> ... </Assertion> ... <Assertion> ... </Assertion> </wsp:All> </wsp:ExactlyOne></wsp:Policy>

„Policy Normal Form“

WS-Policy Information Model

Policy ExpressionCollection of alternatives(„pick one“)

Policy AlternativeCollection of assertions(„do all“)

Policy AssertionDomain-specific behavior

Page 7: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 7

Compact Form – Nested Operators

<wsp:All> and <wsp:ExactlyOne> operators can be nested arbitrarily Transformation to normal form using set theory (commutativity,

associativity, idempotency, distributivity)

Example <All> distributes over <ExactlyOne>

<ExactlyOne> <All><Assertion1><Assertion3></All> <All><Assertion1><Assertion4></All> <All><Assertion2><Assertion3></All> <All><Assertion2><Assertion4></All></ExactlyOne>

<All> <ExactlyOne> <Assertion1> <Assertion2> </ExactlyOne> <ExactlyOne> <Assertion3> <Assertion4> </ExactlyOne></All>

Isequivalent

to

Page 8: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 8

Compact Form – Optional Attribute

Assertions may carry the wsp:Optional attribute An alternative with and an alternative without the assertion

Simplification of prior wsp:Usage attribute

Example<ExactlyOne> <All> <Assertion> ... </Assertion> </All> <All /></ExactlyOne>

<Assertion wsp:Optional="true" > ...</Assertion>

Isequivalent

to

Page 9: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 9

Compact Form – Reference Mechanism

URI-based policy identification mechanism wsu:ID attribute is used to specify a fragment identifier

<PolicyReference> element to reuse common expressions Included as is where referenced

<wsp:Policy xml:base="http://fabrikam123.com/policies" wsu:Id="AUDIT" > <wssx:Audit wsp:Optional="true" /></wsp:Policy>

<wsp:Policy> <wsp:PolicyReference URI="#AUDIT" /> <wsse:SecurityToken> <wsse:TokenType>wsse:X509v3</wsse:TokenType> </wsse:SecurityToken></wsp:Policy>

<wsp:Policy> <wssx:Audit wsp:Optional="true" /> <wsse:SecurityToken> <wsse:TokenType>wsse:X509v3</wsse:TokenType> </wsse:SecurityToken></wsp:Policy>

Page 10: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 10

Intersection

Do two Web service endpoints have compatible policy? At design time to “wire together” compatible services

At runtime to select compatible options (see next slide)

Compatibility of alternatives It is necessary that alternatives at least have the same assertion types

Assertion-specific intersection needs to be determined per assertion type

<All> <ExactlyOne> <Assertion1 …> <Assertion2 …> </ExactlyOne> <ExactlyOne> <Assertion3 …> <Assertion4 …> </ExactlyOne></All>

<All> <ExactlyOne> <Assertion1 …> <Assertion2 …> </ExactlyOne> <ExactlyOne> <Assertion3 …> </ExactlyOne> <ExactlyOne> <Assertion3 …> <Assertion4 …> </ExactlyOne></All>

?

?

Page 11: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 11

Runtime Intersection

Requester Provider

GetMetadata

(To: P)'

To: P

R out P inIntersect

Alternative

Apply

Validate

Policy used byR to send

messages out

Policy used byP to receivemessages in

Page 12: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

WS-PolicyAttachment

Outlook

Where we are coming from

WS-Policy

Page 13: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 13

Web Services Policy Attachment (WS-PolicyAttachment)

Association of policies with Web service subjects

Subject type Arbitrary XML elements

WSDL elements

UDDI entities

Association type Internal association (see next slide)

External associationPolicyAttachment associates

policy to domain expressions(identified by URI)

Domain expression can beWS-Addressing endpoint ref.

<PolicyAttachment> <AppliesTo> <DomainExpression/> + </AppliesTo> ( <Policy/> | <PolicyReference/> ) +</PolicyAttachment>

Page 14: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 14

Attaching Policy to WSDL and UDDI

WSDL Policy references are made via global attributes or PolicyReference element as defined in WS-Policy

Policy references can be made to policy expressions defined inline, e.g. in wsdl:definitions section

UDDI Policy references are made via UDDI categorization mechanism

Policy expressions are always remote to UDDI entities

Reusable policy expressions can be registered as distinct tModels

Policy-based discovery is limited to policy expression URIs

PolicyWSDL

WSDLP

UDDIPolicy

UDDIPolicy

Page 15: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 15

Effective Policy Calculation

WSDL Policy is merged from abstract to

concrete levels

message

portType operation*

input

output

fault

0..1

0..1

*

1*1

*

1

*

binding

1

*

service port*

operationbinding

*

1*

1

*

inputbinding

0..1

outputbinding

0..1

faultbinding

*

10..1

1

0..1

1

0..1

Policy merged

ServiceServicePolicyPolicy

SubjectSubject

EndpointEndpointPolicyPolicy

SubjectSubject

OperationOperationPolicyPolicy

SubjectSubject

MessageMessagePolicyPolicy

SubjectSubject

Page 16: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 16

Merging

Example<definitions name="StockQuote" ...> ... <portType name="StockQuotePortType" wsp:PolicyURIs="#RM" > <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceRequest" wsp:PolicyURIs="#DSIG" /> <output message="tns:GetLastTradePriceResponse" /> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType" > <wsp:PolicyReference URI="#AUDIT" /> <soap:binding style="document" ... /> <operation name="GetLastTradePrice" > <soap:operation soapAction="http://example.com/GetLastTradePrice" /> <input> <wsp:PolicyReference URI="#TOK" /> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding></definitions>

StockQuoteSoapBinding Policy = "RM" & "AUDIT" GetLastTradePriceRequest Input Binding Policy = "DSIG" & "TOK"

Page 17: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 17

Policy Subject Types

Message Policy

CreatePurchaseOrderRequest

CreatePurchaseOrderResponse

CreatePurchaseOrder

GetProductCatalogRequest

GetProductCatalogResponse

GetProductCatalog

SOAP/HTTP

SMTP

SOAP/HTTP

Provider Policy

Service Policy

Endpoint Policy

Operation Policy

ProviderRequester

Page 18: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 18

Policy Assertions

Policy assertions are domain-specific Strongly typed

Separate XML schema (syntax) and specification (semantics)

Arbitrary nested structure of XML elements and attributesAllows modeling of domain-specific complexity

Separate namespace

Assertion complexity Simple assertions <Auditing>

Parameterized assertions <BaseRetransmissionInterval MilliSeconds="3000">

Consequence for policy processors Support WS-Policy syntax directly

Delegate policy assertion processing to assertion-specific handlersAssertion-specific intersection, merge, and validation

Page 19: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

WS-PolicyAttachment

Outlook

Where we are coming from

WS-Policy

Page 20: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 20

Policy Exchange

Peer-to-peer Consumer retrieves policy from provider (e.g. WS-MetadataExchange)

Brokered approach Provider publishes policy to broker (e.g. UDDI)

Consumers subscribe to Web services used

Broker notifies consumers in case changes occur

ProviderConsumer

P

Broker

ConsumerConsumer

ConsumerP'

Page 21: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 21

WS-Policy Roadmap

Republished September 2004 WS-Policy & WS-PolicyAttachments

Initial Interoperability TestingMerging, Intersection, Normalization, Effective Policy CalculationLive endpoints available

Next steps Demonstrate Interoperability enabled by WS-Policy

Using domain-specific scenario

Co-authors will develop a standardization planWS-Policy is already published with royalty-free licensing termsWS-Policy will be submitted to a standards body

Page 22: Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.

SAP AG 2004, WS-Policy Overview / C. v. Riegen / 22

Q&A


Recommended