SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
WS-Policy Attachments:
  Message Content Filters 1.1


Latest version: 11 November 2011

© Copyright IBM Corporation 2011, 2012.



Abstract
[WS-PolicyAttachment] defines general purposes mechanisms for associating
policies, as defined in [WS-Policy], with the subjects to which they apply. The
policy attachment specification, as a framework, allows for extensibility through
the definition and application of domain-specific policy subjects.

WS-MessageContentFilters defines an expression syntax for scoping policies to
specific consumers using the extensibility of the [WS-PolicyAttachment] syntax
and therefore enabling a policy subject to represent a consumer-provider
relationship.


Status of this Document
This document is an IBM specification that has been adopted by IBM products
for integration. Here are the document's Terms of use.


Table of Contents
1.Introduction.......................................................................................................................2
   1.2 Namespaces................................................................................................................3
   1.3 Example.....................................................................................................................4
2. Message Content Filter....................................................................................................5
Appendices...........................................................................................................................9
   A. Normative References.................................................................................................9
   B. XML Schema..............................................................................................................9
   C. Acknowledgments (Non-Normative)........................................................................10
   D. Change Log...............................................................................................................11


                                                                  1
1. Introduction
[WS-PolicyAttachment] defines a way to associate a policy with a Web service
entity, and thus to define the constraints and requirements under which
consumers are to interact with a service. For instance this can be used to
associate with a service a policy for securing messages.

However, using typical WS-PolicyAttachment policy subject standards (for
example WSDL 1.1 Element Identifiers or WS-Addressing) one is restricted to
associate with a service a policy that applies to all consumers indiscriminately.
WS-PolicyAttachment alone does not address cases where one needs the
policy associated with a service to vary depending on the consumer involved.
Service Level Agreements (SLA) are such a case.

This specification extends WS-PolicyAttachments by defining a way to associate
different policies to different consumers by using Message Content Filters. This
specification defines the message content filters syntax and semantics.

1.1 Notational Conventions
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC 2119 [RFC 2119].

This specification uses the following syntax to define outlines for messages:

   •   The syntax appears as an XML instance, but values in italics indicate data
       types instead of literal values.
   •   Characters are appended to elements and attributes to indicate
       cardinality:
           o "?" (0 or 1)
           o "*" (0 or more)
           o "+" (1 or more)
   •   The character "|" is used to indicate a choice between alternatives.
   •   The characters "(" and ")" are used to indicate that contained items are to
       be treated as a group with respect to cardinality or choice.
   •   The characters "[" and "]" are used to call out references and property
       names.
   •   Ellipses (i.e., "...") indicate points of extensibility.
   •   XML namespace prefixes (see below table) are used to indicate the
       namespace of the element being defined.




                                         2
This specification can be used in terms of XML Information Set (Infoset) [XML
Infoset], even though the specification uses XML 1.0 terminology. Valid Infoset
for this specification is the one serializable in XML 1.0, hence the use of XML
1.0.

1.2 Namespaces
The XML namespace that MUST be used by implementers of this specification
is:
   http://www.ibm.com/xmlns/stdwip/2011/02/ws-message-content-filters

The table below lists XML namespaces that are used in this specification. The
choice of any namespace prefix is arbitrary and not semantically significant.

Prefix XML Namespaces                                   Specification(s)
       http://www.ibm.com/xmlns/stdwip/2011/02/ws-
wsmcf                                                   This specification
       message-content-filters
s      (Either SOAP 1.1 or 1.2)                         (Either SOAP 1.1 or 1.2)
s11    http://schemas.xmlsoap.org/soap/envelope/        [SOAP11]
s12    http://www.w3.org/2003/05/soap-envelope          [SOAP12]
wsa    http://www.w3.org/2005/08/addressing             [WS-Addressing]
wsp    http://www.w3.org/ns/ws-policy                   [WS-Policy]
xs     http://www.w3.org/2001/XMLSchema                 [XMLSchema - Part 1]


