ESB Toolkit 2.0 Limited Deployment

The ESB Toolkit 2.0 install is still a painful process and I have often asked if there was an easier way to do it to get more out of it. Use of the ESB pipeline components is particularly helpful in some situations but it is a little annoying to go through all of the ESB Toolkit setup steps just to use the pipeline components. So I think I have found a usable workaround. On a recent project I was using one of the ESB Toolkit 2.0 pipeline components for removing a namespace from an Xml file, but I decided to try an limited deployment of the ESB Toolkit 2.0.
 
I found that it is possible to do an limited deployment of assemblies for the pipelines as long as all of the dependent assemblies can be found. I recognize this is not an ideal or officially supported configuration but I found it to be a much quicker deployment. Obviously you cannot take full advantage of the ESB Toolkit’s features if you do not install everything but if you happen to just need to use one of the pipeline components then this post should enable you to be successful quickly.
 
Here are the basic steps of what I describe as a limited ESB deployment:
  1. Build all BizTalk projects with custom pipelines using the ESB Toolkit components
  2. Copy all compiled BizTalk assemblies and referenced ESB assemblies to the BizTalk pipeline components folder (usually C:Program FilesMicrosoft BizTalk Server 2009Pipeline Components)
  3. GAC all compiled BizTalk assemblies and referenced ESB assemblies
  4. Add BizTalk assemblies and ESB pipeline component assemblies to relevant BizTalk application
To determine all of the dependent assemblies for an assembly, I open it in Reflector and then expand the references item. This shows the immediate references and lets you drill deeper from there into references of references. This is a handy way to get a quick list of dependent assemblies. To save you the time of doing this again for the ESB Toolkit, here are the referenced assemblies for the ESB Toolkit 2.0 pipeline components. You can just copy and paste these to rapidly deploy the ESB pipeline components with your BizTalk assemblies:
 
Pipeline Component assembly: Microsoft.Practices.ESB.Namespace.PipelineComponents
 
Referenced Assemblies:
Microsoft.Practices.ESB.Utilities
Microsoft.Practices.ESB.GlobalPropertyContext
Microsoft.Practices.ESB.Itinerary.Schemas
Microsoft.Practices.ESB.ExceptionHandling.Schemas.Faults
Microsoft.Practices.ESB.Exception.Management
 
By just deploying a small number of the ESB Toolkit 2.0 assemblies I was able to take advantage of the really handy functionality provided with the Toolkit without spending a considerable amount of time getting the toolkit installed and configured.
 
Thanks,
Advertisements

,

  1. #1 by Ben on January 12, 2010 - 2:31 pm

    This does assume you have the ESB toolkit installed somewhere so you can get the assemblies to copy and paste. The limited deployment option would work where you have a dev environment with the toolkit installed but only wanted to copy the assemblies to the server rather than install the whole toolkit on the server.

  2. #2 by Mark on January 14, 2010 - 2:56 pm

    THe Next Atlanta BT Meeting is how to implement ESB error handling in "plain old BizTalk" meant to be a speech on how to move error handling in preparation for ESB. I will point this post out since it goes along with the Migration to ESB train of thought. Thank you again for great insite!

  3. #3 by Ben on January 14, 2010 - 3:54 pm

    Thanks Mark! Hope the meeting goes well.

  4. #4 by Ben on February 1, 2010 - 6:01 pm

    One other limitation I have found with this is that if there is an error that occurs in the configuration of an ESB pipeline component in a custom pipeline, the actual error will not be logged to the Event Logs because the event log source will not have been deployed.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: