- From: Anne Thomas Manes <anne@manes.net>
- Date: Fri, 30 May 2003 13:16:01 -0400
- To: "Amelia A. Lewis" <alewis@tibco.com>, "WS Description List" <www-ws-desc@w3.org>
+1 ----- Original Message ----- From: "Amelia A. Lewis" <alewis@tibco.com> To: "WS Description List" <www-ws-desc@w3.org> Sent: Friday, May 30, 2003 1:13 PM Subject: Why single-interface is broken > > Okay. > > Single interface per service is proposed as a "simplification" (the term > was used repeatedly). It's the only argument that I can recall in favor > of this. > > I suggest that it is not a simplification. By introducing redundancy, > it introduces errors. By introducing errors, without specifying how > these errors are to be handled, it reduces interoperability. > > Example: > > <interface name="A" /> > > <interface name="B" /> > > <binding name="Aimpl" implements="A" /> > > <binding name="Bimpl" implement="B" /> > > <service name="aService"> <!-- first error --> > <endPoint binding="Aimpl" /> > <endPoint binding="Bimpl" /> <!-- one of the foregoing two lines is > the second error --> > </service> > > Legal and reasonable in WSDL 1.1, apart from the changes of element and > attribute names. > > Illegal in WSDL 1.2. The lack of specification of the interface > implemented by the service is an error. Will it be flagged? Imagine > that this WSDL is created stepwise. First, interface A, binding Aimpl, > and endPoint A were all created; a validation tool may have noted the > lack of an interface specification on the service, but perhaps offered > only a warning (or perhaps not even that) to the author. Later, > additional functionality was added, using a different network paradigm > that could not be adequately supported by the existing binding; a second > interface, implementation, and endpoint were added. > > A non-WSDL-validating tool will not note the errors at all. A WSDL > validating tool will note the first error, and then probably decide that > endpoint Bimpl is illegal. If interface="B" is added to the service, > then it will instead decide that endpoint Aimpl is illegal. The > harassed and frustrated developer splits them into separate services, > and removes the interface again (if there's only one endpoint in a > service, you can be certain that there will be tools that do not enforce > the user to declare the interface at the service level). Same harassed > developer looks at @targetResource, says "Huh? WTF is that? A resource > is associated with an endpoint, in any rational web-aware world, what's > this weirdness?" and goes on. The WSDL works again, sort of, after all. > > Redundancy is *bad*. Specifying interface twice is *bad*. If it's > going to happen at all, error-handling MUST be specified in sufficient > detail that two processors faced with the same description report the > same thing. > > Amy! > -- > Amelia A. Lewis > Architect, TIBCO/Extensibility, Inc. > alewis@tibco.com >
Received on Friday, 30 May 2003 13:16:44 UTC