1.3 Example
The WS-PolicyAttachment document below describes a Service Level
Agreement between a service provider and service consumer by associating the
agreement’s policy with the intersection of the service provider (using URI) and
consumer (using Message Content Filters). The message content filters syntax
and semantics (lines [06] to [20]) are defined in this document.
(01) <wsp:PolicyAttachment>
(02) <wsp:AppliesTo>
(03)    <wsp:URI>
(04)       http://example.org/AccountProvider.wsdl11#service(AccountManagement)
(05)    </wsp:URI>
(06)   <wsmcf:MessageContent Name="WebBanking 'Gold' Filter">
(07)    <wsmcf:Filter Name="ConsumerId">
(08)       <wsmcf:Value>WebBankingApp</wsmcf:Value>
(09)       <wsmcf:Location Type="http://www.w3.org/TR/1999/REC-xpath-19991116">
(10)          //http://acme.enterprise.com:ConsumerId
(11)       </wsmcf:Location>
(12)    </wsmcf:Filter>
(13)    <wsmcf:Filter Name="ContextId">



                                        3
(14)        <wsmcf:Value>GoldTier</wsmcf:Value>
(15)        <wsmcf:Location Type="http://www.w3.org/TR/1999/REC-xpath-19991116">
(16)            //http://acme.enterprise.com:ContextId
(17)        </wsmcf:Location>
(18)     </wsmcf:Filter>
(19)    </wsmcf:MessageContent>
(20)   </wsp:AppliesTo>
(21)     <wsp:PolicyReference URI="..."/>
(22)   </wsp:PolicyAttachment>


In the example above, lines [02] to [21] define the subject to which the policy on
line [21] applies. The policy reference is omitted for brevity.

The first part of the subject definition defines the service provider to which the
policy applies as the AccountManagement service (lines [03] to [05]).

The policy subject is further qualified by lines [06] to [19] which define the policy
application to messages targeted at the AccountManagement service that
adhere to two filter conditions (lines [08] to [11] and lines [13] to [18]).

The first filter condition identifies messages with a SOAP header
http://acme.enterprise.com:ConsumerId with the value “WebBankingApp”.

The second filter condition identifies messages with a SOAP header
http://acme.enterprise.com:ContextId with the value “GoldTier”.

The following is an example of a SOAP message to which the policy defined on
line [21] would be applied if the message was targeted at the
AccountManagement Service.

(01) <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
(02)                  xmlns:wsa="http://www.w3.org/2005/08/addressing"
(03)                  xmlns:ae="http://acme.enterprise.com">
(04)   <s:Header>
(05)    <wsa:MessageID>
(06)         http://example.com/6B29FC40-CA47-1067-B31D-00DD010662DA
(07)    </wsa:MessageID>
(08)    <wsa:To>
(09)         http://acme.enterprise.com/AccountProvider
(10)    </wsa:To>
(11)    <wsa:Action>
(12)         http://acme.enterprise.com/AccountProvider/OpenAccount
(13)    </wsa:Action>
(14)    <ae:ConsumerId>WebBankingApp</ae:ConsumerId>
(15)    <ae:ContextId>GoldTier</ae:ContextId>
(16)   </s:Header>
(17)   <s:Body>
(18)     ...
(19)   </s:Body>
(20) </s:Envelope>




                                          4
2. Message Content Filter
The outline for the Message Content Filter is:

  <wsmcf:MessageContent Name="xs:string"?>

     (<wsmcf:Filter Name=”xs:string”>

        <wsmcf:Value>
          xs:string
        </wsmcf:Value>

        <wsmcf:Location Type="xs:anyURI"?>
            xs:string
        </wsmcf:Location

     </wsmcf:Filter> *
     |
     <wsmcf:Anonymous/>?)

     xs:any*

  </wsmcf:MessageContent>


The following describes additional constraints on the outline listed above:

/wsmcf:MessageContent

      This element describes the consumers to which the policy applies using
      one or more wsmcf:Filter elements or a wsmcf:Anonymous element.

      If more than one wsmcf:Filter is specified they must all be adhered to
      in order for the policy to apply.

      If a wsmcf:Anonymous element is specified, no other policies must be
      associated with the subject for the policy to apply.

      If no wsmcf:Filters or wsmcf:Anonymous are specified, the policy
      applies to all messages independently of the consumer.

/wsmcf:MessageContent@Name

      When present this OPTIONAL attribute provides the name of the policy.

/wsmcf:MessageContent/wsmcf:Filter

      This optionally repeating OPTIONAL element defines a filter condition
      refining the consumers to which the policy applies. Each filter defines a

                                         5
