Paul Dack

IT Contractor

      

My Experience


Web Development

When I first started developing web sites back in 1997, the available development tools were pretty dire to say the least. Most of them offered only a marginal increase in productivity over Notepad. Then along came Microsoft with Visual Studio.NET in Feb '02.

VS.NET was by no means perfect but it was certainly a big step in the right direction. At last, we (developers) could now knock web sites with comparative functionality to windows client equivalents. But more importantly, we could produce these web sites in within similar timescales.

I first started to tinker with VS 2005 beta in April 2006 and I was instantly hooked. At last the Microsoft hype delivered what it had promised. Here was a web development suite that allowed windows client developers to produce web applications with the same ease and speed we had been used to using the rich and powerful Windows client IDE's.

I've now started to get to grips with VS 2008 and whilst not as big a jump as 2003 to 2005, 2008 dies have some neat new features (Javascript intellisense is a god send to those of us who cringe at Javascript).


Web Services

Most of my work from October 2004 up until July 2007, has centred on the development of web services. Since their introduction, web services have offered a way of providing platform independent remote functionality via the web in a secure and robust manner. The main drawback of web services was the difficulty faced when you need to update\amend a given web method. Consumers store a local of the web methods interface and any future amendments to a web method interface would require a refresh of this local copy by each and every consumer. This presented a real headache.

Microsoft recommended developing web services using a 'document style' approach which basically involved passing an XML document as the single parameter to a web method. This approach allows the supporting of multiple versions of the same web method. However, I still felt uncomfortable at the thought of recompiling and distributing the entire web site each and every time a new version of a web method was released.

I then looked at an n-tier approach where each version of a web method is compiled as separate assembly. Each subsequent version of a web method as implemented as a new, separate assembly, thus minimising the need for regression testing.

I don't want to get bogged down with details, but with input from several colleagues, I took this idea further to produce an architecture for mutli-versioned web methods and produced a 'Versioner' middle tier assembly that handles all web requests. This approach has been formally documented and is used for all web service development within my current client.

This 'Versioned' approach now allows me to:

  • Support multiple versions of any given web method.
  • Produce a new version of any given web method without the need for any consumer web reference refresh.
  • Rapidly respond to a consumer's request for change with minimal regression testing.

Windows Client Development

Back in 1995, I started as a FoxPro contractor but after a year or two I found VB offered a richer development experience. I started with VB 3.0 in August 1994 and began using VB.NET commercially in March 2003. I have been using VBExpress 2005 to develop the next version of my commercially available data mining application, The Query Tool.