ESB Toolkit Tip #12: Use the Broker Service to make routing decisions in itineraries

The Broker Service in the ESB Toolkit is a powerful Itinerary Service but it’s not heavily documented and therefore probably not often used. Which is a shame because the Broker Service is the only service that allows you to select the next Service in the Itinerary, and thus change the entire path of execution that the Itinerary takes. In the current implementations the Broker Service is only available as a Messaging Service that executes within the Pipeline. No Orchestration-based Broker Service is provided.

Note that because it can only execute within a Pipeline you can’t use an Orchestration Service to connect to it but the Broker Service itself can connect to other Orchestration Services.

 

 

 

 

 

 

 

See Also

For more information on the Itinerary Broker Service in the ESB Toolkit see:

Understanding and demystifying the Scope of the Table Looping Functoid

Understanding and demystifying the Scope of the Table Looping Functoid

Let’s have a look to a little of inside information that will be in my upcoming Book about maps: demystify and clarify some features about the Table Looping Functoid. First of all this functoid requires at least 3 inputs and a maximum of 100, in which the official documentation states that: Parameter 1: A link […]
Blog Post by: Sandro Pereira

BRE Pipeline Framework v1.5.1 available for download – major bugfix

BRE Pipeline Framework v1.5.1 available for download – major bugfix

I have just uploaded the BRE Pipeline Framework v1.5.1 installer to the CodePlex project page. If you have previously downloaded v1.5 then please uninstall it, download v1.5.1 and install that as it fixes a pretty major bug. The bug (issue #1767) results in context properties promoted by XML/FF/EDI disassemblers prior to BRE Pipeline Framework components […]
Blog Post by: Johann

Integration Hashtags

Integration Hashtags

With the recent name change from Windows Azure to Microsoft Azure, the old WABS (Windows Azure BizTalk Services) hashtag has become obsolete. It wasa risky hashtag to view at times anyway, given some of the dodgy meanings for “WABS” particularly in my neck of the woods – but that’s another story! So far I haven’tseena […]
Blog Post by: Colin Meade

Sentinet Extensibility – Custom Access Rule Expression

In Sentinet, authorization and access to any virtual service is defined using an Access Rule which is a combination of authorization expressions and logical conditions.Sentinet provides an out of the box access rule composer with a set of common Access Rule Expressions like X509 certificate, Claim and User validation. In this blog post I will go through the steps involved in creating a custom access rule expression, register it and test it.

New Pluralsight Course on Intro to BizTalk Server 2013 Enterprise Service Bus (ESB) Toolkit is Live!

I am excited to announce the release of my 2nd course with Pluralsight!  This course is called “Intro to BizTalk Server 2013 Enterprise Service Bus (ESB) Toolkit”.  This course is designed for an existing BizTalk Developer who has little to no exposure to the ESB Toolkit.  This course walks you through the basics from architecture, to installation, to building your first solution, to how to use the Exception Management Framework!

Here is a 3 minute sample video of the High Level Architecture and Message Flow of the BizTalk ESB Toolkit. 

[View:http://www.youtube.com/v/oINu1nt_PQI?hd=1]

Watch this video directly on YouTube – http://youtu.be/oINu1nt_PQI

This course contains the following modules:

  • Overview of the ESB Toolkit for BizTalk Server
  • Inside the ESB Toolkit Components
  • Deep Dive into an ESB Solution
  • Using the ESB Exception Framework

Current Pluralsight subscription holders can watch the course here.

New users can get a free 10 day 200 minute evaluation here.  This is enough time to watch the whole course for free!!!

Enjoy!

Top 5 Free Mobile Application Testing Platforms

The testing phase of mobile developmentis critical to the success of any application, and with the multitude of variations in both hardware and operating systems, this stage is arguably the most difficult to manage and execute properly. Fortunately there are a handful of useful toolsthat assist with the distribution and testing of mobile applications withthe […]
Blog Post by: Chris Fedge

Combine normal BizTalk processes with Itineraries via a MessageBox On-Ramp

In an environment where the Microsoft BizTalk ESB Toolkit is deployed, a BizTalk Receive Location responsible for receiving ESB-destined messages is referred to as an "On-Ramp." In the Receive Location you need to use one of the Pipelines provided as part of the Toolkit, and then correctly configure the components of that Pipeline to determine the Itinerary and link it to the message. So you can use almost any location outside BizTalk as an On-Ramp but what if you have for example a normal BizTalk process with Orchestrations and you want to sent a message from one of the Orchestrations to the MessageBox database and use an Itinerary to process that message? You can’t use Pipeline Components once a message is already in the MessageBox. Therefore you need to create custom code in .NET that has to be invoked in an Orchestration to perform the steps that are normally made inside the Pipeline.

 

Steps

The objects that are used in the Pipeline Components are not described on MSDN so Reflector is your best friend to figure out which objects need to be used and how to invoke them.

The following steps are necessary:

  • Create XSD schemas for the messages in BizTalk 
  • Create a Map to transform the inbound message to a message for the ESB
  • Create a Custom Component in .NET to set the context properties that are needed for the ESB Toolkit
    • In the custom component:
      • Resolve the itinerary from the Itinerary Store database
      • Determine the first Itinerary Service in the itinerary
      • Write the properties of the Itinerary Service as context properties on the message
      • Attach the itinerary to the message
  • Create an Orchestration to process the inbound message
    • In the Orchestration:
      • Receive the message
      • Use the Map to transform the inbound message
      • Set the ESB properties with the custom component
      • Create a Correlation Set to promote the context properties on the message
      • Send the ESB message to the MessageBox database with a Direct Port
  • Create an itinerary to process the ESB message

 

 

 

 

 

 

 

 

 

See Also

For more information on creating a MessageBox On-Ramp see:

Going down under-BizTalk Summit 2014

There will be another BizTalk Summit event in august in Australia. The early bird tickets are on sale now until the end of this month! The event will take place in three different cities: Melbourne, Sydney and Brisbane.

I will be speaking at each of the events together with fellow MPV’s Saravana Kumar, Michael Stephenson, Bill Chesnut, Mikael Hakansson and Mick Badran on various topics around