[
Lists Home |
Date Index |
Thread Index
]
On Tuesday 19 February 2002 18:19, Paul Prescod wrote:
> WSDL: Unfortunately it leaves all of the important questions unanswered.
> Like...when I submit information how do I get it back again? How do I
> refer another web service to the information I've submitted?
That's a higher level issue. If some object in your slice of the server's
state is meaningfully shareable, then it should support a suitable standard
interface, with a URL you can give to the other web service.
WSDL is just an interface description language. That's all. It's not a *bad*
IDL because it doesn't address certain issues (although I'd be interested in
adding type information to URIs for this kind of work; not just 'this value
is a URI' but 'this value is a web service URL supporting the WSDL at this
other URL') if those issues can be handled in another system that's
orthogonal to WSDL.
> And when you send information into this service, how do you get it it
> out again? How do you communicate to some other service how THAT SERVICE
> would get the information out. You own the information.
Not necessarily - this depends on the terms of your contract with the service
provider!
> > Some of it's a bit new and rough, but no-one has yet persuaded me that
> > there are any show-stopping flaws in it.
>
> An inability to reuse information by reference strikes me as
> show-stopping.
There is no such inability... it's not *mandated* that it must be possible,
but it's good design practice in *many cases* to give each object it's own
network identity.
You seem to be saying that it's bad because you have, say, getPhoneNumber
(person's name) and setPhoneNumber (person's name, new number), and this
prevents you from identifying those person objects (indexed by name,
containing a phone number (and probably some other fields too)). However, I'd
implement it with two interfaces... excuse my Java syntax:
interface Person {
public void setName (String name);
public String getName ();
public void setPhoneNumber (String number);
public String getPhoneNumber ();
}
interface PhoneBook {
Person getPerson (String name);
}
Now, you have an XML-RPC service URL for the phone book and another for each
person. The PhoneBook interface might be implemented as simply as:
return "http://www.phonebook.com/......foo.....?person=" + name;
...mapping from people's names into the URLs of the Person objects.
>
> Paul Prescod
>
ABS
--
Alaric B. Snell
http://www.alaric-snell.com/ http://RFC.net/ http://www.warhead.org.uk/
Any sufficiently advanced technology can be emulated in software
|