You may all remember Richard Seroter BizTalk SendPort Duplicator tool and how he descrived that frequently during development, and even in production, we have a need to create new BizTalk ports that are virtually identical to an existing one where we just need to change some small configurations like:

  • Address/URI;
  • Send Port Filter criteria;
  • Different pipelines or pipeline components configuration;
  • And so on.

And by default, the only options we have are:

  • Export the application binding files, manually clean the file and change the values; And then import the Binding file again;
  • Or manually recreate the entire port again;

Both options are time-consuming and need a lot of manually work.

And Richard Seroter was, and still is, an amazing lifesaving tool that allows you to duplicate send ports easily, so why a new tool?

“BizTalk Port Multiplier Tool” it has all Richard tool functionalities but is more than a Send Port Duplicator, and that is the reason I decided to create a new tool.

“BizTalk Port Multiplier Tool” is a simple tool that aims to simplify the port “cloning” process by allowing you to easily “clone or duplicate” any existing port: Receive Port or Send Port.

  • Send Ports are easy, you only need to give a different name to the port, and you can clone it;
Devscope BizTalk Port Multiplier tool Send Ports
  • Receive Ports are tricky because they may contain several Receive Locations and the URI needs to be unique;
Devscope BizTalk Port Multiplier tool

This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate port creation based on an existing one a little simple and easy allowing you to:

  • Create a new Receive Port based on an existing one;
    • It will also export the binding file from that new Receive Port;
  • Create a new Send Port based on an existing one;
    • It will also export the binding file from that new Send Port;
  • Generate different binding files for each environment

Why do I need to “clone” a Receive Port?

Sometimes you also need to create a receive port with similar configurations of an existing one, also changing only a few configurations or simple the URI and instead of manually recreating you can have 90% of the process done automatically.

Sometimes is practical, sometimes or in some scenarios, it may not work but in most cases, it will. So it is basically a best-effort operation and not an exact clone because they may have several Receive Locations and the Address/URI needs to be unique. So, you then need to go to each receive location and reconfigure them.

Credits

Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.

Download

You can download BizTalk Port Multiplier Tool from:
BizTalk Port Multiplier ToolBizTalk Port Multiplier Tool
GitHub

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

7 thoughts on “BizTalk Port Multiplier Tool”

  1. Nice tool Sandro, the tool seems to work with 1 version of ExplorerOM. I have on my desktop version 2k16 but when I try to access a BTS2K13 DB, I get the following error

    Microsoft.BizTalk.ExplorerOM.BtsException
    HResult=0x80131600
    Message=The database or the database version is incompatible with the installed version of this product.
    Source=Microsoft.BizTalk.ExplorerOM
    StackTrace:
    at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.set_ConnectionString(String value)
    at BizTalk_Port_Multiplier.mainForm.LoadResources() in C:\Projects\Workspaces\GitProjects\Source\Repos\BizTalk-Port-Multiplier\BizTalk Port Multiplier\mainForm.cs:line 349
    ….
    ….

Leave a Reply

Your email address will not be published. Required fields are marked *

turbo360

Back to Top