0

I have the following doubts in BizTalk deployment:

  1. How to deploy the BizTalk application to the production server?
  2. When I am modify the existing BizTalk application like artifacts, custom pipeline/functions, custom classes, etc., how again do I deploy the BizTalk application to the server?
  3. I know BTDF is the one of the best tools for deploying BizTalk applications and we can deploy BizTalk application to server using it?
Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
Naidu
  • 1
  • 1

1 Answers1

1

1. Deployment

For deployment you can use the built-in MSI generation wizard.
It means you deploy the application on a dev environment using Visual Studio, then on the admin console, export the application a MSI using the wizard. Finally you can use that MSI to deploy the app to the Production server. That's a two step process (Run MSI, import MSI in Bizalk Admin console).

Note that only your Biztalk assemblies are installed by the MSI. If you use .NET assemblies in your solution, they need to be GAC'ed manually. You will also need to restart the host instances running your Biztalk application.

See details here: https://msdn.microsoft.com/en-ca/library/aa559168.aspx

That's a few manual steps. Alternatively you can automate some of these steps by using the BTSTask, a command line tool included with Biztalk.
You can script all the manual steps.
Obviously it takes time to write such script, so it's only worth it if you are going to deploy many times in non-dev environments.

BTSTask reference: https://msdn.microsoft.com/en-ca/library/aa559686.aspx

2. Redeployment

Usually you completely remove the old version and then install the new one:
Delete the application from the Biztalk Administration Console and ungac the assemblies it uses.

The whole process would look like:
1. Make sure there are no running instances in you application. You can always disable your receive location and let the running instances complete
2. Delete Biztalk application
3. UnGAC associated assemblies
4. Deploy new Biztalk application version and GAC associated assemblies
5. Restart Host Instances used by your Biztalk application

EDIT: To address OP's concern about deleting a running application:

It is indeed possible to deploy resources independently and never delete your application.
But it does not mean you will not interrupt the service.
An orchestration for example, can never be redeployed when it has running instances.
So assuming that you divided your functionality properly into applications, I find it cleaner and easier to delete the whole application than going after each resource.
Otherwise, yes you can go and replace your resources separately.
But to me it seems like an overhead caused by not having defined applications correctly.

3. BTDF

The Biztalk Deployment Framework is a good tool to have some kind of automation in your deployment without having to write the scripts yourself.
Good compromise between customization to your needs and setup time.

I have used it on a freelance project. It was very helpful because I was able to deliver a package with a only a couple of deployment instructions, and the non-techie client was able to deploy painlessly.

  • I have small doubt on second point Redeployment i.e., when application is running on server is it true to delete the application and install the new one ? – Naidu Sep 19 '16 at 05:39
  • @Naidu You need to wait for a moment when your application has no running instance and stop the application first. –  Sep 19 '16 at 11:55
  • @Naidu I added details to the Redeployment section of the answer. –  Sep 19 '16 at 12:30