- From: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
- Date: Sun, 28 Sep 2003 21:07:57 +0100
- To: "Brian Connell" <brian@westglobal.com>
- Cc: "WS Description List" <www-ws-desc@w3.org>
Brian, > > OK, what exactly are we trying to model/describe in WSDL? > I personally see WSDL as a way to describe a contract between a consumer and a service about the exchange of messages between them. XML Schema (or any other schema) is used to describe the structure of those messages. That's it. Nothing else is modelled and definitely not any semantics are implied. [snip] > > If my understanding is correct, as a consumer of a WSDL description I > expect that one what we now call operation, identified by its name, does > basically the same thing when invoked on any instance of the interface. > What is an instance of an interface in this context? That's the terminology used in situations where we have a shared type system (like it is the case with Object-Oriented environments like CORBA and J2EE). There, the common type system is used as the integration mechanism. With Web Services the only thing we have in common is a way to validate the structure of messages (XML Schema). No semantics are attached to names. Services are definitely not objects (instances of a globally agreed type). (Please note that I am not suggesting anything about the implementation platforms or technologies. I am talking about the conceptual model.) Also, I don't see WSDL as yet another interface description language. We have IDL for that. Why invent another one? WSDL is about describing message exchanges. > I'd have no such guarantee if we really only described and identified > the message structure contract; again I present the example of > int sum(int, int) and int multiply(int, int). Without the application > semantics, these operations would become one. Do we want that? > That's a big assumption to make. I don't think that WSDL adds or should add any semantics to web services. The example you give above is one of the reasons we suggested that "operation" be changed to "messageExchange" or "interaction" or something similar. So what if two services have an "operation" called "sum". You have no guarantee about the application semantics. You don't share a type system. You don't share implementation. You don't share anything. You don't have control of what is going to happen when the message to this "operation" is received. The only thing you know is that you are going to receive as a result a message with a specific structure as defined by the WSDL document for that service. I think your message demonstrates the need for the element "operation" to be renamed. A big part of the community perceives Web Services as objects with methods or as components with a collection of operations, procedures. Also, WSDL is seen as an interface description language rather than as a contract between a web service and its consumers. My understanding about web services is different. I may be wrong but various others agree with the above arguments [1-3]. Best regards, .savas. [1] Web Services are not Distributed Objects (by Werner Vogels): http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000120.html [2] Secure, Reliable, Transacted Web Services: Architecture and Composition. Donald F. Ferguson (IBM), Tony Storey (IBM), Brad Lovering (Microsoft), John Shewchuk (Microsoft). : http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/d nwebsrv/html/wsoverview.asp [3] Don Box's Service-Oriented Architecture and Programming (SOAP) talk Part 1 & Part 2: http://msdn.microsoft.com/msdntv/archive.aspx
Received on Sunday, 28 September 2003 16:08:07 UTC