Wednesday, 20 June 2012

How to use Static ports with BizTalk ESB ToolKit


How to use Static ports with BizTalk ESB ToolKit


Couple of month’s back I had a situation to submit 7million records (onetime activity) to WCF service endpoint using BizTalk ESB toolkit. Potentially it is a performance issue for high volume of data using Biztalk Dynamic Ports.
However I cannot change my ESB Solution for the sake of one time activity.
It was working fine when I submit 100’s of records per day but when I started dumping the huge amount of data with Dynamic ports created  lot of performance issues and it even created a problem for Server reboot.
Initially the BizTalk SendHost consumed lot of memory and later got timeout errors and so on.  Hence my investigation began to find alternate way. 
Because of the production Issue I cannot propose any new development so the best alternate way is to using the static Ports.
Here are my findings
As you know you cannot find Static Ports Names at Off-Ramp while Design Itinerary.
It’s quite easy to handle this situation, first thing is to create Dynamic Ports for required endpoint and build the solution.
Once all the deployment complete , Lets create Static Port with ESB Filter properties.
Here is the sample for Submit data to FILE Location using DynamicSendPort



And the Itinerary Process design is


After successful deployment of Itinerary change the Delete the DynamicPort and create StaticPort with Filter properties as mentioned below.






















You can reach me @ raj.webjunky@Yahoo.com

2 comments:

  1. Is there a way to use static solicit response ports? I need to process the response message.

    ReplyDelete
    Replies
    1. Yes, you can create Static Solicit Response port, but make sure you have used the ItinerarySendPathtrough, ItinerarySendReceive pipelines to get the message back to Itinerary with required filter properties.

      Delete