Is Adoworkbatch service is replacement for SharedConnectionWorkflowCommitWorkBatchService?

Mar 26, 2008 at 4:30 PM
Hi Dean,
Is Adoworkbatch service is replacement for SharedConnectionWorkflowCommitWorkBatchService?
Coordinator
Apr 1, 2008 at 3:51 PM
Hi vasu,

Apologies for not replying sooner, work has been rather hectic lately.

AdoWorkBatchService is intended to allow connection sharing (and subsequently transaction re-use) between the AdoTracking and AdoPersistence services.

Its primary purpose was to allow a single local transaction to be used when accessing Oracle databases with TransactionScope-style transactions. Normally Oracle will use a distributed transaction for this. AdoWorkBatchService also supports distributed transactions, but allows a single connection to be shared between the tracking and persistence services if necessary.

In the scenario you describe (using WCF for your application and WFTools for your workflow) you need to share a transaction between the WCF and WFTools. This should be possible by making sure a transaction is started (i.e. using TransactionScope or similar) before performing workflow and WCF calls. However, the fact you're sharing that transaction between these two environments implies that you will need to make use of MSDTC in order to allow for distributed transactions.

If you can get MSDTC up and running for that scenario you should be good to go. The AdoWorkBatchService will simply allow you to share a single database connection between the tracking and persistence services - be sure to construct with the default constructor as this allows distributed transactions!

Hope that makes sense!

Cheers,

Dean
Apr 2, 2008 at 9:07 PM
Thanks for clarification..
But I couldn't make it to work (even with DTC (all options enabled)). I had to implement IPendingwork.

Thanks anyway..
Coordinator
Apr 18, 2008 at 10:55 AM
Hi vasu,

MSDTC requires co-operation from the server-side as well as the client. You'll need to make sure you have OraMTS configured and that the Oracle instance is also configured correctly for distributed transactions!

Sorry I can't be more help,

Cheers,

Dean