OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Traditional RPC

[ 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 

> > 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


                               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  


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS