Updated: 9/1/2002; 6:58:05 PM.
|
Monday, July 29, 2002 |
Mark Baker: Sam and I are still disconnected. Since I don't see the disconnect, I guess we are also meta-disconnected.
Pardon me while I xml-ize your example...
<foo>795</foo>
The relevant portion of the WSDL would look like
<s:element minOccurs="0" maxOccurs="1" name="foo" type="s:int" />
At this point, about all one can determine is that there will be zero to one occurances of an element named foo who's range is constrained to be an int. Toolkits like ASP.NET and Apache Axis can use this information to automate the generation, parsing and verification of such information.
Note: I've said nothing about behavior... only about syntax. Where is the disconnect?
6:45:14 PM
|
|
Greg Reinacker: For cases like these (and many more that I could come up with), I believe that loosely relying on the schema is a bad idea. I think you should only extend the request in places where the schema specifically allows it; in the case above, if there was a xml:any extensibility element, you'd be fine, and you could put your extensions there. If you want to omit parameters, you can only omit the ones allowed by the schema.
FYI: Not mentioned in the essay: ASP.NET omits parameters who's value is null, despite the schema it returns in a ?wsdl call - for both doc/lit and rpc/enc versions. Hence, the client depends on the behavior which is documented in the essay. Meanwhile, try defining a method in an .asmx file with n arguments, generate a client, and then modify the .asmx to have n-1 arguments.
5:43:52 PM
|
|
Mark Baker: Here's how I see it. HTTP is the protocol, and no other protocols are required in order to get stuff done. Perhaps Mark has a narrower definition of communcations protocol than I do? HTTP does describe how hypertext data is transferred, but not how it is formatted. HTML is one such format. For example, one would not have hypertext without something like anchor elements. In XHTML, this is defined a bit more formally.
Since Mark referred to my neurotransmitters essay, let me provide a bit more background. While we as an industry have been successful at building "single celled" computers ranging in size from embedded devices to supercomputers, the internet is a different beast: a multi-celled computer. At some point nature stops building progressively bigger cells and takes a different approach. Something that is qualitatively different. One in which cells have state and communicate via messages. Glucose causes the beta cells of the pancreas to emit insulin.
WSDL is a means of more formally describing the association of such input messages with output messages.
1:24:19 PM
|
|
New essay: Expect More.
I understand and accept Clemens Vasters stated requirements that For reasons of processing speed and efficiency I would like my stuff to stay very tightly coupled, early bound and with specialized, auto-generated parsers/serializers with a high degree of reliance on stable WSDL and XSD at all times; like RPC stubs/proxies. I am curious to see if he will accept mine, namely that Given the distributed nature of the internet, what is of paramount importance is that systems be designed and implemented in manners that enable change to be accommodated in both upwards and downwards compatible manners.
I believe that I have detailed an approach which satisfies both criteria (relying heavily on Dare's XML Schema Design Patterns document), but am open to discussion of other approaches which addresses both sets of requirements.
12:19:34 PM
|
|
|