An interesting MEP

Martin Gudgin/Jeff Schlimmer

A data item service

Example

<wsdl:definitions xmlns:wsdl='http://www.w3.org/@@@@/@@/wsdl' 
                  targetNamespace='http://example.org/datasrv'
                  xmlns:tns='http://example.org/datasrv'
                  xmlns:xstns='http://example.org/types' >

 <wsdl:types>

  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' 
             xmlns:xstns='http://example.org/types' 
             targetNamespace='http://example.org/types' >

   <xs:element name='DataRequest' type='xstns:DataRequest' />

   <xs:complexType name='DataRequest' >
    <xs:sequence>
     <xs:element name='ItemName' type='xs:QName' />
    </xs:sequence>
   </xs:complexType>

   <xs:element name='DataItem' type='xstns:DataItem' />

   <xs:complexType name='DataItem' >
    <xs:sequence>
     <xs:element name='Name' type='xs:QName' />
     <xs:element name='Value' />
     <xs:element name='Expires' type='xs:timeInstant??' />
    </xs:sequence>
   </xs:complexType>

  </xs:schema>

 </wsdl:types>

 <wsdl:message name='DataRequest' >
  <wsdl:part element='xstns:DataRequest' />
 </wsdl:message>

 <wsdl:message name='DataItem' >
  <wsdl:part element='xstns:DataItem' />
 </wsdl:message>

 <wsdl:portType name='ProvideDataItems' >
  <wsdl:operation name'ItemRequest' 
                  mep='http://www.w3.org/@@@@/@@/MEP2' >
   <wsdl:input message='tns:DataRequest' />
   <wsdl:output message='tns:DataItem' />
  </wsdl:operation>
 </wsdl:portType>

</wsdl:definitions>

Consider an HTTP binding

HTTP binding representation HTTP binding representation with N clients

Consider a multicast binding

HTTP binding representation with N clients

Observations

Client view - HTTP

Client view - Multicast