Well, I cant help feeling highly amused at the goings on in this particular area. No sooner had David Hayden written a post praising the Web Service Software Factory to the skies than Udi Dahan comes out with the ‘anti’ view in an article titled “WSSF – Data Access Crud“ .
So what seems to be the problem? The way I read it, it appears that Udi doesnt like the idea of having a Business Logic Layer separate from the DAL. I like Udi’s posts in general and they make a lot of sense so this particular post did dampen my enthu for the WSSF at first, however, after some thought, i guess my own perspective on this is that (a) this tool is a great example of what can be achieved with the GAT stuff , (b) this is extensible so if you want to code generate using your own OR mappers or naming standards, it shouldnt be a problem and (c) so what? hundreds of developers use that 3 layered pattern. Of course, just because they use it doesnt mean its right and it may not be pure OO but you cant fault the WSSF team for following a well known pattern. Maybe someone will come up with a factory that satisfies the OO purists.
I’m going to do a bit more reading up on this. Paul Gielens appears to have dealt with the issue of Organizing Domain Logic in some detail in his post where he walks through the design of PetShop 4.0 contrasting the Three Layered Services Application pattern used in it vs. the Domain Driven Design. I’ve started to look at it and it looks quite interesting so far, so i’ll chew on it for a while and then post my thoughts on the same.
Ultimately, i see the WSSF and other factories as key tools in my teams and my own toolbox. We’ve already put WSCF (Web Service Contract First) to good use and its helped us create some really clean ASMXs so i will look at the ASMX guidance in the software factory and see how it compares/aligns with WSCF. I wonder if the WSSF team will respond to Udis comments!