Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Running orchestration sequential
- This topic has 8 replies, 1 voice, and was last updated 9 years, 1 month ago by
community-content.
-
AuthorPosts
-
-
August 30, 2010 at 7:54 AM #25786
Hi.
In an orchestration I consume an assembly. Now it looks like I have to wait for another call of this assembly when the run before has ended. That means I have to run the complete orchestration sequential and not parallel. Is there a way to start/run an orchestration sequential?
Thanks in advanced
Wolfgang
-
August 30, 2010 at 9:29 AM #25791
Hi Wolfgang,
I’m not sure I understand your post. What assembly are you referring to? Another orchestration or a .NET helper assembly? A typical orchestration’s flow is sequential, unless you introduce a Parallel Actions shape in the designer. Are you looking for an asynchronous pattern vs. synchronous one?
Daniel.
-
August 30, 2010 at 10:43 AM #25795
Hi Daniel.
I consume a flat file and debatch it. So I have a lot of small xml files. In the orchestration I consume an assembly. This assembly call different web services and did some checks. When everthing is fine the values will be written in a database.
Now I think BTS ist starting the orchestration many times as files are there to work with. So BTS is not waiting til the orchestration is finished before it starts the next one. If you have a lot of messages the orchestrations is starting x-times and all the orchestrations running parallel.
Is this right? Is there a way to let BTS wait til the orchestration is finished befor he starts next?
Thanks in advance.
Wolfgang
-
August 30, 2010 at 11:37 AM #25796
Hi Wolfgang,
Is the assembly returning any value when it’s being called from your orchestration? If not, then your orchestration will just proceed running the next steps in the flow without waiting for any checkpoint. You have to look into how your assembly is designed, and implement something similar to Delivery Notification property for logical Send Ports.
Daniel.
-
August 31, 2010 at 1:16 AM #25803
Hi Daniel.
I’m not sure to get you right at the moment. I think a return value is not what I’m looking for. As far as I understand is, if the assembly will return a value and BTS/orchestration has to wait for it, so I will have lots of waiting orchestrations because BTS is starting many orchestrations at the same time (parallel). Am I right?
I thought if there is a subscription for a message and I have lots of these messages BTS will start as many as orchestration he can, is this right?
Thanks.
Wolfgang
-
August 31, 2010 at 8:16 AM #25818
Hi Wolfgang,
Yes, that’s correct: your orchestration will run as many instances as the number of messages it picks up in the receive folder. But you stated that you want the orchestration to wait for one instance to finish before starting another, is that correct? If so, you could look into implementing a singleton pattern for your orchestration.
Daniel.
-
August 31, 2010 at 9:31 AM #25824
Hi Daniel.
Thanks for the tip and information. I did some searching on that and now I know what are correlations are for! 😉
But what will be, if a message goes wrong and the orchestration can’t finished (could that be), in this case all messages behind can’t go further till this message will be terminated, is that right?
Thank you very much.
Wolfgang
-
August 31, 2010 at 10:35 AM #25827
Hi Wolfgang,
If your message contains bad or unexpected data that would trip up your orchestration, then you would implement exception handling in your orchestration to allow it to terminate nicely (and not be suspended) so that your message queue does not get backed up…
Daniel.
-
August 31, 2010 at 10:41 AM #25828
Hi Daniel.
Thanks a lot … yes, I will give it a try! [;)]
Wolfgang
-
-
-
-
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.