Blogging BizTalk

Lets Discuss BizTalk

Parallel Convoys in BizTalk Demo Part 1


A parallel convoy enables multiple single messages to join together to achieve a required result. The set of related messages can arrive in any order, but BizTalk Server must receive all of them before starting the process.Attending Interviews : Jump on this page for a better framed definition: http://msdn.microsoft.com/en-us/library/aa546782.aspx

Now lets concentrate on our purpose “HOW TO IMPLEMENT IT?”  In this example we are going to design a BizTalk solution which is expecting an order XML file and an Shipment Confirmation XML file from warehouse which may come in any order. Once these two are received we need to notify the customer via an outgoing XML file (ps: A customer will not understand a XML file hence we will need to have some service in  place to format the output XML and do the SMTP work and this is not in the scope of our current discussion) We are going to accomplish this by writing an orchestration with a design pattern of parallel convoys.

There are two key components to implement a parallel convoy orchestration.

  • Parallel Action shape
  • Correlation sets which will be initialized in all the receive shapes in the Parallel action branches.

Again like my previous post I have tried to keep the example simple to avoid confusion ( You are allowed to confuse your self later when you implement a more complex scenario around this model :-))

1>Add three schemas for Order(Inbound message), Warehouse shipment confirmation(Inbound message) and Customer Notification(Outbound message) to your BizTalk project.

schemas

2>Design an orchestration per this screen. Define correlation set  We are using two branches in parallel action and we need to initialize the correlation in the receive shape of both the branches. The purpose of having this initialize on both is to allow initializing of the correlation when either of the messages arrives. After the parallel shapes I have used a transform to create output message taking both the inbound message as the source of map(Check the picture below)

Orchestration:

Orchestration

Correlation

transform

3>Create your receive and send ports, deploy your solution and complete binding of the orchestration. Start all of them and recycle HIS.

4>Drop an incoming Order xml file in your receive location. You will see a rcv pipeline and then an orchestration service started, you will also notice the orchestration has gone into dehydrate state since it is waiting for the other xml file for shipment confirmation. Drop the  shipment confirmation file. Check your admin console and you will see the orchestration has completed and the output xml file will show up in the send location.

AdminConsole Debugger

Also you may want to check the subscription of this orchestration and you will notice this has two subsctiption and thats how two seperate inbound messages are not triggerring two instances but they are rather consumed by only one instance.

Subscription

This completes the demo. If you need the source code or have any questions please leave me a comment with your email id and will be glad to help you out.

Note: We can put the Receive Shapes in Scope Shapes with the Timeout property set to prevent the Convoy from waiting forever in case of multiple branches.

Continued:
https://psrathoud.wordpress.com/2013/12/12/parallel-convoys-in-biztalk-demo-part-2-convoy-orchestration-active-forever/

SourceCode

 

Advertisements

2 responses to “Parallel Convoys in BizTalk Demo Part 1

  1. Pingback: Parallel Convoys in BizTalk Demo Part 2 : Convoy Orchestration Active Forever.. | Blogging BizTalk

  2. Pingback: Parallel Convoys in BizTalk Demo Part 2 : Convoy Orchestration Active Forever.. | Blogging BizTalk

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

D Goins Insperience

Technological outformation for this day and age

[INACTIVE BLOG] Connected Thoughts - Thiago Almeida

Connected systems and the occasional picture

Uri Katsir's Blog

BizTalk , BizTalk RFID and .NET

prashantbiztalkblogs

My BizTalk Experiences

BizTalk Server Tutorial

BizTalk Server Concepts and Common Errors

Extremely Talented Monkeys

A Technical Blog by Ed Jones: Azure, .NET, BizTalk, WCF, and SQL Server

On All Things Web

Discussing web development without limits

Vikas Bhardwaj's Blog

Articles about BizTalk Server and .NET C#

Cloud develop

a blog about (cloud) development... because I'm a nerd

Hooking Stuffs Together

My learning logs from day to day work experience about Integration platform using Microsoft technologies.

Connected Pawns

Mainly BizTalk & Little Chess

jhelatissimo

a blogger in the process.

MS Innovations Blog

Tips, Tricks, and Workarounds for BizTalk and other Microsoft technologies

srirambiztalks

Katradhu Kaialavu,Kalladhadhu Ulagalavu!

Vijay Microsoft Technical

BizTalk, WCF, ESB ToolKit, Windows Azure

Mind Over Messaging

Musings on BizTalk, Azure, and Enterprise Integration

%d bloggers like this: