Re: section 2.2.22 Message Exchange Pattern (MEP)

	Date: Mon, 14 Jul 2003 19:27:35 -0400
	To: jones@research.att.com
	From: David Booth <dbooth@w3.org>
	Subject: Re: section 2.2.22 Message Exchange Pattern (MEP)
	Cc: www-ws-arch@w3.org, chrisfer@us.ibm.com

	At 10:41 AM 7/11/2003 -0400, jones@research.att.com wrote:
	>Well, I guess I see this as a terminological issue.

	Yes, I agree.

	>I certainly agree
	>that there will be more complex "messaging patterns" than (SOAP) MEPs,
	>but for me the SOAP notion of an "exchange" has always had in view the
	>set of communicating participants involved in a message and its
	>responses.

	I never made the assumption, and I don't see it suggested in the SOAP 
	definition of MEP[2]:

	         "A Message Exchange Pattern (MEP) is a template that establishes
	         a pattern for the exchange of messages between SOAP nodes."

It is strongly implied by the verbiage surrounding this text.  For
example,

  An MEP specification MUST also include:

    1. Any requirements to generate additional messages (such as
       responses to requests in a request/response MEP).

    2. Rules for the delivery or other disposition of SOAP faults
       generated during the operation of the MEP.


	Personally, I think all we need to do is drop the word "SOAP" and change 
	the word "nodes" to "agent", in order to be more consistent with the rest 
	of our text:

	         "A Message Exchange Pattern (MEP) is a template that establishes
	         a pattern for the exchange of messages between nodes."

	 From a WS Architecture point of view, I think that definition nails it.

I can live with your suggestion, but I think it underspecifies the
architecture.  For example, it doesn't provide any architectural
guidance as to the kind of messaging patterns that might be
appropriate in developing specifications for pattern languages, for
bindings, etc.  I can see some real potential downsides in trying to
get a clean architecture if some clean sense of layering is not
properly observed.  What if an MEP (your definition) doesn't account
for all of the faults or response messages that arise from the
messages within it?

	>For example, a messaging pattern that involved A and B
	>exchanging messages, followed by A and C exchanging messages (as
	>dictated by some application logic) is certainly a messaging pattern.
	>I just wouldn't call it a message *exchange* pattern in the SOAP/WSDL
	>sense.

	Well, I may not call it a "SOAP MEP" or a "WSDL MEP", because SOAP and WSDL 
	have named specific MEPs that they recognize, but I would call it an MEP 
	just as much as a one-way message pattern is an MEP.

	>. . . At the very least, if we widen the MEP term to include arbitrary
	>messaging patterns (MPs), it would still be good to have a term that
	>corresponds to the earlier notion of an MEP that involves "a message
	>and its responses".

	I find that notion both vague and unnecessary.  I think we would be better 
	served by being more specific: Use the term "WSDL MEP" to refer to WSDL 
	MEPs, and "SOAP MEP" to refer to SOAP MEPs.  Those terms have clear, 
	well-defined meanings and don't require any new definitions.  If you want a 
	term that refers to the union of the two, just use "SOAP or WSDL MEPs".

	>This will be the natural unit upon which
	>higher-level messaging patterns are constructed.

	Any language for defining higher order patterns would have to be specific 
	about which patterns are the basic building blocks, such as: "Higher order 
	patterns are built out of WSDL MEPs."


	-- 
	David Booth
	W3C Fellow / Hewlett-Packard
	Telephone: +1.617.253.1273


Mark Jones
AT&T

Received on Tuesday, 15 July 2003 10:41:48 UTC