views:

14

answers:

1

can someone give me a high level overview of what the differences are? why would you choose to use one over the other?

+1  A: 

Are you just referring to the arguments expected by the web service? That's the only difference I can imagine. Something like:

Simple:

MyWebMethod(string inputString);

Complex:

MyWebMethod(CustomObject inputObject);

The main benefit to the former would be that you can test the web method easily in your web browser. Since it takes only simple native types it will render an input form for you to test it. But in a production environment I see little benefit of one over the other, both will produce a WSDL for clients to consume.

I suppose it's possible that the former of the two may be easier for clients of a different development environment to consume (non .NET code), but I doubt it really makes much of a difference. As long as you're not using really complex arguments, like a System.Windows.Form control or something (which I doubt would work anyway).

David
thanks. would you mind also commenting, again just a high level overview, on the differences between web services design methodologies? 'bottom up method' and 'top down method'. why choose one over the other. benefits and draw backs to choosing one over the other? thanks.
400_the_cat
As a subject that seems to come up a lot more in the Java world than in the .NET world, and honestly I don't have a strong opinion or much relevant information either way. The only thing I can share is that, in the .NET world, I vastly prefer request/response services (see the Agatha-rrsl project) over the traditional "webmethod" services that Microsoft has always pushed. I generally find the former easier to maintain and change when needed, as well as much more easily testable as the service part is de-coupled from the actual logic.
David