Some time ago, I was working with a commercial, Java-based retail software, which was extended by our company (considering that I will give some specific information about it's framework, it seems more reasonable not to provide the actual name).
I really liked the idea of designing the whole workflow in XML files - basically, they contained references to specific methods. For example:
<?xml version="1.0"?> <Flow name="SomeFlow"> <Action class="com.example.CalculateSomething"/> <Action class="com.example.DoSomethingElse"/> <FlowRef name="SomeOtherFlow"/> </Flow> <Flow name="SomeOtherFlow"> <Action class="com.example.HelloWorld"/> </Flow>
I was searching for something similar for C#, which would be free for commercial use. What I already found and why it didn't matched my expectations:
- Windows Workflow Foundation - most opinions I have found are rather negative. Also, it seems that WF is too complex for my needs.
- Simple State Machine - pretty old and rough, doesn't seem to be maintained anymore (last commit was made on 01.10.2012).
- Objectflow - doesn't have the capability to design the workflow in external file. Wasn't updated for years. Besides that, it looks good.
- Microflow - doesn't have the capability to design the workflow in external file. Besides that, it looks good.
I'm wondering about writing my own workflow engine, or just go with Microflow (although I would really like to have the flow specified in external files), but I need to make sure, that I have checked all of the options currently available.