This post originated from an RSS feed registered with .NET Buzz
by Steve Hebert.
Original Post: Webservice Thinking - thoughts on Sahil's blog entry
Feed Title: Steve Hebert's Development Blog
Feed URL: /error.htm?aspxerrorpath=/blogs/steve.hebert/rss.aspx
Feed Description: .Steve's .Blog - Including .Net, SQL Server, .Math and everything in between
Sahil discusses the notion that you have to wrap your head around the request/reponse model vs. a remoting/conventional OO model. This observation is so correct.
The differences between remoting and WebServices are significant - the biggest difference is analogous to fat-client versus web-client application design. The first and biggest mistake is believing the WebService layer exists at the business layer - bad move!
One approach is to consider the WebService Interface operating at the same level as the WebUI level. The request/response interaction is nearly identical, "session management" requirements are the same (even though they are likely to be handled differently) and you can't trust either interface. While you may decide to provide method signatures that look and feel like certain business object calls, remember that, at best, these are merely proxys to the core that also provide authentication, validation, etc.. You can use O-O design to augment the process and provide services like standard validation higher in your object hierarchy, but expect some refactoring of your existing UI related designs.