- From: Don Mullen <donmullen@tibco.com>
- Date: Thu, 16 Jan 2003 08:38:23 -0500
- To: www-ws-desc@w3.org
I have a long-standing action item to detail how SOAP MEPs and WSDL MEPs (or what I will refer to as Abstract MEPs) relate, and how they might be changed in order to work together. I realize that SOAP MEPs are 'abstract', but could not come up with a better destinction. I don't think changing MEP to Pattern would help -- but cause more confusion, given the similarities between the two. Soap MEPs are defined here [1]. An Abstract MEP is essentially the same definition, but with the following minor modifications: o 'SOAP node' is replaced with 'participating node' o 'SOAP feature' is replaced with 'feature' o 'SOAP fault' is replaced with 'fault' Note that the WS Architecture group has already created a template document based on the SOAP Features/Properties/MEPs extension mechanism and plans to make these general across all Web service specifications -- a very rough draft can be found here (essentially takes the SOAP words verbatim) [2]. Give the above changes, the definition of an Abstract MEP would be: <definitionAMEP> An Abstract Message Exchange Pattern (MEP) is a template that establishes a pattern for the exchange of messages between participating nodes. MEPs are a type of feature, and unless otherwise stated, references in this specification to the term "feature" apply also to MEPs. The request-response MEP illustrates the specification of a MEP feature. The specification of a message exchange pattern MUST: - provide a URI to name the MEP. - Describe the life cycle of a message exchange conforming to the pattern. - Describe the temporal/causal relationships, if any, of multiple messages exchanged in conformance with the pattern (e.g. responses follow requests and are sent to the originator of the request.) - Describe the normal and abnormal termination of a message exchange conforming to the pattern. Higher level specifications can declare their support for one or more named MEPs. For example, SOAP MEPs can specifically refer to Abstract MEP specifications. MEPs are features, so an MEP specification MUST conform to the requirements for feature specifications. An MEP specification MUST also include: - Any requirements to generate additional messages (such as responses to requests in a request/response MEP). - Rules for the delivery or other disposition of faults generated during the operation of the MEP. </definitionAMEP> Given the above definition, a SOAP MEP could be redefined simply as: <definitionSOAP-MEP> A SOAP MEP is an Abstract MEP [as defined above] where: - the participating nodes are 'SOAP nodes' - all faults are mapped to SOAP faults - can reference an Abstract MEP and provide additional SOAP-specific semantics </definitionSOAP-MEP> Now, if we take a look at the SOAP MEPs provided in Part II of the SOAP specification [3], it seems clear that we can adopt the same property conventions for Abstract MEPs, namely: o ExchangePatternName o FailureReason o Role o State There may be some debate on whether 'State' is appropriate as part of an Abstract MEP specification. I'll leave that open for now. The SOAP spec defines two SOAP MEPs, 'SOAP Request-Response Message Exchange Pattern' [4] and 'SOAP Response Message Exchange Pattern' [5]. Both of these are request-response MEPs, where the first has the request coming in as a SOAP message, and the second the request is made via a 'non-SOAP message.' A close look at the two SOAP MEPs reveals the fact that they are, indeed, almost identical, so both of the SOAP MEPs could refer to the same Abstract MEP that defines input-output (or request/response). In WSDL, the <interaction> or <operation> would refer to the Abstract MEP. The SOAP binding would then specify which of the SOAP MEPs would be used. [1] http://www.w3.org/TR/2002/CR-soap12-part1-20021219/#soapmep [2] http://dev.w3.org/cvsweb/~checkout~/2002/ws/arch/wsa/wd-wsa-ext.html [3] http://www.w3.org/TR/2002/CR-soap12-part2-20021219/#soapsupmep [4] http://www.w3.org/TR/2002/CR-soap12-part2-20021219/#singlereqrespmep [5] http://www.w3.org/TR/2002/CR-soap12-part2-20021219/#soapresmep Don Mullen
Received on Thursday, 16 January 2003 08:43:10 UTC