Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Software > Biz Talk Orchestration > Calling vs. Sta...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 3 Topic 4097 of 4219
Post > Topic >>

Calling vs. Starting an orchestration

by "Zoe Hart" <zoe.hart@[EMAIL PROTECTED] > Mar 28, 2008 at 03:32 PM

My BizTalk orchestration receives a series of requests from System A via a 
BizTalk generated web service. The workflow to process an individual
request 
is basically: receive the request, send a request-received acknowledgement

message, process the request (which involves a series of messages back and

forth with System B and can take anywhere from a few seconds to three
days. 
The receipt and acknowledgement of the request is handled in my main 
orchestration. The processing of the request is handled in a 
sub-orchestration which I call synchronously from my main orchestration.
So 
when n requests come in they get processed one at a time - receive, 
acknowledge, process, receive, acknowledge, process, etc. The problem is 
that when the first request takes longer than a few seconds to process,
the 
latter requests timeout in the web service.

So an obvious alternative is to start the processing sub-orchestration 
asynchronously rather than calling it synchronously. That way I could 
receive and acknowlege the first message, start an orchestration on
another 
thread to process it, and receive and acknowledge the second request while

the first is still processing and spawn an orchestration on yet another 
thread to process the second request. And on and on until I've received 
acknowledged all requests and spawned off orchestrations to process them. 
I'm looking into that approach, but I'm concerned that the n
orchestrations 
processing n requests will not be able to distinguish the different
messages 
coming from System B during the processing because the messages are 
correlated on order number and all of the threads are processing requests 
for the same order. System B, which is outside of my control, doesn't 
provide data in the response message to uniquely tie it to the request I 
sent.

So the behavior I'd like to have is for my main orchestration to receive
and 
acknowledge the first request and submit it to a queue for processing with

System B. Then it would receive and acknowledge the second request and 
submit it to the same queue. Effectively I want the processing on a
separate 
asynchronous thread (so I can quickly acknowledge all incoming requests)
but 
I want the separate requests processed in order on one thread as opposed
to 
in parallel on many threads. Can anyone suggest how I might get that 
behavior in a BizTalk orchestration?

Thanks,
Zoe
 




 3 Posts in Topic:
Calling vs. Starting an orchestration
"Zoe Hart" <  2008-03-28 15:32:06 
Re: Calling vs. Starting an orchestration
DNova <dnova7@[EMAIL P  2008-03-28 13:22:58 
RE: Calling vs. Starting an orchestration
=?Utf-8?B?WW9zc2kgRGFoYW4  2008-04-02 02:00:11 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 6:52:49 CST 2008.