Page 1 of 3

Documentation on Workflow Instance Store

Posted: Thu 19 May 2011 07:11
by itrond
Hi,

Good, you've implemented an Workflow Instance Store :-)


In the directory "Devart\dotConnect\Oracle\WF Services" is the dll and sql-script.

However, - can't find any documentation.

What I specially looking for is a sample for how to set up my web.config file for my WCF Workflow servcie to use you instance store.

Posted: Fri 20 May 2011 11:43
by Shalex
Please refer to http://msdn.microsoft.com/en-us/library/ee395773.aspx. Currently, we support only Enabling Persistence for Self-Hosted Workflows that use WorkflowApplication. Here is a walkthrough:
1. Add the reference to Devart.Data.Oracle.DurableInstancing.dll in your project.
2. Specify the using directive:

Code: Select all

using Devart.Data.Oracle.DurableInstancing;
3. Create OracleInstanceStore and assign the following code to the InstanceStore property of WorkflowApplication:

Code: Select all

OracleInstanceStore store = new OracleInstanceStore(your_connection_string);
WorkflowApplication wfApp = new WorkflowApplication(new Workflow1());
wfApp.InstanceStore = store;
4. Call the Persist() method on the WorkflowApplication to persist a workflow.

We are investigating the possibility of supporting Enabling Persistence for Self-Hosted Workflow Services that use the WorkflowServiceHost and Enabling Persistence for WAS-Hosted Workflow Services that use the WorkflowServiceHost using a Configuration File. We will notify you about the results as soon as possible.

Posted: Sat 10 Sep 2011 21:02
by Beziel
Hi,
Any news about support of workflow services?


Thanks

Posted: Tue 13 Sep 2011 11:44
by Shalex
We have not implemented this functionality yet. We will post here when Enabling Persistence for Self-Hosted Workflow Services that use the WorkflowServiceHost and Enabling Persistence for WAS-Hosted Workflow Services that use the WorkflowServiceHost using a Configuration File are supported.

Posted: Thu 01 Dec 2011 11:43
by Shalex
Enabling Persistence for WAS-Hosted Workflow Services that use the WorkflowServiceHost using a Configuration File is implemented. Below is an example of its configuration with dotConnect for Oracle.
Entry to machine.config:

Code: Select all

<system.serviceModel>
    <extensions>
      <behaviorExtensions>
        <add name="oracleInstanceStore" type="Devart.Data.Oracle.DurableInstancing.OracleInstanceStoreElement, Devart.Data.Oracle.WorkflowFoundation, Version=6.50.250, Culture=neutral, PublicKeyToken=09af7300eec23701" />    
Entry to App.config:

Code: Select all

<serviceBehaviors>
    <behavior name="">
        <oracleInstanceStore
            connectionString="Data Source=ora;User Id=scott;Password=tiger"
            instanceEncodingOption="GZip | None"
            instanceCompletionAction="DeleteAll | DeleteNothing"
            instanceLockedExceptionAction="NoRetry | BasicRetry |AggressiveRetry"
            hostLockRenewalPeriod="00:00:30"
            runnableInstancesDetectionPeriod="00:00:05" />
    </behavior>
</serviceBehaviors>    
Enabling Persistence for Self-Hosted Workflow Services that use the WorkflowServiceHost is supported as well: the OracleInstanceStoreBehavior class in the Devart.Data.Oracle.DurableInstancing namespace in the Devart.Data.Oracle.DurableInstancing.dll assembly.
The "Devart.Data.Oracle.DurableInstancing.dll" name will be changed to "Devart.Data.Oracle.WorkflowFoundation.dll" in the next version of dotConnect for Oracle.

Posted: Tue 06 Dec 2011 15:25
by Beziel
Hi,
I'm trying the latest version of dotConnect for Oracle (6.50.250.0) but, I don't find the OracleInstanceStoreBehavior class in the namespace Devart.Data.Oracle.DurableInstancing.
It will be included in the next version?
If yes when it will be available?

Regards

Posted: Wed 07 Dec 2011 15:35
by Shalex
The OracleInstanceStoreBehavior class will be included in the next build. We are planning to release it in a week. We will post here when it is available for download.

Posted: Thu 08 Dec 2011 09:50
by Beziel
Thanks,
Are you planning to use also promoted properties feature in a future version of your instance store?

Posted: Fri 09 Dec 2011 16:47
by Shalex
We will consider the possibility of implementing the promoted properties feature.

New version of dotConnect for Oracle 6.60 is released!
It can be downloaded from http://www.devart.com/dotconnect/oracle/download.html (trial version) or from Registered Users' Area (for users with valid subscription only).
For more information, please refer to http://www.devart.com/forums/viewtopic.php?t=22836 .

Posted: Mon 12 Dec 2011 14:28
by Beziel
Hi,
I tried the version 6.60 but it doesn't work yet.
I receive back the following error:

The default value for the property 'instanceCompletionAction' has different type than the one of the property itself.

here my web.config file:

Code: Select all


<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="oracleInstanceStore" type="Devart.Data.Oracle.DurableInstancing.Configuration.OracleInstanceStoreElement, Devart.Data.Oracle.WorkflowFoundation, Version=6.60.258.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
</behaviorExtensions>
</extensions>

....


<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false" />
<workflowUnhandledException action="Terminate" />
<workflowIdle timeToUnload="0"/>
<oracleInstanceStore connectionString="InstanceStoreConnectionString" instanceEncodingOption="GZip" instanceLockedExceptionAction="AggressiveRetry" hostLockRenewalPeriod="00:00:30" instanceCompletionAction="DeleteAll" runnableInstancesDetectionPeriod="00:00:05"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel> 
Regards

I have precisely the same problem. Leaving away the instance

Posted: Tue 13 Dec 2011 13:47
by cfuehrmann
I have precisely the same problem. (Btw., being able to run my company's WF4-based software with an Oracle backend is required by many potential customers, so having the DotConnect instance store work would make many people happy :))
Beziel wrote:Hi,
I tried the version 6.60 but it doesn't work yet.
I receive back the following error:

The default value for the property 'instanceCompletionAction' has different type than the one of the property itself.

here my web.config file:

Code: Select all


<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="oracleInstanceStore" type="Devart.Data.Oracle.DurableInstancing.Configuration.OracleInstanceStoreElement, Devart.Data.Oracle.WorkflowFoundation, Version=6.60.258.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
</behaviorExtensions>
</extensions>

....


<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false" />
<workflowUnhandledException action="Terminate" />
<workflowIdle timeToUnload="0"/>
<oracleInstanceStore connectionString="InstanceStoreConnectionString" instanceEncodingOption="GZip" instanceLockedExceptionAction="AggressiveRetry" hostLockRenewalPeriod="00:00:30" instanceCompletionAction="DeleteAll" runnableInstancesDetectionPeriod="00:00:05"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel> 
Regards

Posted: Tue 13 Dec 2011 16:24
by Shalex
We are investigating the problem.

Possible cause

Posted: Thu 15 Dec 2011 10:29
by cfuehrmann
Dear Devart folks, could it be that the problem exists because of the use of an obfuscator tool? Reflector shows me that certain Enum members in your dll seem to have their member names obfuscated, e.g.:

public enum InstanceCompletionAction
{
a,
b
}

Is that how it should be?
Shalex wrote:We are investigating the problem.

Posted: Thu 15 Dec 2011 10:55
by Shalex
The obfuscation problem is already fixed (look forward to the next build).

Posted: Thu 22 Dec 2011 17:53
by Shalex
The new (6.60.268) build of dotConnect for Oracle is available for download. Please try it and notify us about the results.