- From: Anne Thomas Manes <anne@manes.net>
- Date: Sun, 31 Oct 2004 17:44:52 -0500
- To: <www-ws-desc@w3.org>
- Message-ID: <E1COOS4-0001W2-6P@frink.w3.org>
I respectively disagree. In case #1, how do I distinguish one "autonomous system" (i.e. service) from another "autonomous system"? I hope you're not implying that I can deploy only one service per system. In case #2, I have a clear way to distinguish one service from another. An architecture is supposed to support use cases. I don't think the WSDL 2.0 data model supports identified use cases. One use case is as follows - A developer wants to use a service. The service exposes multiple interfaces: a couple of versions of its functional interface, a management interface, and a metadata interface. As a developer planning to use the service, he's only interested in using the latest version of its functional interface. He doesn't need to interact with the management interface or the metadata interface, or the older functional interface. Therefore he needs a way to get the description of that specific interface, and he wants to generate a client proxy that deals only with that interface. Meanwhile, there's a distributed management system that wants to manage this service - it wants access to the management interface, and not to the functional interfaces. It wants to query the service using its metadata interface to discover the management interface. It needs to have some mechanism to associate the metadata interface with the management interface. It may also need to interact with the functional interface, depending on the constraints and capabilities associated with the interface. The architecture needs a way to group related operations into an interface, and a way to describe all of the interfaces supported by a service. The "one interface per service" constraint tells me that WSDL 2.0 is an "interface" description language, not a "service" description language. And perhaps that's a reasonable approach. But we should call it WIDL rather than WSDL. Perhaps we need to take a step back and redesign the metadata description model. Perhaps we need a higher-level service description language that ties together all the metadata about a service - message descriptions (schema), interface descriptions (WIDL), constraints and capabilities descriptions (WSPL?), semantic descriptions (OWL-S/RDF), etc. Anne _____ From: Peter Madziak [mailto:peter.madziak@agfa.com] Sent: Thursday, October 28, 2004 2:35 PM To: anne@manes.net Cc: www-ws-desc@w3.org; www-ws-desc-request@w3.org Subject: Re: Raising an ugly issue again Anne: >From an architectural perspective it seems to me that it is by no means a clear cut decision between the following cases: 1.) Having one autonomous system that is exposing multiple services, one for each of the aspects you refer to in your list, versus 2.) Having one autonomous system that exposes one service comprised of multiple interfaces, one for each of the said aspects. Also, a couple of points with respect to the versioning issue: 1.) The obvious ideal is to "extend" an interface as it evolves in a fashion that does not break clients that are still "speaking to" the old version. Although difficult, this can work with well-defined schemas (with appropriate extension points, good usage of min/maxOccurrs, etc...) for your request and response messages. In fact, this is the essence of the power of loose-coupling that is at the heart of SOA. 2.) Since the previous "ideal" case doesn't always work, or is not always done for a variety of reasons in practice, what I have found to work best in practice is to point consumers at a completely new service for new versions that are incompatible with previous ones. The real key is to make sure that there is only one "autonomous system" behind the two services. Peter ------- Peter Madziak Software Architect Agfa HealthCare ph: 519-746-6210 (2577) "Anne Thomas Manes" <anne@manes.net> Sent by: www-ws-desc-request@w3.org 10/28/2004 10:59 AM To: <www-ws-desc@w3.org> cc: (bcc: Peter Madziak/AMIMQ/CAN/AGFA/CA/BAYER) Subject: Raising an ugly issue again I apologize in advance for raising this ugly issue again. Perhaps I just don't understand the model well enough, and maybe you can explain it to me, but I'm really concerned about the "one interface per service" constraint. The SOA architecture requires that a web service expose multiple interfaces: - its functional interface - a management interface (WSDM, WS-Management, etc) - a metadata discovery interface (WS-MetadataExchange, etc) - an interactive interface (WSRP, etc) - potentially others I have clients that also require that a web service support versioning, in which case the service will expose multiple versions of its functional interface. How does WSDL 2.0 support these basic SOA requirements if a service definition is constrained such that it implements at most one interface? Thanks, Anne
Received on Sunday, 31 October 2004 22:45:32 UTC