Friday, April 30, 2010

Tellago Announced SQL Server 2008 R2 BI Quick Adoption Programs

Tellago Announced SQL Server 2008 R2 BI Quick Adoption Programs


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/


Installing VS.NET 2010 with biztalk 2009

http://dgoins.wordpress.com/2010/02/04/installing-vs-net-2010-ultimate-beta-with-biztalk-2009-vs-net-2008-3/

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/

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!!!