Brian Loesgen's Blog

BizTalk, Enterprise Service Bus (ESB), SOA, Oslo, San Diego .NET User Group, San Diego Software Industry Council Web Services... and stuff!

  Home  |   Contact  |   Syndication    |   Login
  109 Posts | 0 Stories | 85 Comments | 84 Trackbacks

News

Tag Cloud


Archives

Post Categories

Image Galleries

My Blog Friends

There was a message at the Codeplex site from someone having issues doing a simple "receive file from folder, do dynamic endpoint resolution and deliver message". I threw together a little sample showing how this works, and blogged about it in case others need this too.

The moving parts involved are:

  • receive location using the ItineraryReceivePassthrough pipeline
  • dynamic send port using the ItinerarySendPassthrough pipeline

How it works:

  • the message is received
  • the ESB Dispatcher Disassembler calls the Resolver specified in the Endpoint (in this sample, the business rules engine, see below)
  • the Resolver invokes the rules policy
  • the AdapterProvider framework sets appropriate outbound adapter information
  • the message hits the MessageBox
  • a send port subscribes to all messages from that specific receive location
  • the message is delivered

 

The receive configuration looks like this:

image

(full endpoint value is "BRE:\\policy=Microsoft.Practices.ESB.Test;version=;useMsg=;MessageExchangePattern=;")

Next, using the BizTalk Admin tool, right-click your test application and add a reference to the Microsoft.Practices.ESB BizTalk application. That way you'll be able to access the resources it contains, including the pipelines. We will need this for the next step.

The send side looks like this (note that there are no values set in the per-instance properties):

image

Then, of course, we need a filter condition to link them together:

image

The ultra-complex rules policy :) looks like this:

image

 

Technorati Tags: ,,
posted on Monday, March 03, 2008 5:38 AM

Feedback

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 3/4/2008 7:00 AM Salam
I tried to follow your example, when I try to set the pipeline, I don't find the itinerarysendpassthrough in the dropbox.
I have ESB up and running as well as the portal, so am I missing something in configuration.
By the way, is there any other step by step tutorials as this nice one.
Well done

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 3/4/2008 11:06 AM Mikael
f.y.i, if you haven't allready found it out, there is a bug, if you what to set up a more complex rule using the message context (the useMsg property). I wrote an article about it if you'r interested.
http://blogical.se/blogs/mikael/archive/2008/02/01/esb-guidance-part-6.aspx

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 3/4/2008 1:14 PM Brian Loesgen
Salam:

Sorry about that. I skipped a step when I did the original post.

Using the BTS Admin tool, right-click your test application and add a reference to the Microsoft.Practices.ESB BizTalk application. That way you'll be able to access the resources it contains, including the pipelines.

Brian

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 3/14/2008 2:20 AM Thanmal Verma
Hi Brian,

I had a simple question on this. Can we specify both the mapname as well as endpoint information. The scenario I want to cover is that can I do both transform and routing in this sample? I know one can use itinerary on-ramp web service to do that but if we are using the file sample example, can we do this without involving itinerary building.

Thanks

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 4/1/2008 8:09 AM Salam
Another great and interesting article. Can we track the execution of the policy inside the business rule composer or programmatically or in HAT? if yes, how
Thanks

# ESB -Sample example need to understand? 10/11/2008 5:20 AM Kaushal
Hi,

can any one help me get a sample example so i can understand ESB.
i want to design ESB that has to receive request from different clients.
clients can be http.jms etc.

# re: ESB Guidance 101: File receive, dynamic endpoint resolution via rules engine 10/12/2008 1:54 AM Brian Loesgen
For a sample of ESB usage with JMS etc, I would suggest you go to Codeplex and download the current version. There's some intro info that talks about ESBs.

In addition, the ESB Guidance supports JMS, there's a pipeline component that will promote/demote JMS header properties, giving you full fidelity of JMS headers as a message goes through its lifecycle, and giving access to them inside BizTalk as well through context properties.

HTH,

Brian

Post Feedback

Title:
Name:
Email: (never displayed)
Url:
Comments: 
Please add 1 and 6 and type the answer here: