As a part of our application I need to write "simple" workflow system which will be used for supporting document creation life-cycle. It should support: - different activities: edit document, verify document (approve, reject), publish document... - assign this activities to different people/users - "parallel split and join". For example I want to support workflow like this:
- begin
1.) Create document
2.) Translate document
2.1) Translate into English
2.1.1) Translate document into English
2.1.2) Verify English translation
2.2) Translate into Italian
2.2.1) Translate document into Italian
2.2.2) Verify Italian translation
3.) Verify complete document
4.) Publish document
- end
It will be used in an asp.net application (C#).
The final part: I would like to know if there is any pattern, library or article which would help me to get started with this task? Would WWF be appropriate for this?
There is some material (even on stackoverflow) but I don't know how to deal with the parallelism?
A workflow engine is a deceptively simple concept. Creating a robust, administerable implementation is much more works than it appears. Strongly favour off-the-shelf rather build it yourself. WWF (Windows Workflow Foundation) looks to fit your needs.