Re: IOPs and MEPs

On Tue, 18 Mar 2003 22:55:04 -0500
David Booth <dbooth@w3.org> wrote:
> I've been working on illustrating the correspondence between our 
> Input/Output Patterns (IOPs) and Message Exchange Patterns (MEPs).  I've 
> listed all of the 7 IOPs that we discussed, and converted them into various 
> kinds of MEPs.  (Our previously discussed pattern #8, Request/Response, is 
> an MEP already, so it didn't need to be converted.  It is MEP #2b.)  The 
> document is at
> http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/meps-vs-iops/meps-vs-iops_clean.htm
> and it contains the following sections (some empty):
> 
>          Introduction
>          Patterns - IOPs and MEP
>          Use Cases that Illustrate Differences Between IOPs and MEPs
>          Advantages of IOPs Over MEPs
>          Advantages of MEPs Over IOPs
> 
> The "Use Cases" section needs details and additional use cases.  (They 
> don't have to have fancy diagrams either.  Text is fine.)  It is not 
> intended to enumerate all use cases that are relevant to WSDL.  It is only 
> intended to list a few use cases that may be helpful in understanding the 
> difference between having the WSDL interface/portType model IOPs versus MEPs.
> 
> The "Advantages" sections are the main ones that I am hoping that this TF 
> can fill produce.  Ideally I would like to nail down all the pros and cons 
> that we see of both ways of doing things, and then bring it to the WG as a 
> whole to make a decision.
> 
> Also, I'm not sure I got pattern 7 right.  (Amy, would you take a look?)

IOP seven looks fine.  MEP 7a is a little odd, although I can imagine a possibility (all faults to client "F", for instance); 7b is what was in mind in the definition.  Note that one possible reaction of a "client" to the original output message is to do nothing, as well; I don't know if that needs to be called out (somehow) in the content model.

I'll note that regexes don't work for the MEPs, in the general case.  If there are an indeterminate number of "clients" (and btw, I hate that term; it strongly implies that we mean a "Server" description language rather than a "Service" description language), each labelled, the regex syntax shown can't actually describe this well (you have to introduce the "..." and "Labeln" syntax, which makes the line noise still noisier).

Use Case for 7:

IntrepidCo wants to announce additions to its inventory, and allow responses to reserve product.  It creates a simple WSD which will require a publish/subscribe model, using IOP 7.  The binding specifies MEP 7A using a simple encapsulation protocol over IP multicast.  Business partners retrieve the WSDL, and set up an IP multicast listener on the specified endpoint.

Alternate:

MegaMucketyBigCo mandates web service usage inside the firewall.  After the failure of centralized registries, a system of discovery is adopted instead.  Each service is associated with a client stub, which is equipped with a WSDL describing a discovery service.  Any service may discover any other (adopting the role of THE service for this particular WSDL/operation) by sending a solicitation on the advertised channel (some enterprise-class messaging system).  The associated client stubs all listen to this channel, and respond when they see a request that matches their associated service.

Amy!
-- 
Amelia A. Lewis
Architect, TIBCO/Extensibility, Inc.
alewis@tibco.com

Received on Wednesday, 19 March 2003 10:51:22 UTC