wsmcf:Location and wsmcf:Value pair. The filter applies when the
      value found in a message at the wsmcf:Location matches the
      wsmcf:Value.

      When wsmcf:Location points to several locations in a message the
      filter applies if any of the values found at these locations matches the
      wsmcf:Value.

/wsmcf:MessageContent/wsmcf:Filter@Name

      This OPTIONAL attribute specifies the name of the Filter.

/wsmcf:MessageContent/wsmcf:Filter/wsmcf:Value

      This REQUIRED element defines the value to be found at the
      wsmcf:Location for this filter to apply.

/wsmcf:MessageContent/wsmcf:Filter/wsmcf:Location

      This REQUIRED element defines the Location of the value in the
      message that is to be tested for this filter.

/wsmcf:MessageContent/wsmcf:Filter/wsmcf:Location@Type

      This OPTIONAL attribute defines the syntax of the wsmcf:Location
      element. If it is not specified, it defaults to:
      “http://www.w3.org/TR/1999/REC-xpath-19991116”.

      The following table lists the values for wsmcf:Location@Type defined
      by this specification. The short value is an alias that can be used as an
      alternative to the long one.

  Value of Type attribute            Short Value of    Location Semantics
                                     Type attribute
  http://www.w3.org/TR/1999/REC xpath10                The wsmcf:Location is in the
  -xpath-19991116                                      XML message content and defined
                                                       in XPath 1.0 expression format.
                                                       This is the default value.
  http://www.ietf.org/rfc/rfc2616    http11header      The wsmcf:Location is a HTTP
                                                       Header definition defined by the
                                                       HTTP/1.1 Header Field Definition
                                                       format.



                                        6
/wsmcf:MessageContent/wsmcf:Anonymous

     When present this non repeating OPTIONAL element specifies that the
     policy applies to anonymous consumers only.

     This is considered a new and global type of policy subject. An
     attachement document which uses this subject is semantically different
     from an attachment document with no wsmcf:MessageContent element
     at all. Policies that are attached using this element are applied to
     messages which have no other associated policies using an explicit
     Message Content Filter policy subject.

     This element effectively provides a way of defining a default policy which
     applies to consumers for which no other policy applies, and only those
     consumers. If a different policy is attached to a consumer via another
     message content filer the default policy does not apply to that consumer.

     The default policy applies to anonymous consumers as a whole. If, for
     instance, the default policy limits the number of transactions to 500
     messages per second, that limit applies to the totality of messages from
     anonymous consumers, rather than to the number of messages from
     each anonymous consumer.

/wsmcf:MessageContent/xs:any

     This is an extensibility point.




                                       7
Appendices
A. Normative References
WS-Policy
     W3C Recommendation, "Web Services Policy (WS-Policy) 1.5 - Framework" , A.
     Vedamuthu, et al., Editors. World Wide Web Consortium (W3C), 4
     September 2007. Available at http://www.w3.org/TR/ws-policy/.
WS-PolicyAttachment
     W3C Recommendation, "Web Services Policy (WS-Policy) 1.5 - Attachment" ,
     A. Vedamuthu, et al., Editors. World Wide Web Consortium (W3C), 4
     September 2007. Available at http://www.w3.org/TR/ws-policy-attach/.
XMLSchema - Part 1
     W3C Recommendation, "XML Schema Part 1: Structures (Second Edition)" , H.
     Thompson, et al., Editors. World Wide Web Consortium (W3C), 28
     October 2004. Available at http://www.w3.org/TR/xmlschema-1/.
XMLSchema - Part 2
     W3C Recommendation, "XML Schema Part 2: Datatypes (Second Edition)" , P.
     Biron, A. Malhotra, Editors. World Wide Web Consortium (W3C), 28
     October 2004. Available at http://www.w3.org/TR/xmlschema-2/.
PCRE
     “Perl Compatible Regular Expression”. Available at http://pcre.org.
URI
     RFC3986, “Uniform Resource Identifier (URI): Generic Syntax”, January 2005.
     Available at http://www.gbiv.com/protocols/uri/rfc/rfc3986.html.


