Tellago Announced SQL Server 2008 R2 BI Quick Adoption Programs
Friday, April 30, 2010
Friday, April 02, 2010
BizTalk Dynamic Ports vs Static Ports - Performance
BizTalk Dynamic Ports vs Static Ports – Performance
http://dgoins.wordpress.com/2010/04/03/biztalk-dynamic-ports-vs-static-ports-%E2%80%93-performance/
Friday, February 26, 2010
Overstanding the ESB Itinerary Cache
Overstanding the ESB Itinerary Cache
http://dgoins.wordpress.com/2010/02/22/overstanding-the-esb-itinerary-cache-2/
Routing 2-way Synchronous response to endpoints other than the initiator
Routing 2-way Synchronous response to endpoints other than the initiator
http://dgoins.wordpress.com/2010/02/21/routing-2-way-synchronous-response-to-endpoints-other-than-the-initiator-5/
Thursday, January 14, 2010
64 Bit ESB/BizTalk Random Thoughts…
http://dgoins.wordpress.com/2010/01/14/64-bit-esbbiztalk-random-thoughts%E2%80%A6/
Thursday, December 17, 2009
Saturday, December 12, 2009
Friday, December 04, 2009
What Happened to the ESB MSMQ Adapter Provider?
In our current, project we built an itinerary that utilized the Business Rules Engine (BRE) to set an endpoint to the MSMQ Adapter. Lo and behold, there was no MSMQ Adapter provider, until now, Below is our source code for cheating the Adapter Provider framework for building a custom MSMQ Adapter Provider. The code was simple and to the point. No explanation necessary…
Source Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.ESB.Adapter;
using Microsoft.BizTalk.Message.Interop;
namespace Tellago.ESB.AdapterProviders
{
/// <summary>
/// Ths class implements IAdapterProvider for setting the context properties of
/// the BTS MSMQ adapter. Loaded by the AdapterMgr class
/// </summary>
public class MSMQAdapterProvider : BaseAdapterProvider
{
public override string AdapterName
{
get { return "MSMQ"; }
}
public override void SetEndpoint(Dictionary<string, string> ResolverDictionary, IBaseMessageContext msg)
{
base.SetEndpoint(ResolverDictionary, msg);
}
public override string AdapterContextPropertyNamespace
{
get
{
return "http://schemas.microsoft.com/BizTalk/2003/msmq-properties";
}
}
protected override void SetEndpointContextProperties(IBaseMessageContext pipelineContext, string endpointConfig)
{
base.SetEndpointContextProperties(pipelineContext, endpointConfig);
string[] properties = endpointConfig.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string property in properties)
{
string[] data = property.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
string key = data[0];
string value = data.Length < 2 ? "" : data[1];
pipelineContext.Write(key, this.AdapterContextPropertyNamespace, value);
}
}
public override void SetEndpoint(Dictionary<string, string> ResolverDictionary, Microsoft.XLANGs.BaseTypes.XLANGMessage message)
{
base.SetEndpoint(ResolverDictionary, message);
}
protected override void SetEndpointContextProperties(Microsoft.XLANGs.BaseTypes.XLANGMessage message, string endpointConfig)
{
base.SetEndpointContextProperties(message, endpointConfig);
}
protected override void SetContextProperties(IBaseMessageContext pipelineContext, Dictionary<string, string> ResolverDictionary)
{
base.SetContextProperties(pipelineContext, ResolverDictionary);
}
protected override void SetContextProperties(Microsoft.XLANGs.BaseTypes.XLANGMessage message, Dictionary<string, string> ResolverDictionary)
{
base.SetContextProperties(message, ResolverDictionary);
}
}
}
Steps to use:
1. Rebuild and GAC this project
2. Open the ESB.Config file from the install folder
Add the following line in the Adapter Providers section:
<adapterProvider name="MSMQ" type="Tellago.ESB.AdapterProviders.MSMQAdapterProvider, Tellago.ESB.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c0eafbe4dc54c287" moniker="msmq" />
Happy ESBng!!!