Implementing Mutexes for Biztalk Orchestrations



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

.



Relevant Pages

  • Re: Implementing Mutexes for Biztalk Orchestrations
    ... I have a Biztalk Orchestatrion that: ... Waits for that request to complete ... Unlock RECEIVE ... Unlock - use Biztalk expression to delete the row for the lock type. ...
    (microsoft.public.biztalk.general)
  • Re: Question on BizTalk Orchestration Instances
    ... fundamental design mistakes when implementing a large scale BizTalk project. ... transaction - which encompasses the entire orchestration. ... this is correct - no need to worry about a physical thread per request. ... If the external system "calls back" with ...
    (microsoft.public.biztalk.general)
  • BizTalk newbie, please help
    ... I'm a BizTalk newbie and I'm having trouble with an application that I'm ... service, receives the response, encodes the response and sends it back to the ... BizTalk through a traditional webservice. ... XML representation of the X12 request. ...
    (microsoft.public.biztalk.general)
  • Http adapter error. Problem in IIS?
    ... I created the biztalk solution with 2 schemas, one property schema, one ... Unable to complete web request. ... Anonymous Authentication and Integrated windows authentication are enabled. ... installation to the target location. ...
    (microsoft.public.dotnet.framework)
  • Error on method. Not authorized.
    ... I installed Biztalk Server when It asked me to create human services site ... Unable to complete web request. ... Anonymous Authentication and Integrated windows authentication are enabled. ... installation to the target location. ...
    (microsoft.public.biztalk.general)