0 引言
經過多年的信息化建設,工作流軟件在電力系統主要業務應用(如營銷、生產、企業資源計劃(ERP)等)中得到了廣泛應用,極大地提高了業務操作處理效率。信息化的逐步深入對業務流程管理的建設提出了更高要求,即建設支撐電力系統業務融合。然而,若應用系統各自建設業務流程管理(BPM)組件,易出現以下問題:① 技術路線不統一,且各應用自己完成產品發布、使用、上線以及維護,難以實現企業流程集約化管理;②缺乏支持各業務間流程整合 的流程管理平臺,難以實現跨系統流程的運行;③ 現有各系統內工作流只覆蓋流程管理的某個階段,而非全部階段,難以實現全生命周期管理。
國內外現有的業務流程管理解決方案一般采用商業的工作流或BPM 產品并進行二次開發。工作流產品可以較好地支撐單個應用內部的流程流轉,但難以實現不同系統之間的流程集成;商業的BPM 產品功能較為豐富,但定制性不強,難以根據電力系統復雜的業務應用靈活擴展,無法直接滿足電力系統各業務之間復雜的流程集成及集約化管理的需求。
與數據交換平臺定位不同,BPM 定位于企業流程的全生命周期管理,管理實時流程數據,而數據交換平臺定位于數據在不同單位之間的交換,交換的數據類型包括各種業務數據,但不包括流程數據,這些數據的交換可以是非實時的。本文在系統分析電力行業業務流程管理需求的基礎上,設計并開發了適用于集團型分級管理企業的業務流程管理平臺,該平臺已在國家電網公司信息化SG-ERP建設中得到實際應用。
1 流程管理組件需求
信息化對流程管理組件提出的要求分為系統間流程集成、系統內流程集中管理、業務流程閉環管理等三大類。
1.1 系統間流程集成
隨著電力系統業務的深入融合,要求信息化能夠支持公司業務的融合和統一管理,支撐企業集團化運作和集約化發展,具體體現為以下方面。
1)以流程化的方式支撐業務融合。要求能夠按照電力企業業務主線對相關的頁面、功能模塊、工作流程等進行整合,如電網設備資產全壽命管理要求能夠實現對資產全生命周期的管理和監控,能夠以流程化的方式以業務主線為線索對各個相關業務應用進行集成,復用現有業務應用資源。
2)實現縱向流程集成。可以通過流程集成平臺的上下互聯實現業務應用的縱向流轉,如集團總部和基層單位之間的綜合計劃的編制上報、平衡優化、審核下發、執行反饋等“縱向”全流程管理。
1.2 系統內流程集中管理
當前,電力系統的各個主要業務應用中已使用工作流來管理流程。這些工作流主要提供系統內流程實例狀態的監控,未實現企業級流程的集約化管理。流程集約化管理有以下優點:
1)提高系統開發效率。將流程進行集中管理后,流程管理軟件的安裝、開發、上線、運行、維護等都有專門的團隊提供服務,各應用項目組只需關注自己業務的應用開發,無需關注流程軟件的安裝與維護。
2)為實現企業級的業務活動運營實時監控提供支持。只有實現了系統內流程的集約化管理,將企業的流程數據集中管理,才能夠支撐對業務流程的實時監控。
1.3 業務流程閉環管理
企業級的業務流程管理是一個全生命周期的管理,可分為流程梳理、流程建模、流程運行、流程監控、流程績效與優化5個階段。其中,流程梳理及建模是從企業的業務體系和流程的規劃入手,規劃企業的流程層次,進行流程梳理,并通過流程建模工具(如BPM 工具)繪制流程;流程運行是指在該階段執行流程模型,生成一系列的流程實例,而流程實例可自動運行、與外部應用進行交互、也可人工驅動運行;流程監控、績效與優化是指對流程實例進行全方位、細粒度的監控,包括查看流程運行的狀態及當前處理人、流程活動列表、終止活動、掛起活動等操作。此外,還可以通過一系列的統計圖表展示流程執行的效率、瓶頸,通過對這些圖表進行分析,達到對流程調整及優化的目的。
2 流程管理組件設計
2.1 總體架構
大型電力集團企業下屬各單位地域分布較廣,且都建有局域網并通過廣域網相連。考慮到BPM組件集成的應用分布在總部和下屬單位兩側,為實現不同單位業務系統之間的流程集成,需要在公司總部、下屬單位各部署一套BPM 組件,對系統內流程進行集中統一管理。BMP組件的架構模式如圖1所示。
圖1 BPM 組件的架構模式
為實現跨系統流程和系統內流程的統一管理,同時避免不同應用系統的數據產生相互干擾,BPM運行時,采用“多實例”的模式提供服務,即為不同的應用提供不同的BPM實例,跨系統流程則在跨系統流程引擎實例中運行,其服務模式如圖2所示。
圖2 BPM組件多實例服務模式
在BPM組件多實例服務模式中,所有業務流程應用共用一個流程平臺,在流程平臺中有多個BPM實例,不同的實例為不同的業務應用提供服務。這些流程實例都基于一個數據庫進行存儲,不同應用之間的數據通過不同的數據庫用戶名來隔離。
2.2 模塊設計
本文設計與研發的BPM組件的整體功能如圖3所示。
圖3 BPM 平臺整體功能
圖中,流程設計器負責業務流程的可視化建模,通過簡單的拖拽操作實現流程的繪制;流程客戶端能夠在需求分析階段對流程進行快速驗證和模擬,具有流程啟動、任務處理、代理設置、代理查看等功能;流程引擎端為BPM 產品的核心組件,具有流程定義解析、流程實例運行、調用外部業務操作或者Web服務等功能;流程管理控制臺能夠實現流程的建模設計并對流程引擎進行管理,可進行流程設計建模、業務流程定制、流程管理監控、引擎配置管理;流程統計與監控環節通過各種圖表展示流程執行的時間和效率,并對業務流程及業務資源進行分域管理,實現端到端流程監控。
2.2.1 流程設計器
業務流程設計器是BPM 的重要功能組件,其采用B/S的方式,實現了BPMN2.0建模標準。基于Flex展現技術,通過簡單可視化的拖拽操作為流程設計人員提供了豐富的業務流程建模服務。其為業務人員與技術人員分別提供了2種相關的操作視圖,并支持2種視圖的平滑過渡。
1)業務建模視圖:為業務人員提供的操作視圖。該視圖提供了流程建模必需的基本圖元,包括開始與結束活動、人工活動、自動活動、子流程、網關、泳道圖等。此外,還提供了用于復雜流程建模的圖元,如事務塊、外部子流程、消息開始活動等。這些圖元都是以業務化的方式提供給業務人員,并不包含具體的技術實現細節。基于這些圖元,業務人員可以繪制出復雜的流程模型。
2)技術建模視圖:為技術人員提供的操作視圖。該視圖是對業務建模視圖的進一步細化。針對業務人員繪制的自動活動,技術人員可將其技術細節設置為調用Java代碼或者web服務。
此外,流程設計器還提供了一體化的建模環境,即在一個設計器中就可以完成流程所有的建模操作,包括業務資源建模、業務規則管理、子流程編輯和Web服務配置。
2.2.2 流程客戶端
流程客戶端是一個基于BPM 接口的業務流程客戶端,該客戶端可使用戶在業務流程建模設計及開發過程中快速進行業務流程的模擬調試和驗證,及早對業務流程進行調整和優化。它提供集中的任務處理及流程模擬測試功能。
1)通過集中任務處理功能,用戶可以查看自己的待辦任務、處理任務、管理自己的已辦任務、跟蹤流程運行狀態、代理任務。
2)流程模擬測試指流程在相關的業務資源比如Java代碼還沒有開發好之前就可對流程進行測試,提前發現流程建模中的問題。
2.2.3 流程引擎端
流程引擎是BPM 的核心組件,它提供流程運行的環境和對流程實例從啟動、運行再到結束的全生命周期管理,其核心組件包括統一流程服務接口、業務資源庫、PVM 虛擬機、規則引擎、人工任務管理、BPMN 組件、流程集成組件、SOA&EDA基礎框架等。其中,PVM 虛擬機為流程引擎的微內核,其提供了流程實例運行的最小運行環境,流程引擎基于它擴展實現相關功能;規則引擎提供業務規則的定義、運行、解析等功能;人工任務管理提供對人工任務的管理,包括待辦任務的分配、任務的回退、跳轉、撤銷等;流程集成組件負責與外部流程的集成,通過調用相關的web服務,實現對Web服務的串接,集成外部應用流程;SOA&EDA 基礎框架提供了流程處理的基本框架,實現了流程的分段式處理,支撐流程在大數據量以及集成環境下的穩定運行。
2.2.4 流程管理控制臺
流程管理監控臺是專為流程管控人員提供的從流程定義、實例監控到異常定位、再到備份和數據遷移的一組強大工具,主要包括流程實例管理與引擎配置管理功能:① 流程實例管理提供了對流程實例的精益監控,包括查看流程狀態、終止流程、掛起流程、調整活動處理人、設置流程相關數據、流程版本管理、流程綜合查詢、流程日志管理、流程導入與導出等操作;②引擎配置管理提供了對流程引擎的一系列配置進行修改的功能,包括運行參數、web服務、消息調用、集群、郵件、擴展、轉歷史、組織機構、系統變量等配置。通過調整相關配置,可對流程引擎運行性能和功能進行調整和優化。
2.2.5 流程統計與分析
流程統計與監控提供了對流程異常活動、端到端流程以及流程執行效率等關鍵指標的統計分析功能。其中,異常活動監控列出了流程執行過程中發生的異常活動,用戶可以根據實際應用需要對這些活動進行人為干預和調整,包括終止活動、修改活動處理人、重新啟動活動、單步回退、路由到其他活動等;端到端流程監控則提供對流程關鍵信息的查看,包括流程實例的運行狀態,運行軌跡,流程定義名稱和ID,流程實例名稱和ID,流程實例創建者,創建/啟動時間,結束時間,時間限制等功能,還提供對流程實例的一系列監控操作,包括啟動、掛起、恢復、終止、刪除、更換版本等;流程統計分析模塊針對流程數據做統計分析,提供流程執行時間、環節執行時間、個人與部門工作量、流程實例數量、流程環節超時數量以及流程環節回退抽回數量統計等6類圖表,每類圖表又分為數量統計圖和趨勢分析圖2類。
2.3 應用示例
圖4列出了某示例流程,該流程由某電力公司發起并提交總部審批,總部在審批過程中會提出修改意見,省電力公司根據總部的修改意見修改后再提交總部,如此往復直至最終通過該業務的審批。這是一個典型的縱向流程集成的應用示例。基于BPM 實現該流程的步驟如圖4所示。
圖4 某業務總部網省兩級審批流程
電力公司的用戶登錄網省公司SAP門戶,起草業務審批計劃,然后啟動該計劃的審批,啟動時會調用網省的BPM,創建一個流程實例,此時流程處于啟動狀態;省電力公司BPM 向總部BPM 發送消息,通知該BPM 啟動總部的審批流程,總部流程啟動后,會通知專責進行處理,專責審批后,提出修改意見,將流程消息發送到網省并通知網省進行修改;省公司的BPM 收到消息后,創建待辦任務,網省用戶收到待辦任務后,落實相關修改意見,修改完畢后再發送到總部進行審批;總部收到消息后,對計劃進行審核,審核通過后,向網省的BPM 發送消息,通知網省提交相關的工程決算;省電力公司收到消息后,提交相關預算,將流程發送到總部進行審批,總部審批通過后,向網省BPM 發送消息,通知其進行下一步工作;省電力公司收到待辦任務后,進行工程轉資,流程結束。
3 結語
本文設計開發了基于BPMN2.0標準的分布式業務流程管理平臺,實現了流程集成及流程的集約化管理。該平臺在國家電網公司信息系統的多個業務中得到應用,部署在國家電網公司總部、所有網省公司和直屬產業單位及直屬金融單位。該平臺支撐了國家電網公司總部及網省單位的IRS系統、人資集約化、大規劃項目、審計綜合、電動汽車、基建標準成本管理、能效管理、智能支付平臺、政工管理系統等約30個項目的建設,應用部署點100余個,累計使用約1100人,強有力地支撐了國家電網公司的信息化建設。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于BPMN2.0標準的電力ERP系統業務流程管理平臺
本文網址:http://www.guhuozai8.cn/html/consultation/1082039472.html