September 2006 - Posts
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!
Got a great tip from a colleague that i wanted to share with you. Do the following steps
- Open up a command prompt at "C:\Program Files\Microsoft BizTalk Server 2004\Developer Tools" and
- do a Regsvr32 BTSAsmExt.dll
Now in Windows Explorer along with Control Panel etc, you can see a new option titled "Biztalk Server Assemblies". Double click the assembly and it shows you the dependencies on the left pane and the components on the right hand side. For assemblies which contain schemas double clicking the XSD will open up a little browser to view the XSD.
This is pretty cool and saves the bother of having to open up the Biztalk Server Explorer every time and gives more info this way too.
Oh and by the way, before i forget, if you havent looked at the documentation for the Biztalk.ExplorerOM.dll, do that now. Its waay coool and shows how powerful and deep the object model is. We made use of it recently when writing some custom steps for BizUnit (more on that later , its almost midnight and i gotta go crash) and it really grabbed me. Now i've got plans for that baby!! :-)
A personal milestone.Following on from my talk at the VBUG local meeting a couple of months ago, I've now been invited to present an "Introduction to Biztalk" session at the VBUG 2006 conference. Im really excited about this. I think the timing is quite perfect too. We are currently exploring a move to v2006 and looking at how it can be used with VSTS, Software Factories etc and i think theres just about enough time to find out some useful stuff and present it along with the experience we've had so far with v2004. The session will feature both Biztalk 2004 and 2006, since the development experience is pretty much the same, with some improvements overall in 2006 (flat file wizard, publishing orchestrations as webservices, consuming webservices returning arrays, error message routing and so on). The major area however is the changes in deployment so that should get some coverage as well. We've also been working quite a lot with BizUnit and have written some custom steps in an 'extension' DLL project and im hoping to put that up for download after the conference. Stay tuned for more info.