陳紅燕,王新,何學洲
(1.江蘇省地質勘查技術院,南京210049;2.中國地質調查局發(fā)展研究中心,北京100037)
在管理信息系統(tǒng)中,工作流是其業(yè)務上的重要功能。一般概念上的工作流技術,把工作活動細分為角色、任務、過程和規(guī)則,其定義過于嚴格、復雜,降低了管理效率。本文提出自定義工作流模型,基于關系數據庫,降低了業(yè)務系統(tǒng)與工作流系統(tǒng)集成的復雜度,減輕了復雜工作流引擎帶來的系統(tǒng)負擔,使得工作流系統(tǒng)能夠適應不同的管理業(yè)務需求。
國際工作流管理聯(lián)盟(Workflow Management Coalition,WFMC)對工作流的概念給出了定義[1]:工作流是指在計算機支持下的整個或部分經營過程的全自動或半自動化。按照事先定義好的規(guī)則,文檔、任務或者信息在參與者之間進行傳遞,從而完成整個業(yè)務過程的自動化處理。由此,在定義工作流時應考慮以下5方面的定義:傳遞的業(yè)務信息定義、角色定義、活動定義、路線定義和事件定義。
整個工序或流程就是一個過程,每個子任務就是一個節(jié)點。工作流節(jié)點分為活動節(jié)點、事件節(jié)點和控制節(jié)點3種類型。活動節(jié)點:表示一件不可再分的操作任務,如查看、批示、執(zhí)行等;狀態(tài)節(jié)點:代表流程中任務點的完成狀態(tài);控制節(jié)點:用于控制流程任務點的推進,包括繼續(xù)流轉條件、終止流轉條件以及退改條件3種。
按照工作流轉中節(jié)點處理的時間先后順序,可以把工作流程分為串行和并行2類。串行流程中,對于其中某一節(jié)點而言,只有當其所有的前繼工作節(jié)點都完成時,流程方可執(zhí)行當前節(jié)點的操作,否則,無法推進;但對于并行流程,一般情況下,對于其中某一節(jié)點,若其所有前繼節(jié)點中有一個節(jié)點完成,流程即可執(zhí)行當前節(jié)點的操作;但并行流程也存在特殊情況,對于其中某一節(jié)點而言,若其前繼幾點有一個節(jié)點未完成,則流程不可推進。如一個出國團組分為幾個出訪計劃,審批單位要分別對其中每個計劃進行審批,若其中一個計劃未審批通過,則該團組的出訪計劃則不可推進。通常,一個系統(tǒng)會同時包含串行流程和并行流程。
概念模型是對真實世界中問題域內的事物的描述,是按用戶的觀點對數據和信息建模[2]。構建概念模型,需要從場景中提取各種“對系統(tǒng)目標有用”的概念。
綜合分析管理系統(tǒng)功能需求和數據庫設計特點,將工作流數據庫模型抽象為4個實體:流程信息、流程實例、實例節(jié)點以及連接條件。其中,流程信息相當于一個流程的字典表,對流程名稱、節(jié)點進行規(guī)范,流程實例是跟具體業(yè)務相關聯(lián)的流程信息,實例節(jié)點主要用來描述流程實例的節(jié)點信息,連接條件是對流程信息表中對應節(jié)點之間連接條件的定義,連接條件決定了流程的節(jié)點走向,由同一流程節(jié)點出發(fā),條件不同,與其連接的子節(jié)點也不同。本工作流系統(tǒng)對應的概念模型如圖1所示。
圖1數據庫概念模型E-R圖
圖2數據關系模型圖
4個實體:流程信息、流程實例、實例節(jié)點和連接條件之間的關系如圖2所示。流程條件表(LC_LCTJB)通過外鍵(LCBH)關聯(lián)到流程信息表(LC_LCXXB),其對應關系為n∶1,即一條流程信息可對應多條流程條件記錄;流程實例信息表(LC_SLXXB)通過外鍵(LCSLBH)關聯(lián)到流程信息表(LC_LCXXB),其對應關系為n∶1,即一條流程信息可以對應多條流程實例信息記錄;流程實例節(jié)點信息表(LC_SLJDXXB)又通過外鍵(LCSLBH)關聯(lián)到流程實例信息表(LC_SLXXB),其對應關系為n∶1,即一條流程實例信息可對應多條實例節(jié)點信息記錄。
筆者在為中國地質調查局開發(fā)的外事管理系統(tǒng)中采用了本文描述的基于關系數據庫的工作流技術。該系統(tǒng)實現(xiàn)了國際合作計劃報批公文自動化編報功能,支持人員名單、出訪行程、申報表等相關信息的在線編輯與審核,輔助中國地質調查局有效管理、監(jiān)督外事信息處理過程。實現(xiàn)工作流程圖如圖3所示。
圖3工作流程圖
當出訪任務以單個計劃為單位時,系統(tǒng)采用串行流程,而當出訪任務以團組為單位,一個團組包含多個計劃時,系統(tǒng)采用特殊情況的并行流程。
系統(tǒng)的流程驅動引擎基于關系數據庫實現(xiàn)。流程模板,即流程信息表(LC_LCXXB)定義了流程中的節(jié)點信息,連接條件表(LC_LJTJB)定義了流程節(jié)點間的連接關系和流轉條件。流程模板和流程條件共同定義了流程邏輯模型。
業(yè)務系統(tǒng)中的業(yè)務數據通過業(yè)務編號在實例信息表中與流程進行關聯(lián)。每創(chuàng)建一個流程會在實例信息表中新增一條數據記錄,該記錄關聯(lián)業(yè)務數據、流程模板、流程實例3項內容。同時,在實例節(jié)點信息表中創(chuàng)建與流程實例相關聯(lián)的實例節(jié)點信息,流程每走到某個節(jié)點便會在實例節(jié)點信息表中新增一條相應數據。通過這種機制實現(xiàn)了流程數據的存儲與管理。
該系統(tǒng)的流程驅動采用數據庫存儲過程實現(xiàn),定義了數據管理接口和流程管理接口,實現(xiàn)了流程的創(chuàng)建、驅動和管理。系統(tǒng)后端只需傳輸轉換前端的參數,然后調用數據庫存儲過程即可。
系統(tǒng)實現(xiàn)功能效果如圖4所示。左側方框內即公文申報審批流程列,該列中的每項都代表工作流中的一個節(jié)點,下劃線字體超鏈接代表可操作的活動節(jié)點,其他字體代表狀態(tài)節(jié)點。
圖4工作流管理系統(tǒng)效果圖
本文主要描述了基于關系數據庫的工作流設計及系統(tǒng)實現(xiàn)的過程。系統(tǒng)已經部署到中國地質調查局外事管理服務器中,在公網上為其及其所屬29家單位提供24h不間斷服務。系統(tǒng)設計的工作流管理功能很好地支撐了地調局各類出訪計劃的申報、審批、匯交等工作,實現(xiàn)外事管理工作流程的標準化、規(guī)范化,大大提高了外事工作人員的工作效率。
但本工作流模型還有很大的提升空間,后期還將研究實現(xiàn)模型的組件式封裝,使得流程的定義、管理和執(zhí)行都可以自動化進行,提高外事管理系統(tǒng)的智能化,以期更為有效地輔助外事工作人員的管理工作。