- From: Prasad Yendluri <pyendluri@webmethods.com>
- Date: Tue, 25 Jun 2002 16:03:39 -0700
- To: Web Services Description mailing list <www-ws-desc@w3.org>
- Message-ID: <3D18F6CA.81887DF6@webmethods.com>
I agree with many points Dale had already made. Please find a few comments on this from my end below in <PY> Regards, Prasad - Proposal: 1) remove solicit/response and notification operation patterns <PY>I have not seen a justification for this. Is this because we don't see the need for it or we think we have alternate ways of accomplishing it? The core proposal seems to be in line with latter. Is that correct? </PY> -> a portType operation will have the following structure (if there is no <output> element, no <fault> element is allowed, either): <operation> <input> <output>? <fault>* </operation> 2) extend <service> to the following structure (and extend <serviceType> appropriately): <service> <port>+ <requirement>* </service> 3) the structure of the <requirement> element is the following: <requirement portType="QName"/> i.e. empty element with a mandatory attribute referencing a portType. The semantics of this: If a client wants to access a service, it must provide (by any means) an implementation of the required portTypes. <PY> The difficulty with this approach is that the Service (provider) loses control over how exactly it wants to send the message. It has no way to communicate what bindings (and other concrete details) for that the portType that the service can support (and hence need to be supported by the clients). If different clients that access the service support different bindings for the "requirement" portType is the service required to support all those? Seems impractical to me. This also requires the portType to be globally unique? Or is the proposal to define the portTypes in "requirement" also along with the service definition? I guess it needs to as it needs to communicate the portType details fully. Additionally all the clients need to defines the same as well. This seems complicating things when the real gap here is to define bindings for solicit-response and notification message patterns? If there are issues in accomplishing that perhaps we could discuss them. </PY> This may be used to have a callback (the implementation of the requirements is the client) or a Gudge->Football service->Mobile phone (GFM, see footnote) scenario (the implementation of the requirements is the mobile phone). The rationale: The only things why we want the outbound operations are callbacks and some more complex scenarios like the mentioned GFM scenario above. <PY> Many practical business uses require both initiating and responding activities. Any simple B2B scenario would require two parties collaborating one initiating and the other responding (and very frequently exchanging the roles). </PY> Some may argue that these more complex scenarios (and in fact callbacks, too) are orchestration and therefore out of scope of WSDL; <PY> WSDL is the foundation upon which higher level specs would be built. Orchestration may be out of scope for WSDL but not enabling it. </PY> Dale Moberg wrote: > Another comment on the proposal > to remove outbound operation patterns. > > [proposal omitted] > > <JK> The rationale: > The only things why we want the outbound operations are > callbacks and some more complex scenarios like the mentioned GFM > scenario above. </JK> > > <DaleMoberg> > I have been looking at architecture wg use cases to avoid > duplication http://www.w3.org/2002/ws/arch/2/ws-arch-scenarios-20020619 > > S001,S002 This fire-and-forget describes a "web service" that pushes > out event info (example of stock price change). If I wanted to > browse such a service and see which interface I wanted to > subscribe to, it would be natural to describe this interface > by an output operation to be published in a registry for access. > [How subscription is accomplished for these cases is an important, > but separable, issue. I think this is part of what the "binding" > information items should include for an outbound operation.] > > S070 Asynchronous Messaging. The "request" interface advertisement > could benefit by being described using an output operation style > of description. That is, I might seek their service and select one > based on their output operation datatypes that included > the info my 'service' needed for its input... > > In general, whenever someone is going to seek a "service" that > is sent to them, they will be interested in discovering an interface > description that could usefully be published using > the output operation polarity. To me, this is really > the crux of the issue about getting rid of the output description > styles. We know that,logically viewed, we could "get by" using > one polarity style. The question is whether, pragmatically > viewed, people can benefit from publishing descriptions of > what they output, and whether potential receivers of these XML payloads > would benefit from being able to get at the output operation > descriptions to select the one(s) they can most effortlessly > consume. > > Also, some in the architecture group > seem concerned with HTTP GET based > operations. (And presumably not using > any url-encoded SOAP envelope appended onto > the end of the GET URI!) > > If I advertised such a service, and in > signature-speak, it looked something like: > > output-data-type FUNCTION (void) > > To me, it would be simpler to advertise > this by using an output-style description. Notice that in > this case there would be a port URL for the service, however! > So quite a different category of use case. Here GET > works as a "polling" mechanism that "solicits" the > payload in a HTTP Reply. > > </DaleMoberg> > > <JK> > We want some 80/20 division, so we allow description of these > patterns but not more. > </JK> > > <Dale>I think this way of viewing things has too much bias > for the status quo, and for a status quo of a very > recently emerged technology profile. > So far WSDL has not really > given good support for output interface > description based integrations. > Consequently, no one has tried them, > and so no one knows how widely they > would be used. I don't think we yet > know how the statistics for use cases are going to > fall out-- the sample is not a fair one yet. > </Dale> > > <JK> > Having <serviceType>, there is no inherent need > to combine the inbound operation patterns with outbound operation > patterns in one portType (especially since the outbound patterns > are not even supported in the current bindings). > <JK> > > <Dale> > I am not following how introducing <serviceType> eliminates > the semantic task done in portType by combining inputs, outputs, > and faults. Is there another message > somewhere that explains what I missed? > > However, my other problem understanding this > is why the lack of support in the current bindings > for outbound patterns counts _against_ including outbound patterns, > rather than counting _for_ fixing the bindings. > </Dale>
Received on Tuesday, 25 June 2002 19:00:05 UTC