蓝桥之魂

Created by ZHU, Henry Cijun

导航

Comparison of 3rd Party of Workflow Engine

Types of Workflow

         There are two types of workflow – sequential and state machine. Sequential workflow is simple, consumes less resource, performs effectively but has limitation in flexibility. State machine workflow is based on states. At one time, the workflow can only be in one state, and it can jump to another state if some conditions are met.

         For example, cooking is a process of sequential workflow. You buy vegetables from the market – first step. Then you wash them many times until they are clean (Loop). The third step is to cut them into pieces. The fourth step is to put them into the pan and heat. If it’s still not tasty (Conditional), then put some salt… The key point here is the workflow may have loop and conditional step but never goes to the prior step. If the vegetables have been already in pieces, washing them again cannot be discussed. While, in a state-machine workflow, states (We call states instead of steps in this kind of workflow) are more independent. In an approval workflow, employee submits request, small boss approves, big boss approves and employee updates requests, all these states can switch to others in some conditions.

         Sequential workflow is widely used in machine workflow such as ETL, Business Talk. Most of business workflows like approvals are state-machine workflows.

Workflow Tools and Products

         Microsoft Workflow Foundation: WF is a library with very raw model for workflows. The concepts in this library are very theoretical and the whole library is not apt for commercial development.

SharePoint Designer: SharePoint Designer provides a graphic interface for business users to build simple workflow in SharePoint 2007 above. In the latest version, SharePoint designer still cannot support state machine workflow – limited in function. Besides that, workflow in SharePoint designer only uses out-of-box UI. That means the UI for approvers cannot be customized easily.

Nintex: Nintex creates workflow in a web-based designer. It does better than SharePoint designer because it supports state-machine workflow. The shortage of Nintex is it provides very little programming interface and the end users can only use out-of-box UI provided by Nintex. Much effort should be used on the re-design of the out-of-box UI and quality cannot be controlled at my level. (www.nintex.com )

K2: K2 is a workflow product produced by Source Code LTD, golden partner of Microsoft. K2 provides a set of object models for the programmer to control all the details of the workflow. Also K2 provides a series of components to integrate with SharePoint and SAP. Since K2 is coding-friendly, programmer can create customized pages or web parts for the end users. If you have enough budgets, K2 is a good choice. (http://www.k2.com/en/whatisk2.aspx )

Agile Point: Agile Point is also the partner of Microsoft and its product is similar to K2 in function and concept. Agile also provides object models for workflow but its design and coding is a little messy and not easy to learn and understand. Personally, I think Agile Point uses too many magic numbers and strings, which blocks my understandings of the programming model. Anyway, Agile Point is relative cheaper than K2. (http://www.agilepoint.com/ )

          

Conclusion:

        From my prior experience, most business workflow can only be implemented by state-machine workflow model. Thus, SharePoint designer is not capable enough to achieve this. Besides that, the end user might concern about the UI in high priority. They may not accept out-of-box UI provided by SharePoint or products. Most of the out-of-box pages provided by products are for the purpose to certificate that they are able to produce no-code-workflow and integrated UI with SharePoint. Both satisfy the idea that Microsoft dreams – business users can build workflow by themselves without coding. But in real life, neither can succeed to please the customers.

posted on 2012-04-21 02:20  Henry Zhu  阅读(1331)  评论(0编辑  收藏  举报