Documentation on Workflow Instance Store

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
itrond
Posts: 1
Joined: Thu 19 May 2011 06:50

Documentation on Workflow Instance Store

Post by itrond » Thu 19 May 2011 07:11

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.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Fri 20 May 2011 11:43

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.

Beziel
Posts: 7
Joined: Thu 28 Jul 2011 09:45

Post by Beziel » Sat 10 Sep 2011 21:02

Hi,
Any news about support of workflow services?


Thanks

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 13 Sep 2011 11:44

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.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 01 Dec 2011 11:43

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.

Beziel
Posts: 7
Joined: Thu 28 Jul 2011 09:45

Post by Beziel » Tue 06 Dec 2011 15:25

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

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Wed 07 Dec 2011 15:35

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.

Beziel
Posts: 7
Joined: Thu 28 Jul 2011 09:45

Post by Beziel » Thu 08 Dec 2011 09:50

Thanks,
Are you planning to use also promoted properties feature in a future version of your instance store?

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Fri 09 Dec 2011 16:47

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 .

Beziel
Posts: 7
Joined: Thu 28 Jul 2011 09:45

Post by Beziel » Mon 12 Dec 2011 14:28

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

cfuehrmann
Posts: 10
Joined: Tue 13 Dec 2011 13:20
Location: Erlangen, Germany

I have precisely the same problem. Leaving away the instance

Post by cfuehrmann » Tue 13 Dec 2011 13:47

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

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 13 Dec 2011 16:24

We are investigating the problem.

cfuehrmann
Posts: 10
Joined: Tue 13 Dec 2011 13:20
Location: Erlangen, Germany

Possible cause

Post by cfuehrmann » Thu 15 Dec 2011 10:29

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.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 15 Dec 2011 10:55

The obfuscation problem is already fixed (look forward to the next build).

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 22 Dec 2011 17:53

The new (6.60.268) build of dotConnect for Oracle is available for download. Please try it and notify us about the results.

Post Reply