HF工作流引擎與現有業務系統的整合


     最近忙於項目,流程原理的介紹要放后一些,見諒!該篇先來解答朋友們的幾個問題,BPM系統是企業業務流程的一個統稱,HF是我們開發的BPM系統的名字,HF分三部分:流程設計器,流程引擎和業務平台,三者是高松散低耦合的,三部分在設計上是完全獨立,都可以單獨拿出來重新定制,HF的流程設計器和引擎這兩部分可以結合使用,業務展現平台完全可以自己開發。目前大部分客戶是使用流程設計器和流程引擎來改造現有的業務系統,這里把整合的過程大體介紹一下。

    HF工作流解決方案提供了流程引擎、流程設計器和業務展現平台,依靠這些我們可以從零搭建業務系統。但是在我們實際應用中經常遇到客戶已經有了業務系統,如果再重新搭建業務系統勢必造成重復投資,這時候就需要對原有業務系統進行改造,他們只需要在原有業務系統上增加工作流的功能即可。HF工作流引擎的設計是完全滿足這個需求的,引擎的設計是開放式的,可以與任何第三方業務系統整合,第三方業務系統可以是java的系統,也可以是Php的系統,它的實現過程也非常簡單,下面介紹一下HF流程引擎與業務整合的關鍵步驟:

實現工作流系統的整合一般從下面幾個方面進行:

一、組織機構的整合

工作流系統的核心是人和任務,工作流系統離不開人,人是靠組織機構進行管理的,這是創建工作流系統的前提。HF工作流系統有一套自己組織機構,這套組織機構的划分是按照部門、崗位和人員划分的,與國內企業組織機構划分模式基本一致。如果現有業務系統中也存在組織機構,那么就要考慮兩個組織機構合二為一或者通過其他手段讓組織機構達到同步。

二、業務數據與流程數據的關聯

在使用工作流之前業務數據是“孤立”的,像一個個的信息孤島,工作流引擎的作用就是把它們互相串連起來,形成一個有機的整體。那么如何把二者有機的結合起來,實現流程數據與業務數據的關聯,讓工作流引擎知道如何組織業務數據,這需要在流程模板中配置任務數據的表單,業務平台可以根據配置加載表單,表單對應數據庫里的表,數據表中指明所屬的流程實例和任務實例,具體的做法是在業務數據表中增加四個字段worflowid,worktaskid,workflowinstanceid,worktaskinstanceid,也許這是唯一改變現有業務系統的地方,不需要流程流轉的業務數據表不必改動的。業務表單整合后,表單提交的代碼包括兩部分,一部分是保存表單數據,一部分是調用流程引擎實現流轉,實例代碼如下:

#region 執行流轉,處理任務

private void button7_Click(object sender, EventArgs e)

{

//

//此處是原來的業務數據提交代碼,增加保存WorkflowInsId等四個字段與流程實例關聯

//

//

//下面是通知流程引擎開始流轉

//

string OperatorInsId = dataGridView3.SelectedRows[0].Cells["OperatorInsId"].Value.ToString();

WorkflowRuntime wfruntime = new WorkflowRuntime();

wfruntime.RunSuccess += new WorkflowRuntime.RunSuccessEventHandler(wfruntime_RunSuccess);

wfruntime.RunFail += new WorkflowRuntime.RunFailEventHandler(wfruntime_RunFail);

wfruntime.isSave = checkBox3.Checked;//true 表示保存草稿,執行Run方法的時候流程不流轉

wfruntime.Run(textBox3.Text, OperatorInsId, "提交");//命令分支,必須與建模中的命令定義名相同,否則無法流轉

}

#endregion

就是上面這幾句代碼完成了一個業務的整合,非常簡單,對原有系統改動較小。

三、支持工作流系統的用戶任務管理界面

工作流系統是一個人機交互很強的系統,任務必須人工干預,也就是處理任務(包括流程的發起和任務的處理)。所以必須提供發起流程的業務界面和接收任務的處理界面,這樣用戶才能發起流程,處理任務。HF工作流的設計充分考慮到了用戶實際的需求,任務需要認領才能處理,認領任務后其他人就不會再看到該任務。

clip_image002

四、其他功能

HF工作流引擎還支持流程回退、流程授權、任務指派、動態指定下一任務處理人等復雜情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM