I have a certain aproach on how to solve common integration scenarios. It involves Process Services, Business Services, Receiving Interation services and Sending Integration Services. It's a clean way to set up an integration. Although it is a flexible way of setting up a project, it initially requires some extra work.
I have looked at this excellent post from Charles Young. It looked so sweet, but I couldn't get it to work for BizTalk 2006. Then I had a very seriuous look at the BizTalk Pattern Wizard from Jon Flanders. I tried to use it, but unfortunately there is very little documentation.
But when I was experimenting with this stuff I found out the following :
-
If I created a subdirectory in the following directory : C:\Program Files\Microsoft BizTalk Server 2006\Developer Tools\BizTalkProjects , it would show up as a kind of template directory in Visual Studio. Below is a screenshot of this. On the left is the directory structure and on the right is the screen as it shows up in Visual Studio.


VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.8.0
Param="WIZARD_NAME = SimpleTemplate"
Param="WIZARD_UI = FALSE"
Param="PROJECT_TYPE = BTPROJ"
Param="SCRIPT_COMMON_RELATIVE_PATH = BizTalkWizards"
Param="RELATIVE_PATH = BizTalkWizards"
-
Then I found out that there is a subdirectory called BizTalk Wizards, If you create a Subdirectory with the name of the 'WIZARD_NAME' Visual studio would open the directory, and execute a JavaScript scriptlet to do some processing. Below is a Sample of the directory Structure.

-
Not beeing a JavaScript programmer at all, I modified this 'Default.js' so it would do some specific stuff. ( Move files and then do a search and replace ).
-
Then I created a project that would be the template. I had a specific namespace and some other specific stuff ( the strings that would be replaced).
- And presto the template was finished.
Now its only a matter of seconds to create the projects. The naming convention should be SomeProject.ServiceKind,ServiceName. The templates really expect a dotted name where tle last part after the last dot is the actual service name.
- If you want to try this yourself, extract the files in the zip file ESB Concept Scenarios.zip to the directory C:\Program Files\Microsoft BizTalk Server 2006\Developer Tools\BizTalkProjects\ESB Concept Scenarios, so that the directory will contain two files. SimpleTemplate.ico and SimpleTemplate.vsz.
- Next you extract the following file SimpleTemplate.zip to the following directory BizTalkWizards. The result should look the same as the picture above.
- Next Start Visual Studio, Create a new BizTalk Project, Select SimpleTemplate and see stuff happen. (Don't forget the name yoy enter for the project should be in the form , SomeProject.ServiceKind,ServiceName otherwise it won't work.
If You don't like the template or want to change it, simply go to the BizTalk Wizard directory and perform the following steps.
- Select the template you want to change.
- Next go to the 'Templates\1033\OriginalProject' directory.
- Open the solution.
- Make any change you want, and save the project.
- Copy only the Orch / Map and XSD one level up. Do not copy the SLN and BTPproj files. (Have a look in the notepad at both of them and you will probably spot the diffrencies).
That's it.
If you want to see this for yourself, have a look at the video in this zip file Templates_in_action.zip