B. XML Schema
A non-normative copy of the XML schema is listed below for convenience.

  <?xml version="1.0" encoding="UTF-8"?>
  <xs:schema
  targetNamespace="http://www.ibm.com/xmlns/stdwip/2011/01/ws-message-
  content-filters"
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://www.ibm.com/xmlns/stdwip/2011/01/ws-message-content-
  filters">

    <xs:element name="MessageContent">
      <xs:complexType>
        <xs:sequence>
          <!-- Left out to avoid non-deterministic content model
               and provide for extensibility
          <xs:choice>


                                       8
<xs:element ref="Filter" maxOccurs="unbounded" minOccurs="0">
          </xs:element>
          </xs:element>
          <xs:element ref="Anonymous" maxOccurs="1" minOccurs="0">
          </xs:element>
          </xs:choice> -->
          <xs:any maxOccurs="unbounded" minOccurs="0"
                  processContents="lax"/>
        </xs:sequence>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
      </xs:complexType>
    </xs:element>

    <xs:element name="Filter">
      <xs:complexType>
        <xs:sequence>
          <xs:element minOccurs="1" maxOccurs="1" ref="Value"/>
          <xs:element minOccurs="1" maxOccurs="1" ref="Location"/>
        </xs:sequence>
        <xs:attribute name="Name" type="xs:string"/>
      </xs:complexType>
    </xs:element>

    <xs:element name="Value" type="xs:string" />

    <xs:element name="Location">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:string">
            <xs:attribute name="Type" type="xs:anyURI" use="optional"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>

    <xs:element name="Anonymous">
      <xs:complexType></xs:complexType>
    </xs:element>

  </xs:schema>


C. Acknowledgments (Non-Normative)
This specification was developed with input from several people over a period of
time. This includes Robert Laird, Arnaud J Le Hors, Heather Kreger, Katy Warr,
Mario De Armas, Mark Weatherill, and Steve Groeger.




                                       9
D. Change Log

  Data    Author                         Description
2011/11/11 IBM     Document finalized.




                                    10

Más contenido relacionado

Similar a WS-PolicyAttachment: Message Content Filters 1.1

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Servicesphanleson
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICEijwscjournal
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICEijwscjournal
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICEijwscjournal
 
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
SoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzcSoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
SoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzcImran Gadi
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptxssuserae0316
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Web services
Web servicesWeb services
Web servicesaspnet123
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspectivePooja Dixit
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Beginning with wcf service
Beginning with wcf serviceBeginning with wcf service
Beginning with wcf serviceBinu Bhasuran
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationJeffrey Hasan
 
Web Services Atomic Transactio
 Web Services Atomic Transactio Web Services Atomic Transactio
Web Services Atomic TransactioRoger Xia
 
Constraints Make You Sexy - What is Rest
Constraints Make You Sexy  - What is RestConstraints Make You Sexy  - What is Rest
Constraints Make You Sexy - What is Restanorqiu
 

Similar a WS-PolicyAttachment: Message Content Filters 1.1 (20)

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
5414ijwsc01
5414ijwsc015414ijwsc01
5414ijwsc01
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICE
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICE
 
NEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICENEGOTIATION ON A NEW POLICY IN SERVICE
NEGOTIATION ON A NEW POLICY IN SERVICE
 
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
SoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzcSoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Web services
Web servicesWeb services
Web services
 
DDS-TSN OMG Request for Proposals (RFP)
DDS-TSN OMG Request for Proposals (RFP)DDS-TSN OMG Request for Proposals (RFP)
DDS-TSN OMG Request for Proposals (RFP)
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspective
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Beginning with wcf service
Beginning with wcf serviceBeginning with wcf service
Beginning with wcf service
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Web Services Atomic Transactio
 Web Services Atomic Transactio Web Services Atomic Transactio
Web Services Atomic Transactio
 
eGif (Expunged)
eGif (Expunged)eGif (Expunged)
eGif (Expunged)
 
Constraints Make You Sexy - What is Rest
Constraints Make You Sexy  - What is RestConstraints Make You Sexy  - What is Rest
Constraints Make You Sexy - What is Rest
 

