OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dsml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: [dsml] parallel processing and sequence of responses


Works for me, nice compromise.

John McGarvey wrote:

>I'd suggest the addition of a responseOrder attribute to resolve this
>question.
>
><!-- **** DSML Batch Request Envelope **** -->
>     <xsd:complexType name="BatchRequest">
>          <xsd:sequence>
>               <xsd:element name="requestID" type="xsd:string" minOccurs
>="0"/>
>               <xsd:group ref="DSMLRequests" minOccurs="0" maxOccurs
>="unbounded"/>
>          </xsd:sequence>
>          <xsd:attribute name="processing" use="optional" default
>="sequential">
>               <xsd:simpleType>
>                    <xsd:restriction base="xsd:string">
>                         <xsd:enumeration value="sequential"/>
>                         <xsd:enumeration value="parallel"/>
>                    </xsd:restriction>
>               </xsd:simpleType>
>          </xsd:attribute>
>
>          <xsd:attribute name="responseOrder" use="optional" default
>="sequential">
>               <xsd:simpleType>
>                    <xsd:restriction base="xsd:string">
>                         <xsd:enumeration value="sequential"/>
>                         <xsd:enumeration value="unordered"/>
>                    </xsd:restriction>
>               </xsd:simpleType>
>          </xsd:attribute>
>
>          <xsd:attribute name="onError" use="optional" default="exit">
>               <xsd:simpleType>
>                    <xsd:restriction base="xsd:string">
>                         <xsd:enumeration value="resume"/>
>                         <xsd:enumeration value="exit"/>
>                    </xsd:restriction>
>               </xsd:simpleType>
>          </xsd:attribute>
>     </xsd:complexType>
>
>If a BatchRequest envelope does not specify both a responseOrder of
>unordered and a processing value of parallel, then the server must return a
>BatchResponse envelope in which the DSMLResponse members are so ordered as
>to provide a positional correspondence between each DSMLRequest in the
>BatchRequest and the resulting DSMLResponse in the BatchResponse. If a
>BatchRequest envelope specifies a responseOrder of unordered, every
>DSMLRequest in that envelope must have a requestID. If a BatchRequest
>specifies a responseOrder of unordered and a processing value of parallel,
>the server may return the DSMLResponses in any order within the
>BatchResponse envelope. When a client permits unordered responses, this
>facilitates efficient processing by the server, as the responses to
>parallel operations may be returned in the order they complete.
>
>If the BatchRequest envelope specifies a processing value of parallel but
>does not specify a responseOrder of unordered, the server may ignore the
>request for parallel processing or may limit the amount of parallel
>processing so as to ensure the DSMLResponses are returned in order within
>the BatchResponse envelope.
>
>-----------------
>With this approach, the worst that could happen is that DSMLv2 clients that
>do not support unordered responses will observe slower performance with
>some DSMLv2 servers, because of server side limitations on parallelism or
>the need to buffer responses.
>
>Regards,
>John
>
>
>----------------------------------------------------------------
>To subscribe or unsubscribe from this elist use the subscription
>manager: <http://lists.oasis-open.org/ob/adm.pl>
>

-- 
Pete Rowley
Developer
Netscape Directory Server





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC