Blogger : DonXML
All posts : All posts by DonXML
Category : WSCF/WCF
Blogged date : 2005 Feb 10
For those of you that don’t follow Christian Weyer, Clemens Vaster, Ted Neward, Rocky Lhotka, Tim Ewald, Don Box, Steve Maine, Martin Gudgin, Aaron Skonnard or a bunch of others, there has been a lot of talk about the difference between RPC (remote procedure calls) and WebServices (I guess it has to do with the Indigo beta release announcement). All of this seems a bit old news to me, but I guess I’ve been living in a bubble, because there seems as though a lot of folks are confusing RPC with WebServices. The problem is that .Net makes it so easy to serialize objects to XML, that people have confused themselves with exposing their object models at WSDL endpoints (and trying to use XML Schema to enforce business rules). Yes, it is easy to do, but that doesn’t mean it should be done, for the same reasons that you shouldn’t bind your UI objects to a DataSet (only a groundhog would do that, right), it is just data, without business rules.
So, what are you supposed to do Well start with creating a Message namespace within your application, then create a XML Schema for each message, and then generate the classes that represent the message. You know what I’m just starting to repeat Christian’s Contract First discussion, so just go read it.
One thing I have noticed though is that there really isn’t a good sample app that integrates Contract First with Domain Driven Design. It really isn’t all that hard to do once you get both design principles straight in your head, but I know lots of people learn better from walking thru code examples. I’d really like to see it done using the new Enterprise Library framework. I guess I should add that to my list of thing that need to get done.
Side Note: The opposite of a Groundhog is a Loonie. Both terms are taken from Heilein`s science fiction. A groundhog can`t understand why anyone would want to live in space, and a Loonie is someone that can`t understand why you wouldn`t (originally came from the term given to people that live on the Moon, aka Luna, thus Loonie). IMHO, the terms fit better than Mort, Elvis, and Einstein.