BizTalk Server: Deploying a Custom Pipeline Component through Visual Studio
Introduction
Receive and send pipelines in BizTalk are used to perform a range of processing and operations on messages. Pipelines contain stages and each stage can hold more than one pipeline component. Pipelines and pipeline components present out of box can do most of the tasks for you. But sometime specific message processing or massaging requirements encourage developers to develop custom pipeline components. You can create three types of pipeline components: general, assembling, and disassembling. Each of the three types can additionally implement probing functionality. Each type of pipeline component has an associated interface that must be implemented for the component to be plugged into the BizTalk Messaging Engine; the pipeline interfaces that distinguish the types of components are IComponent, IAssemblerComponent, and IDisassemblerComponent. A custom pipeline component is just a plain .NET class that implements several BizTalk interfaces.
Deploying Pipeline Components
Normally BizTalk picks all the component from GAC only. So the first question that comes to head is: "Do we need to publish custom pipeline component in GAC? And the answer is No.
All the .NET pipeline component assemblies (native and custom) must be located in the <installation directory>\Pipeline Components folder to be executed by the server. If the pipeline with a custom component will be deployed across several servers, the component's binaries must be present in the specified folder on every server.
You do not need to add a custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).
Custom COM components in the pipeline will also appear in the Toolbox, provided they are registered on the computer as a COM component. Custom .NET pipeline components must be placed into the <installation directory>\Pipeline Components folder.
There are several way to deploy the custom Pipeline Components, in our developer environment we can accomplish that through Visual Studio by:
- Create the pipeline component
- Go to properties of project.
- Go to build Events : Post Build Events command Line:
xcopy "$(TargetPath)" "C:\Program Files\Microsoft BizTalk Server 2010\Pipeline Components" /d /y
See Also
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.