The best practices in BizTalk development

Author: Ritesh Mehta

BizTalk by Microsoft enables organizations to automate processes, via using the adapters tailored to communicate with various software systems used in an organization. It offers business process automation, enterprise app integration, B2B communication, and business activity monitoring and message broker. The server previously was positioned as both an app server and an app integration server. Microsoft change this when they released the AppFabric server that turned out as the official application server.

When it comes to BizTalk development, there are a lot of best practices on the web. Development of BizTalk is done via Microsoft Visual Studio. A developer could build transformation maps that transform one type of message to another. Messages inside the server are implemented through the XML documents with an XSLT standard. The following are some of the best practices when developing BizTalk Server.

  1. Place related artifacts in the same BizTalk app as much as possible. This enables the management and deployment of artifacts as one entity, making management easier. One could group artifacts which support the same business process that perform the same functions into one application.
  2. Deploying shared artifacts in a separate app. If artifacts will be shared by two or more apps, deploy the artifacts shared into a separate app. This best practice applies to all types of artifact for files, like Readme files and scripts, added to the app as an artifact or File type.
  3. Deploy shared policies in a separate app. If a policy is utilized by two or more apps, it is important to deploy in a separate app instead of making a reference from one app to another. This is because when stopping an app, the polices are not deployed. If one stops an application that includes a policy used by another app, it will no longer function in either app.
  4. Deployment of shared certificates in a separate application. If a certificate is used by a send port or receive location in a couple of or more apps, one should deploy the certificate in a separate app and then reference this app from the apps that should be used in certificate.
  5. Deploying a shared website in a separate app. If a website would be shared by more than one business solution, deploy the website in a separate app. This is because when installing a BizTalk app, the virtual directory of any site that’s part of the app is removed, even if the web is running. If the site is shared with another solution, the other solution would no longer correctly function as a result.
  6. Do not deploy an assembly from VS on a production computer. During development, often the developer should redeploy assemblies from Visual Studio. To enable redeployment, Visual Studio could undeploy, stop, unbind and unenlist artifacts included in the assemblies. While this is appropriate and necessary in the development environment, it could cause undesired and unexpected consequences in a production environment. For this reasons, while avoiding the possibility of an attempt to deploy an assembly from VS on a production computer, it is also recommended that one should not install VS on a production computer.