ESB Toolkit Series – Part I ‘Itinerary’

As there are a lot of resources available on the following pages, there is no need to dive into the ‘what is an ESB’, ‘what is the toolkit’, ‘how to install’.
However, the ESB Toolkit is quite complex;
…and I know that not everything it yet clear, described, and I hope to fill in this gap all combined in the ESB Toolkit Series
In this post we will look at the ‘Itinerary’,
Itinerary - An itinerary is a set of steps, where each step performs an action e.g. message transformation, routing, orchestration execution. The next three components i.e. Pipelines, Pipeline Components, and Adapter & Resolver Framework together provide dynamic resolution of End Points, Transformation maps and Itinerary based on message context.

Great! But what is this?
First question - how does it look?
Second question - What do we see?
If we open an Itinerary, we see a designer, which defines all the steps to followed before the ‘process’ is considered complete. This Itinerary is under the hood a serialized Xml message that flows along with each message using ESB ContextProperties. The ESB Toolkit provides components (Rule Engine, Pipeline and ItineraryServices) to change/update/view the state of the Itinerary.
We know that BizTalk is a messaging based product, which is architected around the Pub-sub pattern. This means, that a message is received and published (into the MessageBox) and a Subscription will determine if the message is routed a subscriber to eventually send it.
Third question – BizTalk vs ESBToolkit
In BizTalk receiving the message is typically a Receive port, sending a message goes through a Send port. So in BizTalk we can test this  using;
Useful to verify an installation as it touches most of the components involved in the BizTalk product!
So this looks fairly easy….now let’s do the same with the ESB Toolkit;
Let’s disassembly this and reorganize the Itinerary;

1)      On-Ramp, this is the container in which the services are running (e.g. the Receive Port)
2)      Receive Handlers, this is the list of ESB (pipeline) components which are executed in the On-Ramp (sequence based on name order, not on visual designer!)
3)      ItineraryServices (pipeline components – executed in the On/Off-Ramp or orchestrations, executed in the Process host)
4)      Receive Port, in which all the actions are executed/preprocessed (steps to execute)
So as the Itinerary contains a lot of pieces, and this example shows only 1 scenario we need more details. I will cover more scenarios in later posts;
  • On-Ramp
    • I will show where the Itinerary is started (OnRamp)
  • Itinerary, Transformation, And Endpoint Resolution And Routing
    • How the ESB Vocabulary enabled dynamic routing, transformation, starting business process using an Itinerary
  • Resubmit
    • How an Itinerary is structured and how we create a component to restart an business process and any step we want
However for this, we first needed to have some understanding of a simple Itinerary and the elements involved.

Stay tuned fridays at 17:00 UTC + 02:00.

General Series Overview
·         Itinerary
o   What is an Itinerary and how to view this from a BizTalk perspective
·         On-Ramp
o   How is an Itinerary executed, where does this happen
o   The ESB Toolkit adds functionality, but how exactly (dynamically)
·         Resubmit
o   The ESB Toolkit adds resubmit functionality, how can we extend this without using the ESB Portal
·         ESB Toolkit considerations


Sander Nefs
Tags van Technorati: ,


Popular posts from this blog

Azure implementation guidelines

Setting up a build server with the BizTalk Deployment Framework

BizTalk 2013, replace HTTP adapter by WCF-WebHttp REST