Sequential Processing of Normal Flow as well as Error Flow

All,

I am designing a BizTalk solution which has 90+ interfaces spawning 8-9 systems.

Requirement of Client is that BizTalk should process all the requests in FIFO model.

Client also wants that failed messages to be stored in sql table and reprocessed in sequence.

Traffic is not very high 4-5 messages per second.

Please highlight if any special consideration I have to make while designing this solution.

Thanks!!!

vikingssss

May 26th, 2015 10:44am

Do the failed messages have to be processed in order relative to each other or should a failed message stop all processing?

Free Windows Admin Tool Kit Click here and download it now
May 26th, 2015 11:21am

OK Sorry ! Forgot to point that sequence needs to be maintained within interface only in normal as well failed scenario.

And to answer your question.....failure should not stop all processing...only the failed message should be logged to sql table

For interface 1 for example 2 messages failed

Msg1 Interface1 seqnum1

Msg2 Interface1 seqnum2

So when I am re-processing from sql table, Msg2 cannot be processed until Msg1 is successfully processed.

May 26th, 2015 12:06pm

hi Vikingss,

As per me, I don't really worry about the seq num.. Use a kind of identity column that will keep on generating numbers. This usually expires(reaches upper limit) only after a few years. When retrieving you can get the ascending order for that particular interface.

You might have already planned to use the sequential convoy in this scenario for ensuring ordered processing.

Let us know if you have any specific issue you are facing or expect to face.

Free Windows Admin Tool Kit Click here and download it now
May 27th, 2015 10:23am

Ok, sounds simple enough.

Using Ordered Delivery will get you probably 95% of what you need.

As for replaying, just make sure the message are polled out of the table in the same order they were stored.  An alternative would be a queue such as MSMQ.

May 27th, 2015 11:01am

Yes I agree, But Downside of MSMQ would be that it does not allow flexibility to ignore a message by setting a flag. This I am able to achieve in SQL.

And I am also pushing that all systems should communicate on MSMQ or WCF Service.

Systems like SQL and SAP will generate their own sequence number so I am good on that part.

I am more concerned about exception handling:

1. Uncaught excpetions Scenario may create nightmare.

2. I am also planning to restrict resuming instances from admin console and ESB Portal.

3. All Destination Orchs will act as Resequencer(Sequential Convoy).

I hope I have covered everything.

Regards,

vikingsss

Free Windows Admin Tool Kit Click here and download it now
May 29th, 2015 1:21am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics