Wednesday, April 19, 2006

'Thou shalt version thy contracts' - The importance of versioning

It's always nice to have a concrete real world example of something. I got my example the other morning, my electric toothbrush stopped working. My toothbrush has replaceable brushes (a good idea provided they are in stock). It was time for a change in order to keep the pearly whites gleaming (I'd like to have all my own teeth when I'm 90). I bought a pack of refills for 'my' toothbrush, installation was a cinch ;0). I started it up and .................nothing happened. The motor whirred away happily but the brush didn't move. Why is this? They changed the interface ever so slightly but just enough to break the contract.

What should they have done; repeat after me 'thou shalt version thy contracts'.

I was frustrated, disappointed and annoyed. I stopped using my electric brush and bought a new brush(an old skool brush), one that can't disappoint me!

Service Factory Released

Jason Hogg and Don Smith et al. have opened up the Service Factory on GotDotNet. A tantalising preview was given by Beat Schwegler and Ingo as a part of the Microsoft Architect Forum earlier this year. As a user of WSCF I'm really looking forward to getting my hands dirty with this release (time permitted).

It's a great example of how DSLs and GATT can work in VS 05. The latest drop has WCF support.

Saturday, April 08, 2006

BizTalk 2006 Painless Install (beware of BAM Alerts)

I installed 2006 RTM in under 30 minutes the other day including configuration(obviously on a single developer machine ;0). For any biztalkers out there, cast your mind back to the nightmare that was the 2004 install. My compliments to Microsoft, they've taken the pain away.

One thing to note (it's in the upgrade guide I think) I tried to upgrade from an Enterprise beta version to a Developer RTM version; it's not possible. I uninstalled the beta and deleted the BTS databases. Here's why you should always RTFM; if you've previously configured BAM you will have a notification Services alert (probably BAMAlert). When you install the RTM and accept all the defaults your BAM configuration will fail unless you first delete the notification or second rename the notification in the config e.g. BAMAlerts1. Fortunately this was the only issue I had.

My next task start exploring the 3 full scenarios that are provided as samples (the setup of the samples looks painful).