SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante 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
 

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

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
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
 
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
 
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

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Último (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

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