0 引言
隨著經(jīng)濟的迅速發(fā)展,制線企業(yè)生產(chǎn)規(guī)模不斷擴大,通過采用先進的生產(chǎn)設備,極大地提高了生產(chǎn)力。面對生產(chǎn)過程中大量訂單數(shù)據(jù)和生產(chǎn)統(tǒng)計數(shù)據(jù)處理要求和客戶對交貨期、產(chǎn)品質量的要求,企業(yè)的生產(chǎn)管理必須具有高效性、嚴謹性和可控性才能保證生產(chǎn)的效率和產(chǎn)品質量。
然而,落后的企業(yè)信息化管理現(xiàn)狀并不能滿足這種生產(chǎn)管理需求,給企業(yè)的進一步發(fā)展和提升帶來了極大的阻礙。究其原因,大致有3點:①制線業(yè)作為傳統(tǒng)的人力密集型制造業(yè),信息化管理起步較晚,信息化程度低;②企業(yè)發(fā)展速度較快,管理流程仍處于一個不斷優(yōu)化調整的階段,而傳統(tǒng)的信息管理系統(tǒng)或者ERP由于其工作流程和業(yè)務流程的緊密耦合,缺乏靈活性和可擴展性,因而對于此類企業(yè)不夠適用;③企業(yè)已經(jīng)采用的一些管理系統(tǒng),如倉庫管理系統(tǒng)、工藝配方管理系統(tǒng)等,只能滿足本部門的管理需求,缺乏統(tǒng)一的標準和規(guī)劃,在企業(yè)內部缺乏信息流通,造成了一個個“信息孤島”。在這類企業(yè)的信息化建設中引入靈活的、可擴展的基于工作流的業(yè)務流程管理就很有必要。
針對上述問題,本研究設計基于BPM的生產(chǎn)管理系統(tǒng),以實現(xiàn)工作流程的自動化,通過業(yè)務流程管理保證企業(yè)生產(chǎn)流程的執(zhí)行,支持業(yè)務流程的快速修改升級,并通過企業(yè)應用集成增進管理系統(tǒng)間的信息交流,以滿足企業(yè)發(fā)展的需求。
1 BPM和jBPM
業(yè)務流程管理BPM的注重點是:通過建模、自動
化、管理和優(yōu)化流程,來優(yōu)化企業(yè)業(yè)務的運行效率和效果,以構造規(guī)范化的業(yè)務流程為中心,推進跨部門、跨系統(tǒng)和跨用戶的信息流通與整合。從管理的角度看,BPM是將業(yè)務流程看作一種新的抽象數(shù)據(jù)類型,以流程實例作為直接操作和管理的基本對象,并在流程實例中結合業(yè)務數(shù)據(jù)。BPM具有以下兩個特點:
(1)工作流管理。
BPM采用工作流技術,以工作流的方式組織控制企業(yè)的業(yè)務流程,完成不同部門和工作人員之間的信息交換和協(xié)同工作,對業(yè)務流程和活動進行監(jiān)控和分析,從而實現(xiàn)工作流程的自動化。
(2)企業(yè)應用集成。
通過將一系列的方法、技術和工具組織在一起,實現(xiàn)各異構應用系統(tǒng)之間的無縫集成。這樣既保證了原有管理系統(tǒng)的正常運行,又實現(xiàn)了與新的管理系統(tǒng)的整合,促進了企業(yè)內部部門之間、管理系統(tǒng)之間的數(shù)據(jù)流通和信息交互。
jBPM是基于JavaEE的輕量級工作流管理系統(tǒng),是一個能夠可擴展、靈活地實現(xiàn)工作流/業(yè)務流程管理的企業(yè)級開發(fā)框架,為開發(fā)人員提供了流程定義、流程部署、流程執(zhí)行、流程管理等功能。它不但支持業(yè)務流程執(zhí)行語言BPEL,還提供了面向圖形編程的流程定義語言(jBoss Process Definition Language,jPDL)。jBPM小巧且易于擴展,它可以很方便地部署到各種系統(tǒng)中,采用標準的Java API調用方式,可以由Java程序直接調用,也可以通過EJB組件調用。
2 基于BPM的生產(chǎn)管理系統(tǒng)設計
在傳統(tǒng)的管理系統(tǒng)開發(fā)架構下,業(yè)務流程和業(yè)務邏輯緊密耦合地散布在代碼中,缺乏提煉,因而造成了系統(tǒng)的僵化和復雜化;贐PM的設計采用面向服務架構(Service Oriented Architecture,SOA),通過基于標準的開放接口和松耦合的方式,將較小粒度的服務組合成復雜的服務和應用程序,實現(xiàn)業(yè)務流程的構建。本研究針對生產(chǎn)管理系統(tǒng)的設計,把生產(chǎn)管理過程中的業(yè)務活動抽離出來,按照一定的定義格式存儲,用BPM的方法對業(yè)務流程進行管理、分析和優(yōu)化。基于BPM的生產(chǎn)管理系統(tǒng)的設計框架圖如圖1所示,系統(tǒng)總體架構分4層,詳細功能說明如下:
圖1基于BPM的生產(chǎn)管理系統(tǒng)設計框圖
(1)數(shù)據(jù)支持層。
這一層主要為系統(tǒng)運行提供資源數(shù)據(jù)支持,通過對企業(yè)已有的管理系統(tǒng)與生產(chǎn)管理系統(tǒng)進行資源整合集成,提供了流程運轉所需的基礎數(shù)據(jù)。本研究采用數(shù)據(jù)引擎進行數(shù)據(jù)操作,在保證對各個不同管理系統(tǒng)數(shù)據(jù)的正確存取的前提下,實現(xiàn)對這些不同數(shù)據(jù)源的統(tǒng)一的訪問管理。該層是實現(xiàn)不同管理系統(tǒng)應用集成的關鍵,也是生產(chǎn)管理系統(tǒng)運行的基礎。它涉及到一個或多個存儲企業(yè)管理數(shù)據(jù)的數(shù)據(jù)源,數(shù)據(jù)交換和處理都要保證數(shù)據(jù)安全,既要求數(shù)據(jù)傳輸?shù)陌踩惨髷?shù)據(jù)處理過程的安全。
(2)BPM平臺層。
這一層主要對基于BPM的應用提供流程運行時的核心支撐。工作流引擎是BPM系統(tǒng)的核心部件,實現(xiàn)業(yè)務流程的定義和管理,負責業(yè)務流程安全、可靠地制定和有效的執(zhí)行。對外提供業(yè)務流程、活動的查詢、控制和管理功能。規(guī)則引擎針對業(yè)務規(guī)則進行定義與管理。應用程序通過向規(guī)則引擎?zhèn)鬟f參數(shù)數(shù)據(jù)來觸發(fā)規(guī)則引擎,由規(guī)則引擎來調用相應的業(yè)務規(guī)則,觸發(fā)相應的應用處理程序進行響應。通過規(guī)則引擎可以實現(xiàn)對業(yè)務規(guī)則的靈活控制和修改,提高管理系統(tǒng)的靈活性和適應性。服務適配器是實現(xiàn)SOA的關鍵工具,它將某些通用功能封裝成可重用的服務組件提供給不同的應用調用,通過Web服務以消息的形式實現(xiàn)了系統(tǒng)與其他企業(yè)業(yè)務系統(tǒng)的信息交流和業(yè)務互動。上層服務也可以通過服務適配器將業(yè)務過程中的信息修改傳遞到各個下層服務進行相應的處理。本研究通過這種SOA原理,實現(xiàn)了對企業(yè)各個不同管理系統(tǒng)的應用集成的消息通信支持。
(3)流程處理層。
這一層主要對生產(chǎn)管理系統(tǒng)的所有業(yè)務流程和規(guī)則進行建模、定義、管理和維護。在工作流引擎和規(guī)則引擎的支持下,本研究結合企業(yè)生產(chǎn)管理的實際業(yè)務管理需求,創(chuàng)建工作流模型和規(guī)則模型。工作流模型是從企業(yè)的日常生產(chǎn)管理活動中提取出基本的業(yè)務流程,并通過流程建模使用流程定義語言進行描述,從而能夠被計算機所理解。規(guī)則模型是從業(yè)務邏輯中提取出的業(yè)務規(guī)則,并且以特定的格式在基于業(yè)務流程管理的環(huán)境中表達出來。規(guī)則模型存儲了業(yè)務規(guī)則以及與規(guī)則相關的屬性,如業(yè)務權限要求、業(yè)務時間信息等。在流程執(zhí)行過程中,流程判定節(jié)點通過業(yè)務規(guī)則來選擇下一個流程節(jié)點并執(zhí)行相應的業(yè)務邏輯。Web服務主要處理由服務適配器接收不同系統(tǒng)之問的消息,或者向其他應用系統(tǒng)傳遞消息服務,實現(xiàn)應用系統(tǒng)的集成。
(4)應用表示層。
這一層根據(jù)企業(yè)各個業(yè)務部門工作需要提供系統(tǒng)功能應用,系統(tǒng)模塊結構如圖2所示。生產(chǎn)管理系統(tǒng)主要由以下5個模塊組成:
圖2系統(tǒng)模塊結構
①系統(tǒng)管理:包括用戶信息、權限管理、系統(tǒng)基礎數(shù)據(jù)管理。對系統(tǒng)用戶信息、角色信息進行管理,并負責用戶權限的分配;對基本的供應商、車間信息、部門信息、客戶信息、色號信息等基礎數(shù)據(jù)進行維護。
②訂單管理:包括訂單錄入、訂單審核、訂單通知、訂單發(fā)貨等。這一模塊主要針對客戶的訂單進行處理,由業(yè)務員錄入客戶訂單,提交到業(yè)務主管進行審批,審批通過后即可安排生產(chǎn)或者發(fā)貨。
③生產(chǎn)管理:包括生產(chǎn)計劃、工藝產(chǎn)能中心、生產(chǎn)調度、生產(chǎn)監(jiān)控等。這一模塊主要是生產(chǎn)部根據(jù)客戶訂單進行生產(chǎn)計劃,制定生產(chǎn)任務單,并安排調度生產(chǎn)任務的執(zhí)行,在生產(chǎn)過程中監(jiān)控生產(chǎn)任務的執(zhí)行進度。在制定生產(chǎn)計劃時,若庫存原料供給不足,可新建采購申請,發(fā)起采購流程。此外,還包括對生產(chǎn)工藝路線和產(chǎn)能數(shù)據(jù)的設定和維護。
④車間管理:包括車間任務、車間物料、車間進度管理等。這一模塊主要是車間對所接受的生產(chǎn)任務的管理,包括任務查詢、任務確認、任務安排等,同時記錄車間物料的進出情況,通過車間員工的產(chǎn)量統(tǒng)計數(shù)據(jù)匯總車間的生產(chǎn)進度。
⑤倉庫管理:基本物料管理功能。這一模塊主要是針對物料(原料、絞線、色線,零頭線、成品)進、存、出進行臺帳管理。主要業(yè)務過程包括物料接收質檢處理、合格后入庫、退貨、庫存轉移、調整,分類處理,以及庫存分類賬查詢等作業(yè)。當庫存原料不足時,倉管員可以新建采購申請,發(fā)起采購流程。
除了以上系統(tǒng)功能模塊,這一層還提供了業(yè)務流程監(jiān)視功能。業(yè)務流程監(jiān)視是將BPM系統(tǒng)中正在運行的流程實例呈現(xiàn)在管理者面前,使管理者能查看流程的執(zhí)行情況。將流程執(zhí)行過程中的一些關鍵參數(shù)(如流程運行時間等)反映出來,使得管理者能清楚地了解到業(yè)務流程的執(zhí)行效率,也能發(fā)現(xiàn)業(yè)務流程在執(zhí)行過程中遇到的一些瓶頸,從而可以及時地對業(yè)務流程做出修改優(yōu)化的決定。
這一層是基于BPM的生產(chǎn)管理系統(tǒng)直接與企業(yè)用戶進行交互的界面。業(yè)務流程的發(fā)起、結束、流程節(jié)點任務的執(zhí)行、流程的監(jiān)控等操作都是在這一層進行。通過嚴密設計的用戶角色和權限控制,結合業(yè)務流程中的任務分配機制,可以使用戶登錄后在操作界面直接看到所需處理的待辦事項,提高工作效率。
3 基于BPM的生產(chǎn)管理系統(tǒng)的實現(xiàn)
3.1 數(shù)據(jù)支持層
數(shù)據(jù)支持層采用數(shù)據(jù)持久化框架Hibernate完成對不同管理系統(tǒng)數(shù)據(jù)源的整合。Hibernate作為Java應用程序和關系數(shù)據(jù)庫數(shù)據(jù)交流的接口,它對JDBC進行了輕量級的封裝,通過封裝數(shù)據(jù)庫底層的操作細節(jié),屏蔽了不同數(shù)據(jù)庫語言的差異,實現(xiàn)了對不同數(shù)據(jù)源的透明訪問。在該系統(tǒng)的實現(xiàn)中,通過Hibernate的訪問配置,實現(xiàn)了對企業(yè)已有的工藝配方管理系統(tǒng)、用友財務管理系統(tǒng)的數(shù)據(jù)庫與生產(chǎn)管理系統(tǒng)數(shù)據(jù)庫的整合,促進了信息的流通,初步達到了企業(yè)應用集成的目的。
3.2 BPM平臺層
BPM平臺層中流程引擎采用jBPM。jBPM流程引擎的工作機制如下:在流程部署階段,流程引擎加載XML格式的流程定義文件,解析之后持久化到工作流相關的數(shù)據(jù)庫中,形成流程檔案;流程開啟后,jBPM流程引擎根據(jù)流程檔案進行流程實例化,負責推動流程實例的遍歷,執(zhí)行流程中定義的動作,維持流程狀態(tài),并記錄所有流程事件。
規(guī)則引擎采用JBoss Rules。JBoss Rules是一個基于Rete算法的由數(shù)據(jù)驅動的規(guī)則引擎,它包括規(guī)則、事實和推理機3部分。規(guī)則存在規(guī)則庫中,事實存在服務器工作內存中,由業(yè)務流程提供,兩者通過推理機來實現(xiàn)匹配,規(guī)則被激活后由Agenda安排執(zhí)行。
3.3 流程處理層
流程處理層由jBPM流程引擎和JBoss Rules規(guī)則引擎對提煉和建模完善的業(yè)務流程模型和規(guī)則模型進行管理維護。這一層的實現(xiàn)主要是使用系統(tǒng)能識別的語言定義各個業(yè)務流程模型和規(guī)則模型。
業(yè)務流程建模使用jBPM提供的流程定義語言jPDL。jPDL以圖形化的方式描述業(yè)務流程。一個業(yè)務流程在BPM系統(tǒng)中表達為一個由模型元素(節(jié)點和連接弧)所組成的有向圖。節(jié)點代表活動,連接弧代表活動間的順序傳遞關系。
本研究針對本研究討論的生產(chǎn)管理系統(tǒng),采用自上而下的層次建模方法。首先對整個生產(chǎn)管理系統(tǒng)進行流程建模,確定總的業(yè)務流程,其次對各個大業(yè)務流程內部的子業(yè)務流程建模,最終實現(xiàn)整個生產(chǎn)管理系統(tǒng)的業(yè)務流程建模。根據(jù)企業(yè)的實際需求,生產(chǎn)管理過程中涉及到的業(yè)務流程主要有訂單處理流程、生產(chǎn)主流程、采購流程等。這里以采購流程為例說明業(yè)務流程定義的方法,采購流程圖如圖3所示。
圖3采購業(yè)務流程模型圖
采購業(yè)務流程描述為:首先,請購人員(包括生產(chǎn)部調度員、倉庫管理員等)根據(jù)物料需求狀況新建采購申請單,提交后自動流轉到采購部門主管;采購主管對采購申請的內容、金額等情況進行審核,若采購金額較大則須提交到高級主管審核;審核通過后,即托付到采購員創(chuàng)建采購訂單,聯(lián)系供應商,進行采購活動;采購到貨后,質檢部門進行質量檢驗,若檢驗合格則進行倉庫入庫登記;否則,進入特例采購申請,由主管進行審查,如果同意則進行倉庫入庫登記;否則執(zhí)行退貨程序;入庫完畢后將采購收貨單、采購發(fā)票提交到財務部門進行結算;退貨或者入庫活動結束后,采購流程完成。
本研究針對上述流程使用jPDL建模時,使用到了幾種流程節(jié)點:①人工任務節(jié)點,如審批、修改節(jié)點,通過任務分配機制確定這些任務節(jié)點的參與者;②判定節(jié)點,如對審批流程、特例申請的判定,這類節(jié)點實現(xiàn)了流程的分支功能;③普通流程節(jié)點,在這類節(jié)點流程自動執(zhí)行設置的任務。流程定義模型的本質是XML格式的配置文件。在配置文件中,針對不同的流程節(jié)點,可以設置各個流程節(jié)點需要處理的事件,分配每個流程節(jié)點對應的操作人員,也可以設置判定節(jié)點的判定方法。
采購流程中涉及到的業(yè)務規(guī)則主要是根據(jù)采購金額的數(shù)目控制審批流程,而這個金額的限定值是隨著企業(yè)管理制度的變化而變化的。本研究使用JBoss Rules進行規(guī)則提取,能快捷地對業(yè)務規(guī)則進行修改,從而適應這種變化。本研究對提取出的JBoss Rules以drl格式的規(guī)則定義文件進行描述,如下所示:
在流程運行過程中,規(guī)則引擎以流程變量中的采購申請單對象作為事實,推理機結合規(guī)則運行規(guī)則匹配算法,實現(xiàn)規(guī)則的觸發(fā),從而控制業(yè)務流程的走向。
其他的業(yè)務流程以及對應的業(yè)務規(guī)則建模與采購流程大致相同,生產(chǎn)主流程模型如圖4所示。這樣,本研究通過業(yè)務流程建模和規(guī)則建模,將業(yè)務流程控制和具體的業(yè)務處理功能分開,對于可能出現(xiàn)的流程變化和規(guī)則變化,只需要修改流程配置文件和規(guī)則定義文件,即可完成對流程的更新升級,快捷方便。
圖4生產(chǎn)主流程模型圖
3.4應用表示層
該層采用JSF框架實現(xiàn)任務處理和頁面跳轉,使用XHTML實現(xiàn)Web頁面。JSF是典型的MVC框架。視圖層主要實現(xiàn)Web頁面顯示,將待處理的任務、需要查看的業(yè)務數(shù)據(jù)或者其他業(yè)務操作內容呈現(xiàn)在用戶面前。模型層定義了生產(chǎn)管理系統(tǒng)需要處理的實體對象和具體的應用程序,負責業(yè)務邏輯和業(yè)務數(shù)據(jù)的處理,在這一層實現(xiàn)了對業(yè)務流程的發(fā)起、執(zhí)行和結束等管理活動的調用。一個模型可以被多個視圖重用,從而提高了應用程序的可復用性?刂破髦饕刂茢(shù)據(jù)流向,通過接收用戶界面的請求,并將請求分配給對應的模型,最后以經(jīng)過模型處理后的視圖響應用戶的請求。本研究使用JSF能實現(xiàn)表示層界面和功能代碼的松耦合,有利于開發(fā)人員的分工協(xié)作和提高組件的重用性,易于擴展和維護。
為了增強用戶界面的交互性,本研究在Web頁面采用了動態(tài)的語言編程,如Ajax、Javascript等,既能輔助用戶完成業(yè)務處理工作,又能通過這種“富客戶端”技術減輕用戶訪問對數(shù)據(jù)庫和服務器的壓力”“。系統(tǒng)界面如圖5所示。
圖5 系統(tǒng)運行界圖
4 結束語
本研究在分析制線企業(yè)的信息化管理需求現(xiàn)狀的基礎上,設計實現(xiàn)了基于BPM的生產(chǎn)管理系統(tǒng),既滿足企業(yè)正常的業(yè)務流程管理需求,也便于在使用過程中對生產(chǎn)流程不斷優(yōu)化升級,同時系統(tǒng)通過數(shù)據(jù)引擎實現(xiàn)不同管理系統(tǒng)的應用集成,推動了企業(yè)內部信息的共享。浙江競宏線業(yè)公司在應用基于BPM的生產(chǎn)管理系統(tǒng)的一段時間里,解決了信息不暢通、流程不清晰、責任不明確等問題,建立了規(guī)范可控的生產(chǎn)管理流程,實現(xiàn)了整個企業(yè)內部資源共享、協(xié)同合作和效益提升的目標。后繼工作是將企業(yè)的生產(chǎn)管理流程更加精細化、全面化.增強流程對于復雜多變情況的適應性。同時不斷提高應用程序的安全性和運行效率,使流程的控制、任務的分配更加科學、更加合理、更加安全,切實將BPM的理念和技術融合到企業(yè)管理系統(tǒng)之中。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.vmgcyvh.cn/
本文標題:基于BPM的企業(yè)生產(chǎn)管理ERP系統(tǒng)研究
本文網(wǎng)址:http://www.vmgcyvh.cn/html/consultation/1082067640.html