|
Home > Archive > BizTalk Server General > February 2004 > File sequencing inside Biztalk
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
File sequencing inside Biztalk
|
|
| Anunay 2004-02-15, 8:35 pm |
| Hi,
My biztalk server 2002 will receive multiple documents
of different format. The documents should be processed
serially and in a particular order. All these documents
pass throught seprate channel. After the first document
has been processed successfully, biztalk should start
processing the next document. How can I achive this using
orchestration ? Is there any other approach to do this ?
I also tried setting priorites for different
channels, but this does not make biztalk process files in
serial manner. There were still getting processed in
parallel.
Thanks,
Anunay
| |
| R.Balaji 2004-02-16, 1:35 am |
| Hi,
I can think of three solutions as of now.
Not sure how usable/effective they are
solution1:
*******
Assume that we have 3 different file formats (fmt1,fmt2,fmt3).
Lets define channels to process this files as (chn1,chn2,chn3)
The receive functions to pickup this files are (rf1,rf2,rf3).
The order processing of the files is as fmt1 then fmt2 then fmt3.
Disable rf2,rf3.
When rf1 picks the file it sends it to chn1 and it gets processed.
At the end of the processing, disable rf1 and enable rf2.(using AIC)
When rf2 picks the file it sends it to chn2 and it gets processed.
At the end of the processing, disable rf2 and enable rf3.(using AIC)
When rf3 picks the file it sends it to chn3 and it gets processed.
At the end of the processing, disable rf3 and enable rf1.(using AIC)
Risks:
Enabling/disabling recieve functions might not be good idea.
If any one of the process fails, then the next batch of documents will not
get processed.
Solution 2:
********
Define recieve function for chn1 alone.
After you process the fmt1, inside the AIC, you can check for the files for
fmt2. Call the submitsync method from the AIC and process fmt2.
Then check for the files form fmt3.
Call the submitsync method from the AIC and process fmt3
Solution 3:
********
Forget about receive functions.
Create a custom service which picksup the files processes as per the
sequence Call the biztalk channels from this service as per the required
order and make use of the channels.
Regards,
R.Balaji
"Anunay" <anonymous@discussions.microsoft.com> wrote in message
news:10cbe01c3f473$8c0e9c50$a001280a@phx
.gbl...
> Hi,
> My biztalk server 2002 will receive multiple documents
> of different format. The documents should be processed
> serially and in a particular order. All these documents
> pass throught seprate channel. After the first document
> has been processed successfully, biztalk should start
> processing the next document. How can I achive this using
> orchestration ? Is there any other approach to do this ?
>
> I also tried setting priorites for different
> channels, but this does not make biztalk process files in
> serial manner. There were still getting processed in
> parallel.
>
>
> Thanks,
> Anunay
| |
| Anunay Kumar 2004-02-16, 3:34 pm |
| Hi Bala,
Thanks for your input.
I'm already using SQL AIC in my solution, can I also use
custom AIC with it ? If yes, how ?
Regards,
Anunay
>-----Original Message-----
>Hi,
>I can think of three solutions as of now.
>Not sure how usable/effective they are
>
>solution1:
>*******
>Assume that we have 3 different file formats
(fmt1,fmt2,fmt3).
>Lets define channels to process this files as
(chn1,chn2,chn3)
>The receive functions to pickup this files are
(rf1,rf2,rf3).
>The order processing of the files is as fmt1 then fmt2
then fmt3.
>
>Disable rf2,rf3.
>
>When rf1 picks the file it sends it to chn1 and it gets
processed.
>At the end of the processing, disable rf1 and enable rf2.
(using AIC)
>
>When rf2 picks the file it sends it to chn2 and it gets
processed.
>At the end of the processing, disable rf2 and enable rf3.
(using AIC)
>
>When rf3 picks the file it sends it to chn3 and it gets
processed.
>At the end of the processing, disable rf3 and enable rf1.
(using AIC)
>
>Risks:
>Enabling/disabling recieve functions might not be good
idea.
>If any one of the process fails, then the next batch of
documents will not
>get processed.
>
>Solution 2:
>********
>Define recieve function for chn1 alone.
>
>After you process the fmt1, inside the AIC, you can check
for the files for
>fmt2. Call the submitsync method from the AIC and process
fmt2.
>
>Then check for the files form fmt3.
>Call the submitsync method from the AIC and process fmt3
>
>Solution 3:
>********
>Forget about receive functions.
>Create a custom service which picksup the files processes
as per the
>sequence Call the biztalk channels from this service as
per the required
>order and make use of the channels.
>
>Regards,
>R.Balaji
>
>
>
>"Anunay" <anonymous@discussions.microsoft.com> wrote in
message
> news:10cbe01c3f473$8c0e9c50$a001280a@phx
.gbl...
documents[color=blue]
using[color=blue]
in[color=blue]
>
>
>.
>
| |
| Everett Yang 2004-02-17, 4:36 am |
| One way may be to skip file receive function and submit documents
programmatically. If you use the submitsync method, you can make sure that
you don't move to the next document until the first document has been
transported.
Sincerely,
Everett Yang
DSI - Microsoft BizTalk Server
This posting is provided “AS IS” with no warranties, and confers no rights.
Subscribe at
http://support.microsoft.com/defaul...msdn/nospam.asp
&SD=msdn
| |
| R.Balaji 2004-02-17, 6:34 pm |
| Hi,
You can.
Create a channel (chn4),port and the port is connected with your AIC (lets
call this as controller AIC).
when you receive the first fmt1 message, it calls your chn4.
Inside your AIC code, send the same message to chn1.
This channel chn1 is connected with the SQL AIC.
So your controller AIC orchestrates and calls the submitsynch method for
each of the files in the processing sequence order.
Regards,
R.Balaji
"Anunay Kumar" <anonymous@discussions.microsoft.com> wrote in message
news:1193e01c3f50f$38d45560$a601280a@phx
.gbl...[color=blue]
> Hi Bala,
>
> Thanks for your input.
>
> I'm already using SQL AIC in my solution, can I also use
> custom AIC with it ? If yes, how ?
>
>
> Regards,
> Anunay
>
> (fmt1,fmt2,fmt3).
> (chn1,chn2,chn3)
> (rf1,rf2,rf3).
> then fmt3.
> processed.
> (using AIC)
> processed.
> (using AIC)
> processed.
> (using AIC)
> idea.
> documents will not
> for the files for
> fmt2.
> as per the
> per the required
> message
> documents
> using
> in
| |
| Everett Yang 2004-02-18, 4:36 am |
| Beware of possible issues with nested transactions though if you plan to
make a submit call from an AIC. The first document (transaction) cannot
commit as long as the AIC does not return. Submitsync is a blocking call.
Sincerely,
Everett Yang
DSI - Microsoft BizTalk Server
This posting is provided “AS IS” with no warranties, and confers no rights.
Subscribe at
http://support.microsoft.com/defaul...msdn/nospam.asp
&SD=msdn
|
|
|
|
|