| Lucas R. Vogel 2006-04-27, 7:25 am |
| For all of my BizTalk development efforts, I have created a standard folder
that everything is developed and deployed to, currently D:\BTPROJECTS. All
development, testing, and production environments are built to ensure that
this directory exists; all .msi and deployment packages are configured to
deploy all project deliverables to this one location (albeit under their own
project-specific subdirectory). Having this standardized location alone saves
me a lot of headaches when developing scripts and deliverables.
Standardization gives me the assurance that my project assemblies and
automation scripts can rely on their location when running in testing or
production.
Within my BTPROJECTS folder I have another subdirectory called UTILITIES,
which consists in turn of three subdirectories:
\bin
\script
\install
\src
While most are self-explanatory, let me briefly describe what I put into
each of these folders.
-\bin-
This folder contains all binaries (.exes, .dlls) and their associated
config/help/README files I've amassed from different places, such as
WinInternals utilities (http://www.wininternals.com) or binaries from the
SDK. I especially like pulling them out of the SDK because that way I don't
have to try and find the path to SDK binaries every time I want to use them.
If the binary doesn't contain any information on what it is, I'll create a
README file for it explaining where I got it, what it does, and (optionally)
why it's helpful to have around.
-\script-
Like the \bin folder, this directory contains scripts pulled from the SDK
and elsewhere that enable me to further automate redundant tasks. Scripts in
this folder tend to be general utility scripts pertaining to BizTalk, such as
starting/stopping hosts or other generalized WMI tasks that I can use within
other application-specific scripts contained in my application directories.
Again, the \scripts directory allows my app scripts to standardize, making
support, development, and life in general that much easier.
-\install-
When Kevin B. Smith (http://blogs.msdn.com/kevinsmi/) updates BizUnit, or I
find a useful utility or program on the GotDotNet workspaces
(http://www.gotdotnet.com/team/wsservers/), I like to download their latest
install packages and create a subdirectory for them in this folder, ensuring
I specify what version I have downloaded; I'll also take a minute to create a
text file or shortcut containing the URL I just downloaded the package from.
When you run an installation wizard for a custom package, it's also good
practice to have a specific location for all of your packages to go to as
well; otherwise, they'll install all over the place, oftentimes making them
hard to find. I used to install into my UTILITIES folder, but that causes
potential problems too, so I created something a new standard: 'D:\Program
Files\BizTalk Utilities'. Every time I run an installation for a BizTalk
helper app or utility, they go into a directory I immediately recognize,
remember, and communicate to others in my organization about.
-\src-
This directory is for anything where all I get is source code. I'll create a
subdirectory for the source code project, and any compilation/development
work is done there. Once it's built, however, it goes into my \bin folder or
other appropriate installation path for that particular binary.
Both the BTPROJECTS and BTPROJECTS\UTILITIES directories have helped me save
a lot of time and energy in my development efforts, and I've managed to help
a lot of people within my organization getting started in BizTalk
development. With some minor administrative overhead, I've managed to keep my
utilities directory uploaded in Visual SourceSafe; whenever someone creates a
new development environment, they have all of the third-party tools and
scripts they need to get started in short order. Obviously, not everything in
this directory makes it into production, but it's nice to know it's somewhere
where the admins can get to it as well when they need help...
I'd love to hear what others have done in order to standardize development
environments, or other productivity improvements in BizTalk environments...
Enjoy!
Lucas
--
===========
Lucas R. Vogel
|