Slickflow.NET 工作流引擎
1. 項目描述
工作流系統(tǒng)通常是作為中間組件嵌入到企業(yè)業(yè)務(wù)系統(tǒng)應(yīng)用中去,作為業(yè)務(wù)流程構(gòu)造和重整的重要工具,工作流系統(tǒng)的實現(xiàn)主要要考慮以下幾點要素:1. 工作流模型要符合一些標準化模型的定義;2. 工作流管理系統(tǒng)的功能是否能夠滿足特定應(yīng)用的需求,而同時不阻礙業(yè)務(wù)應(yīng)用的整體性;3. 工作流技術(shù)是否跟SOA技術(shù)融合,可以作為服務(wù)總線的方式供外部調(diào)用。
Slickflow工作流引擎,選取BPMN模型作為工作流模型的語義表達,BPMN模型消除技術(shù)和業(yè)務(wù)之間的隔閡,注重業(yè)務(wù)人員對流程的需求和理解,而不是以技術(shù)為本位,相對來 說,更近一步體現(xiàn)技術(shù)服務(wù)于業(yè)務(wù)需求的概念。其次,由于工作流模型跟業(yè)務(wù)需求的緊密結(jié)合,還有新技術(shù)的出現(xiàn),認為有必要構(gòu)建新的工作流系統(tǒng);鑒于以上認 識,總結(jié)了在構(gòu)建獨立工作流系統(tǒng)的關(guān)鍵模型和算法,實現(xiàn)了Slickflow 工作流引擎,作為.NET平臺上的開源工作流引擎,希望能夠為企業(yè)應(yīng)用開發(fā)人員提供借鑒和學(xué)習(xí),也歡迎提出各種業(yè)務(wù)需求和修改建議。
2 功能介紹(已經(jīng)實現(xiàn)的功能)
1) 參考BPMN標準的流程定義解析;
2) 遞歸解析實現(xiàn)的工作流引擎;
2.1). 順序流轉(zhuǎn);
2.2). 分支/合并;
2.3). 條件表達式;
2.4). 自身循環(huán);
2.5). 撤銷;
2.6). 退回;
2.7). 返簽;
2.8). 角色資源;
2.9). 子流程;
2.10). 串(并)行會簽任務(wù)節(jié)點;
2.11). 串(并)行會簽子流程節(jié)點;
2.12). 委托功能;
2.13). 部門組織機構(gòu)信息的外部接口依賴獲?。?/p>
2.14). 流程流轉(zhuǎn)數(shù)據(jù)獲?。?/p>
2.15). 流程跳轉(zhuǎn);
a) 預(yù)定義跳轉(zhuǎn)
b) 運行時動態(tài)跳轉(zhuǎn)
3) 集成嵌入Dapper MicroORMapping 框架, 性能接近原生SQL;
4) 流程定義BPMN文件的緩存讀??;
5) 異常日志記錄Wflog;
6) 工作流服務(wù)WebApi 接口示例;
7) Test 代碼示例。
3. 項目計劃
對工作流引擎項目有興趣參與的人員可以參閱項目技術(shù)及推動介紹。
4. 服務(wù)及授權(quán)
對于公司用戶或者個人用戶使用或集成Wf5到自己的項目中,為了提供一些技術(shù)上的支持,或者新功能的開發(fā),更好服務(wù)大家,同時也保障Slickflow的品牌發(fā)展,特作出以下說明:
1). 技術(shù)咨詢或者新功能的開發(fā),可以作為有償服務(wù)進行,社區(qū)將提供一些及時到位的咨詢服務(wù)或者新功能新需求的開發(fā);即按需收取一定的服務(wù)費;
2). 對于公司用戶使用Slickflow提供自有客戶使用,為了避免開源項目開源協(xié)議(LGPL)的限制,可以允許商業(yè)授權(quán),使得公司用戶用于自己的商業(yè)運 營。即Slickflow遵循開源協(xié)議,同時也允許商業(yè)授權(quán)。獲取商業(yè)授權(quán)之后可以享受技術(shù)支持和版本升級服務(wù),商業(yè)授權(quán)的獲取請按下面的聯(lián)系方式聯(lián)系我 們。
