You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Workflow Foundation (.Net 4.x System.Activities workflows) over Microsoft.Orleans framework to provide stable, long-running, extremely scalable processes with XAML designer support.
3
+
Workflow Foundation (.Net 4.x System.Activities workflows) over [Microsoft Orleans](https://github.com/dotnet/orleans) framework to provide stable, long-running, extremely scalable processes with XAML designer support.
* Each WorkflowGrain is indistinguishable from a normal grain and backed by a WorkflowHost.
42
-
* The WorkflowHost is responsible to handle the lifecycle of the WorkflowInstance, mainly recreate it from a previous persisted state when it aborts.
43
-
* The communication between the WorkflowGrain and the WorkflowHost is based on 2 developer defined interfaces for the incoming and outgoing requests (TWorkflowInterface and TWorkflowCallbackInterface). These interfaces' methods can be referenced from the workflow activities to accept incoming or to initiate outgoing requests.
44
-
* The methods of the TWorkflowInterface and TWorkflowCallbackInterface are independent from the grain's external public interface, you can merge different public requests into one method or vice versa. Or a reentrant grain even can execute (read-only) public interface methods independently from the current running workflow operations.
39
+
* Each `WorkflowGrain` is indistinguishable from a normal grain and backed by a `WorkflowHost`.
40
+
* The `WorkflowHost` is responsible to handle the lifecycle of the `WorkflowInstance`, mainly recreate it from a previous persisted state when it aborts.
41
+
* The communication between the `WorkflowGrain` and the `WorkflowHost` is based on 2 developer defined interfaces for the incoming and outgoing requests (`TWorkflowInterface` and `TWorkflowCallbackInterface`). These interfaces' methods can be referenced from the workflow activities to accept incoming or to initiate outgoing requests.
42
+
* The methods of the `TWorkflowInterface` and `TWorkflowCallbackInterface` are independent from the grain's external public interface, you can merge different public requests into one method or vice versa. Or a reentrant grain even can execute (read-only) public interface methods independently from the current running workflow operations.
45
43
* The method's signatures are restricted, their parameters and return values are lazy, async delegates with 1 optional parameter/return value. The delegates executed by the workflow activities if/when they accept them (command pattern).
46
44
* There are design-, build- and static-run-time checks to keep the interfaces and the workflows in sync.
47
45
* Though you can execute complete workflows as methods also.
@@ -57,7 +55,7 @@ If it's needed, a mainly computational workflow can be executed also, even witho
57
55
Implemented:
58
56
59
57
* Persistence (compatible with legacy workflow extensions)
60
-
* Reminders (compatible with legacy Delay activities, though 1 min. is the minimum)
58
+
* Reminders (compatible with legacy Delay activities)
61
59
* Tracking
62
60
* Designer support
63
61
* Nearly all legacy activities are supported (except TransactionScope and messaging activities)
@@ -82,7 +80,6 @@ Under construction:
82
80
Not implemented, help wanted (for design and for implementation):
83
81
84
82
* DynamicUpdateMap support (updating loaded workflows to a newer definition version), though the separation of the application logic (the plain C# delegates) and the process (the diagram) results in a very simple workflow diagram, that has a big chance you won't need to update when it runs
85
-
* TransactionScope activity support (see https://github.com/dotnet/orleans/issues/1090)
86
83
* See all [Help Wanted issues](http://waffle.io/OrleansContrib/Orleans.Activities?label=Status-Help%20Wanted) (filtered view)
87
84
88
85
And there are nearly unlimited [Open issues](http://waffle.io/OrleansContrib/Orleans.Activities)...
@@ -97,4 +94,4 @@ And there are nearly unlimited [Open issues](http://waffle.io/OrleansContrib/Orl
97
94
98
95
This is still an overview, all the details of the classes are hidden. The goal is to give a map to understand the relations between the classes. See the comments in the source!
0 commit comments