Último

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Último (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

WS-PolicyAttachment: Message Content Filters 1.1

  • 1. WS-Policy Attachments: Message Content Filters 1.1 Latest version: 11 November 2011 © Copyright IBM Corporation 2011, 2012. Abstract [WS-PolicyAttachment] defines general purposes mechanisms for associating policies, as defined in [WS-Policy], with the subjects to which they apply. The policy attachment specification, as a framework, allows for extensibility through the definition and application of domain-specific policy subjects. WS-MessageContentFilters defines an expression syntax for scoping policies to specific consumers using the extensibility of the [WS-PolicyAttachment] syntax and therefore enabling a policy subject to represent a consumer-provider relationship. Status of this Document This document is an IBM specification that has been adopted by IBM products for integration. Here are the document's Terms of use. Table of Contents 1.Introduction.......................................................................................................................2 1.2 Namespaces................................................................................................................3 1.3 Example.....................................................................................................................4 2. Message Content Filter....................................................................................................5 Appendices...........................................................................................................................9 A. Normative References.................................................................................................9 B. XML Schema..............................................................................................................9 C. Acknowledgments (Non-Normative)........................................................................10 D. Change Log...............................................................................................................11 1
  • 2. 1. Introduction [WS-PolicyAttachment] defines a way to associate a policy with a Web service entity, and thus to define the constraints and requirements under which consumers are to interact with a service. For instance this can be used to associate with a service a policy for securing messages. However, using typical WS-PolicyAttachment policy subject standards (for example WSDL 1.1 Element Identifiers or WS-Addressing) one is restricted to associate with a service a policy that applies to all consumers indiscriminately. WS-PolicyAttachment alone does not address cases where one needs the policy associated with a service to vary depending on the consumer involved. Service Level Agreements (SLA) are such a case. This specification extends WS-PolicyAttachments by defining a way to associate different policies to different consumers by using Message Content Filters. This specification defines the message content filters syntax and semantics. 1.1 Notational Conventions The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC 2119]. This specification uses the following syntax to define outlines for messages: • The syntax appears as an XML instance, but values in italics indicate data types instead of literal values. • Characters are appended to elements and attributes to indicate cardinality: o "?" (0 or 1) o "*" (0 or more) o "+" (1 or more) • The character "|" is used to indicate a choice between alternatives. • The characters "(" and ")" are used to indicate that contained items are to be treated as a group with respect to cardinality or choice. • The characters "[" and "]" are used to call out references and property names. • Ellipses (i.e., "...") indicate points of extensibility. • XML namespace prefixes (see below table) are used to indicate the namespace of the element being defined. 2
  • 3. This specification can be used in terms of XML Information Set (Infoset) [XML Infoset], even though the specification uses XML 1.0 terminology. Valid Infoset for this specification is the one serializable in XML 1.0, hence the use of XML 1.0. 1.2 Namespaces The XML namespace that MUST be used by implementers of this specification is: http://www.ibm.com/xmlns/stdwip/2011/02/ws-message-content-filters The table below lists XML namespaces that are used in this specification. The choice of any namespace prefix is arbitrary and not semantically significant. Prefix XML Namespaces Specification(s) http://www.ibm.com/xmlns/stdwip/2011/02/ws- wsmcf This specification message-content-filters s (Either SOAP 1.1 or 1.2) (Either SOAP 1.1 or 1.2) s11 http://schemas.xmlsoap.org/soap/envelope/ [SOAP11] s12 http://www.w3.org/2003/05/soap-envelope [SOAP12] wsa http://www.w3.org/2005/08/addressing [WS-Addressing] wsp http://www.w3.org/ns/ws-policy [WS-Policy] xs http://www.w3.org/2001/XMLSchema [XMLSchema - Part 1] 1.3 Example The WS-PolicyAttachment document below describes a Service Level Agreement between a service provider and service consumer by associating the agreement’s policy with the intersection of the service provider (using URI) and consumer (using Message Content Filters). The message content filters syntax and semantics (lines [06] to [20]) are defined in this document. (01) <wsp:PolicyAttachment> (02) <wsp:AppliesTo> (03) <wsp:URI> (04) http://example.org/AccountProvider.wsdl11#service(AccountManagement) (05) </wsp:URI> (06) <wsmcf:MessageContent Name="WebBanking 'Gold' Filter"> (07) <wsmcf:Filter Name="ConsumerId"> (08) <wsmcf:Value>WebBankingApp</wsmcf:Value> (09) <wsmcf:Location Type="http://www.w3.org/TR/1999/REC-xpath-19991116"> (10) //http://acme.enterprise.com:ConsumerId (11) </wsmcf:Location> (12) </wsmcf:Filter> (13) <wsmcf:Filter Name="ContextId"> 3
  • 4. (14) <wsmcf:Value>GoldTier</wsmcf:Value> (15) <wsmcf:Location Type="http://www.w3.org/TR/1999/REC-xpath-19991116"> (16) //http://acme.enterprise.com:ContextId (17) </wsmcf:Location> (18) </wsmcf:Filter> (19) </wsmcf:MessageContent> (20) </wsp:AppliesTo> (21) <wsp:PolicyReference URI="..."/> (22) </wsp:PolicyAttachment> In the example above, lines [02] to [21] define the subject to which the policy on line [21] applies. The policy reference is omitted for brevity. The first part of the subject definition defines the service provider to which the policy applies as the AccountManagement service (lines [03] to [05]). The policy subject is further qualified by lines [06] to [19] which define the policy application to messages targeted at the AccountManagement service that adhere to two filter conditions (lines [08] to [11] and lines [13] to [18]). The first filter condition identifies messages with a SOAP header http://acme.enterprise.com:ConsumerId with the value “WebBankingApp”. The second filter condition identifies messages with a SOAP header http://acme.enterprise.com:ContextId with the value “GoldTier”. The following is an example of a SOAP message to which the policy defined on line [21] would be applied if the message was targeted at the AccountManagement Service. (01) <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" (02) xmlns:wsa="http://www.w3.org/2005/08/addressing" (03) xmlns:ae="http://acme.enterprise.com"> (04) <s:Header> (05) <wsa:MessageID> (06) http://example.com/6B29FC40-CA47-1067-B31D-00DD010662DA (07) </wsa:MessageID> (08) <wsa:To> (09) http://acme.enterprise.com/AccountProvider (10) </wsa:To> (11) <wsa:Action> (12) http://acme.enterprise.com/AccountProvider/OpenAccount (13) </wsa:Action> (14) <ae:ConsumerId>WebBankingApp</ae:ConsumerId> (15) <ae:ContextId>GoldTier</ae:ContextId> (16) </s:Header> (17) <s:Body> (18) ... (19) </s:Body> (20) </s:Envelope> 4
  • 5. 2. Message Content Filter The outline for the Message Content Filter is: <wsmcf:MessageContent Name="xs:string"?> (<wsmcf:Filter Name=”xs:string”> <wsmcf:Value> xs:string </wsmcf:Value> <wsmcf:Location Type="xs:anyURI"?> xs:string </wsmcf:Location </wsmcf:Filter> * | <wsmcf:Anonymous/>?) xs:any* </wsmcf:MessageContent> The following describes additional constraints on the outline listed above: /wsmcf:MessageContent This element describes the consumers to which the policy applies using one or more wsmcf:Filter elements or a wsmcf:Anonymous element. If more than one wsmcf:Filter is specified they must all be adhered to in order for the policy to apply. If a wsmcf:Anonymous element is specified, no other policies must be associated with the subject for the policy to apply. If no wsmcf:Filters or wsmcf:Anonymous are specified, the policy applies to all messages independently of the consumer. /wsmcf:MessageContent@Name When present this OPTIONAL attribute provides the name of the policy. /wsmcf:MessageContent/wsmcf:Filter This optionally repeating OPTIONAL element defines a filter condition refining the consumers to which the policy applies. Each filter defines a 5
  • 6. wsmcf:Location and wsmcf:Value pair. The filter applies when the value found in a message at the wsmcf:Location matches the wsmcf:Value. When wsmcf:Location points to several locations in a message the filter applies if any of the values found at these locations matches the wsmcf:Value. /wsmcf:MessageContent/wsmcf:Filter@Name This OPTIONAL attribute specifies the name of the Filter. /wsmcf:MessageContent/wsmcf:Filter/wsmcf:Value This REQUIRED element defines the value to be found at the wsmcf:Location for this filter to apply. /wsmcf:MessageContent/wsmcf:Filter/wsmcf:Location This REQUIRED element defines the Location of the value in the message that is to be tested for this filter. /wsmcf:MessageContent/wsmcf:Filter/wsmcf:Location@Type This OPTIONAL attribute defines the syntax of the wsmcf:Location element. If it is not specified, it defaults to: “http://www.w3.org/TR/1999/REC-xpath-19991116”. The following table lists the values for wsmcf:Location@Type defined by this specification. The short value is an alias that can be used as an alternative to the long one. Value of Type attribute Short Value of Location Semantics Type attribute http://www.w3.org/TR/1999/REC xpath10 The wsmcf:Location is in the -xpath-19991116 XML message content and defined in XPath 1.0 expression format. This is the default value. http://www.ietf.org/rfc/rfc2616 http11header The wsmcf:Location is a HTTP Header definition defined by the HTTP/1.1 Header Field Definition format. 6
  • 7. /wsmcf:MessageContent/wsmcf:Anonymous When present this non repeating OPTIONAL element specifies that the policy applies to anonymous consumers only. This is considered a new and global type of policy subject. An attachement document which uses this subject is semantically different from an attachment document with no wsmcf:MessageContent element at all. Policies that are attached using this element are applied to messages which have no other associated policies using an explicit Message Content Filter policy subject. This element effectively provides a way of defining a default policy which applies to consumers for which no other policy applies, and only those consumers. If a different policy is attached to a consumer via another message content filer the default policy does not apply to that consumer. The default policy applies to anonymous consumers as a whole. If, for instance, the default policy limits the number of transactions to 500 messages per second, that limit applies to the totality of messages from anonymous consumers, rather than to the number of messages from each anonymous consumer. /wsmcf:MessageContent/xs:any This is an extensibility point. 7
  • 8. Appendices A. Normative References WS-Policy W3C Recommendation, "Web Services Policy (WS-Policy) 1.5 - Framework" , A. Vedamuthu, et al., Editors. World Wide Web Consortium (W3C), 4 September 2007. Available at http://www.w3.org/TR/ws-policy/. WS-PolicyAttachment W3C Recommendation, "Web Services Policy (WS-Policy) 1.5 - Attachment" , A. Vedamuthu, et al., Editors. World Wide Web Consortium (W3C), 4 September 2007. Available at http://www.w3.org/TR/ws-policy-attach/. XMLSchema - Part 1 W3C Recommendation, "XML Schema Part 1: Structures (Second Edition)" , H. Thompson, et al., Editors. World Wide Web Consortium (W3C), 28 October 2004. Available at http://www.w3.org/TR/xmlschema-1/. XMLSchema - Part 2 W3C Recommendation, "XML Schema Part 2: Datatypes (Second Edition)" , P. Biron, A. Malhotra, Editors. World Wide Web Consortium (W3C), 28 October 2004. Available at http://www.w3.org/TR/xmlschema-2/. PCRE “Perl Compatible Regular Expression”. Available at http://pcre.org. URI RFC3986, “Uniform Resource Identifier (URI): Generic Syntax”, January 2005. Available at http://www.gbiv.com/protocols/uri/rfc/rfc3986.html. B. XML Schema A non-normative copy of the XML schema is listed below for convenience. <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.ibm.com/xmlns/stdwip/2011/01/ws-message- content-filters" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ibm.com/xmlns/stdwip/2011/01/ws-message-content- filters"> <xs:element name="MessageContent"> <xs:complexType> <xs:sequence> <!-- Left out to avoid non-deterministic content model and provide for extensibility <xs:choice> 8
  • 9. <xs:element ref="Filter" maxOccurs="unbounded" minOccurs="0"> </xs:element> </xs:element> <xs:element ref="Anonymous" maxOccurs="1" minOccurs="0"> </xs:element> </xs:choice> --> <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/> </xs:sequence> <xs:attribute name="Name" type="xs:string" use="optional"/> </xs:complexType> </xs:element> <xs:element name="Filter"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" ref="Value"/> <xs:element minOccurs="1" maxOccurs="1" ref="Location"/> </xs:sequence> <xs:attribute name="Name" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="Value" type="xs:string" /> <xs:element name="Location"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Type" type="xs:anyURI" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="Anonymous"> <xs:complexType></xs:complexType> </xs:element> </xs:schema> C. Acknowledgments (Non-Normative) This specification was developed with input from several people over a period of time. This includes Robert Laird, Arnaud J Le Hors, Heather Kreger, Katy Warr, Mario De Armas, Mark Weatherill, and Steve Groeger. 9
  • 10. D. Change Log Data Author Description 2011/11/11 IBM Document finalized. 10