I recently had the chance to chat with Scott Colestock. Scott is the Chief Architect at Trace

Ventures, LLC based in the Twin Cities, MN. He’s also a BizTalk Server MVP. Here’s the transcript

from the chat.

 

Mike Woods says:
So Scott I moved to the BizTalk Server team in July of 2002 after working in the developer division

on the .NET Framework 1.0 project. I seem to remember you being part of the BizTalk community

back then. What can you tell me about your experience over the years?

 

Scott Colestock says:
Sure - I had a few experiences with BT2000/2002 in the past, but I've been working with the

current incarnation of BizTalk since the summer of 2003, when BizTalk 2004 was in beta.  I've

been fortunate enough to have been an MVP for the last year - It's been a great ride - a great

product to specialize in. I've enjoyed participating in the newsgroups, and maintaining a blog at

http://www.traceofthought.net, writing about my experiences along the way.

 

In the fall of 2004, I had the chance to submit a deployment framework for BizTalk for the

"connected systems" contest and I've enjoyed growing that initial work since then.

 

Mike Woods says:
That was quite a useful thing to have in the BizTalk Server 2004 days. We've done a bit of work on

improving deployment in the 2006 release. Tell me more about the Deployment Framework. What

does it provide for BizTalk Server 2006 developers?

 

Scott Colestock says:
Several of the goals for the 2006 framework are the same as they were for BizTalk 2004:

1) Streamline the deployment process for developers, ensuring repeatability. 
2) Make it easier for a team of BizTalk developers to stay in sync - not just with BizTalk artifacts,

    but with all the other infrastructure that surrounds the solution (virtual directories, queues, file

    folders, etc.)
3) Extremely close parity between server-side deployments and developer deployments - so you

    are always testing your server deployments as you go through a typical developer work day.

 

In addition, using the framework can assist a team with their migration to 2006 from 2004. Teams

that are using the framework for 2004 (and who are now looking at BizTalk 2006) are finding that

using the framework will ease that part of their migration story, since the concepts are identical.

 

Mike Woods says:
This sounds like good stuff but let’s dig a little deeper into the migration issues. What kinds of

issues have you run into within your projects?

 

Scott Colestock says:
The key challenges that BizTalk 2006's "native" deployment story present are basically 4-fold:

1) Binding changes have to be communicated "manually" between developers on a team, since the

    import process is done through the Admin MMC or command-line.  Just "getting latest" from

    version control isn't sufficient.
2) Binding files for your various environments have to be maintained as separate files (manually),

    rather than "merging in" environment-specific settings  
3) Artifacts such as rules, virtual directories, queues, folders, additional dependent assemblies, etc.

    can be represented as "Resources" within the Admin MMC (and in exported MSI’s), but not in a

    fashion that easily moves between developers on a team.
4) It is difficult to define the contents of a generated MSI in a repeatable fashion, unless you script

    the creation of the application definition.  If you create the app definition through the MMC, you

    can't guarantee you can reproduce it.

 

That is a concern for shops that must be able to guarantee than an MSI (or other packaging

mechanism) is traceable to a particular marked point in version control.

 

Mike Woods says:
These sound like big issues to me. How does the deployment framework help?

 

Scott Colestock says:
The deployment framework addresses this by making the deployment story for developers identical

to what will happen at deployment time on the server.  Essentially, you move the deployment

process to a "Tools"-menu item in Visual Studio. This external tool kicks off a NAnt script that

creates a BizTalk 2006 application definition, and adds each element of your project as a resource

to that definition. In addition, the "framework" portion of the nant script (that you #include in your

project-specific nant script) takes care of things like binding file import, vdir creation, application

pool identity, placing .net components in the gac, etc.

 

The goal is this: that when the developer in the next office does a "get" from version control they

can 1) build 2) go up to the Tools menu and hit Deploy 3) be running the whole application

successfully with ALL of the infrastructure that surrounds the solution -  whether it be custom

identities for application pools, MSMQ queues that are required, specific ACL’s on file directories,

whatever it might be. Moreover, if one of those elements is changed, they are communicated

throughout the team via version controlled scripts - not in an out-of-band fashion.

 

Mike Woods says:
Good detail. Thanks. How many folks do you believe are using the deployment framework today?

 

Scott Colestock says:
It is hard to gauge - At last count, I've had over a thousand downloads of the zip files, but I don't

comb my logs all that often "looking" for those downloads. Folks from the training companies I talk

to indicate that their students mention it quite a bit.

 

Mike Woods says:
It's a download off of your site, right? Can you give us the URL and tell us about your support

model for the deployment framework?

 

Scott Colestock says:
Yes, the URL for all of the releases and articles I've written about the framework is:

http://www.traceofthought.net/CategoryView,category,Deployment%20Framework.aspx

There are three downloads - a full sample, a "core" which represents the framework itself, and

source code for the various utilities.  They are all available at www.traceofthought.net in the

“downloads” section.

 

There is a full set of documentation, and I answer questions via blog comments and occasionally

via email. But a shop that uses the deployment framework is generally savvy with NAnt and the

BizTalk command-line utilities, since a fair amount of self-support is required.

 

Mike Woods says:
Great, I'm going to go download the deployment framework myself.

This discussion sort of begs a question about Visual Studio 2005 Team System. One of the projects

my team has on our plate this year is to do some research on how Team System enhances the

BizTalk development experience. You've obviously thought a lot about BizTalk development. Can

you comment on that?

 

Scott Colestock says:
I hear a lot of questions from clients (and in the community) about how best to integrate unit

testing into their development process - and how BizUnit might (or might not) integrate well into

VSTS testing story. In addition, folks have asked how LoadGen might be integrated into VSTS with

the same level of integration that the web stress testing story has. So I think there is a lot of

potential for synergy - for BizTalk developers to benefit from the infrastructure VSTS can provide.

 

Mike Woods says:
Good input. Later this year when Kris and I start the research it would be great to have you on the

project v-team. What do you think?

 

Scott Colestock says:
I would love to participate - it would be great to have community involvement in that effort.

 

Mike Woods says:
Good, community participation is important to me personally and I’d enjoy working with you on the

project.

 

On a separate topic I noticed that you were one of the first people to register for the October SOA

& Business Process conference. What are you hoping to see at the show and do you think I can

convince you to speak?

 

Scott Colestock says:
Last year's show was fantastic - great content and a great networking opportunity.  I'm looking

forward to hearing more about 2006 R2 (particularly how the RFID story has moved forward since

I heard about it at the conference last year).  I'm also looking forward to hearing more about the

Office Server vision.

 

I'd love to speak - I'm planning on submitting a topic on how a shop can apply what they learn

during stress/perf testing into an operations monitoring strategy. I've learned a ton hearing

Wayne Clark speak at the last couple conferences and I think there are some interesting ways to

apply those topics to proactive monitoring via MOM, etc.

 

Mike Woods says:
All of those topics are in the sweet spot for coverage at the show. Your topic sounds like a session

I'd like to sit in on as well. Please send in your abstract proposal.
 
Scott, I'd like to thank you for taking the time to chat with me today. I certainly appreciate it and I

bet the community does as well.

 

Scott Colestock says:
It's been a pleasure! Thanks for the chance to tell you about the Deployment Framework stuff I've

been up to.  I look forward to seeing you in October at the conference.