Implementing Mutexes for Biztalk Orchestrations
- From: "stork" <tbandrow@xxxxxxxxxxxx>
- Date: 18 Jan 2007 13:11:06 -0800
What is the best practice way to ensure only one Orchestration runs on
a particular branch at a time?
I have a Biztalk Orchestatrion that:
a) Receives some data from another system.
b) Invokes a request to another
c) Waits for that request to complete
d) Collects the results and places them in a target database
For reasons relating to the original design of the migration routines,
steps a and d can only be executed by one process at a time. Therefor,
I would like to do something like:
a) Lock RECEIVE
b) Receive some data from another system
c) Unlock RECEIVE
d) Invoke the request to another
e) Waits for the request to complete
f) Lock RESULTS
g) Collects the results and places them in a target database
h) Unlock RESULTS
The question is, what's the preferred technique? I think I can do:
Technique A
a) Lock - use Biztalk Loop to wait until the table does not have a row
for the lock type (egs, RECEIVE, RESULTS).
b) Unlock - use Biztalk expression to delete the row for the lock type.
Technique B
a) Lock - use expression to wait until the table does not have a row
for the lock type
b) Unlock - use Biztalk expression to delete the row for the lock type.
The difference between A and B is in whose doing the polling. My
question is, is it better for Biztalk to do the loop on expression, and
I think it might be, or, is it better for the expression to go out to
lunch while Biztalk waits on it. I'm leaning towards A, but, any advice
would be greatly appreciated
.
- Follow-Ups:
- Re: Implementing Mutexes for Biztalk Orchestrations
- From: Eric Stott
- Re: Implementing Mutexes for Biztalk Orchestrations
- Prev by Date: Re: Error receiving EDI file using COvast
- Next by Date: Re: Implementing Mutexes for Biztalk Orchestrations
- Previous by thread: Re: Error receiving EDI file using COvast
- Next by thread: Re: Implementing Mutexes for Biztalk Orchestrations
- Index(es):
Relevant Pages
|