專利名稱:一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及業(yè)務(wù)系統(tǒng)與流程管理產(chǎn)品之間應(yīng)用程序接口 API技術(shù),特別是一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法和系統(tǒng)。所述API是應(yīng)用程序接口的英文縮寫,為本領(lǐng)域通用。
背景技術(shù):
業(yè)務(wù)流程是將具體業(yè)務(wù)的處理過程離散成一系列的有順序,有組織,有邏輯的業(yè)務(wù)節(jié)點或者任務(wù),并在計算機中以恰當?shù)哪P瓦M行表示和自動運算,它屬于計算機支持的協(xié)同工作(Computer Supported Cooperative Work, CSCff)的一部分。業(yè)務(wù)流程對于企業(yè)的意義不僅僅在于對企業(yè)關(guān)鍵業(yè)務(wù)的一種描述;更在于對企業(yè)的業(yè)務(wù)運營有著指導(dǎo)意義, 這種意義體現(xiàn)在對資源的優(yōu)化、對企業(yè)組織機構(gòu)的優(yōu)化以及對管理制度的一系列改變。這種優(yōu)化的目的實際也是企業(yè)所追求的目標降低企業(yè)的運營成本,提高對市場需求的響應(yīng)速度,爭取企業(yè)利潤的最大化?;跇I(yè)務(wù)流程的優(yōu)勢和需求,全球各主要的軟件生產(chǎn)商分別推出了各自的業(yè)務(wù)流程管理產(chǎn)品,像 IBM 的 FileNet,WPS(Websphere process server),EMC 的 documentum流程引擎,BEA公司推出的AquaLogic BPM Suite等。軟件集成商基于這些流程管理產(chǎn)品構(gòu)建, 實施客戶的業(yè)務(wù)系統(tǒng)。軟件集成商首先根據(jù)客戶的業(yè)務(wù)梳理業(yè)務(wù)流程并使用流程管理產(chǎn)品進行流程建模;業(yè)務(wù)系統(tǒng)通過調(diào)用這些流程管理產(chǎn)品的API來對流程進行調(diào)度,使流程邏輯融入到業(yè)務(wù)邏輯中去,如圖1所示。雖然各個軟件集成商使用此開發(fā)模式已經(jīng)成功實施了許多客戶的業(yè)務(wù)系統(tǒng),但是該集成方式使業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品緊密的耦合在一起,不管是開發(fā)商還是客戶都明顯感覺到這種集成方式給以后的系統(tǒng)維護和擴展帶來不少問題1.對軟件集成商來說,為客戶開發(fā)的軟件系統(tǒng)很大一部分可以產(chǎn)品化,以此減少為擁有類似需求的客戶實施類似系統(tǒng)付出的成本。由于流程管理產(chǎn)品的選擇往往受制于用戶,所以產(chǎn)品化的業(yè)務(wù)系統(tǒng)要求能支持多種不同的流程管理產(chǎn)品。所以將業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品緊密耦合在一起明顯不利于系統(tǒng)的產(chǎn)品化。2.對軟件集成商來說,每開發(fā)一個針對不同流程產(chǎn)品的業(yè)務(wù)系統(tǒng)需要開發(fā)人員花費巨大的精力研究特定流程管理產(chǎn)品API的使用,對項目的周期和人員成本會產(chǎn)生比較大的影響。3.對客戶來說,面臨著流程管理產(chǎn)品的選擇問題,當現(xiàn)有的流程管理產(chǎn)品不能滿足需求時,更換流程管理產(chǎn)品同樣會付出巨大的成本。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的缺陷或不足,提供一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法和系統(tǒng)。采用所述方法和系統(tǒng),有利于促進軟件集成商所面臨的軟件產(chǎn)品化,也有利于滿足用戶對流程管理產(chǎn)品的切換需求。
本發(fā)明的技術(shù)方案如下一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于包括如下步驟制定業(yè)務(wù)流程的業(yè)務(wù)模型,根據(jù)業(yè)務(wù)模型提取業(yè)務(wù)流程管理的通用API,并使通用API接受業(yè)務(wù)系統(tǒng)的調(diào)用;對選用的流程管理產(chǎn)品的特定API進行二次封裝,并使特定API的底層對業(yè)務(wù)系統(tǒng)屏蔽,使得業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定API,而是調(diào)用通用API,從而在業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品之間實現(xiàn)解耦。所述通用API具有事件處理機制,以及可定制化的操作機制。如果通用API提供的功能依靠選用的流程管理產(chǎn)品無法實現(xiàn),則借助數(shù)據(jù)庫來實現(xiàn)。所述選用的流程管理產(chǎn)品能夠根據(jù)需要切換。所述業(yè)務(wù)模型包括如下組件流程模板組件、流程實例組件、工作項組件、流程數(shù)據(jù)組件、流程引擎組件和與流程引擎相連接的連接組件。所述流程模板組件封裝了業(yè)務(wù)模型中所標注的對流程模板的操作,包括查詢模板和/或更新流程模板;通過流程模板的管理組件,能夠查詢流程模板詳細信息。所述流程實例組件封裝了業(yè)務(wù)模型中所標注的對流程實例的操作,包括創(chuàng)建流程實例、啟動流程實例和/或終止流程實例;該組件具有對流程實例的查詢統(tǒng)計功能。所述工作項組件封裝了業(yè)務(wù)模型中所標注的對工作項的操作,包括完成工作項和 /或終止工作項;該組件具有對工作項的查詢統(tǒng)計功能。所述流程數(shù)據(jù)組件是用鍵-值對的形式來表示流程的數(shù)據(jù),并將流程的各種參與者抽象為流程的數(shù)據(jù);所述流程引擎組件通過業(yè)務(wù)流程引擎能夠獲取流程模板的管理器、 流程實例的管理器和/或工作項管理器;所述與流程引擎相連接的連接組件具有對用戶和系統(tǒng)的認證,并具有事務(wù)控制功能。一種通用業(yè)務(wù)流程管理接口的實現(xiàn)系統(tǒng),其特征在于包括業(yè)務(wù)模型和根據(jù)業(yè)務(wù)模型提取業(yè)務(wù)流程管理的通用API,所述通用API接受業(yè)務(wù)系統(tǒng)的調(diào)用;對選用的流程管理產(chǎn)品的特定API進行二次封裝、并使特定API的底層對業(yè)務(wù)系統(tǒng)屏蔽的裝置,使得業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定API,而是調(diào)用通用API,從而在業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品之間實現(xiàn)解耦;所述業(yè)務(wù)模型包括如下組件流程模板組件、流程實例組件、工作項組件、流程數(shù)據(jù)組件、流程引擎組件和與流程引擎相連接的連接組件。本發(fā)明的技術(shù)效果如下本發(fā)明相對于根據(jù)不同的流程管理產(chǎn)品開發(fā)不同業(yè)務(wù)接口而言,具有以下優(yōu)勢1、可復(fù)用的流程管理通用API接口 本框架提供的通用API接口支持多個流程管理產(chǎn)品,可在多個項目使用。2、快速的項目實施周期以及較低的實施成本通過對業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品解耦,可復(fù)用項目實施人員、經(jīng)驗,加快項目實施,降低實施成本。3、靈活的可擴展特性通過完善的事件處理機制、可定制的操作機制,本流程管理 API可方便的進行擴展,以滿足多種業(yè)務(wù)需求。
圖1是業(yè)務(wù)系統(tǒng)直接調(diào)用業(yè)務(wù)流程管理產(chǎn)品API的結(jié)構(gòu)圖。
圖2是流程實例狀態(tài)轉(zhuǎn)換圖。圖3是工作項狀態(tài)轉(zhuǎn)換圖。圖4是業(yè)務(wù)系統(tǒng)通過通用業(yè)務(wù)流程管理API訪問業(yè)務(wù)流程管理產(chǎn)品API的結(jié)構(gòu)圖。圖5是通用業(yè)務(wù)流程管理API的內(nèi)部實現(xiàn)結(jié)構(gòu)圖。圖6是通用業(yè)務(wù)流程管理API的可定制化操作的組件關(guān)系圖。
具體實施例方式下面結(jié)合附圖(圖1-圖6)對本發(fā)明進行說明。本發(fā)明提供一種對業(yè)界主流流程管理產(chǎn)品的API進行封裝,生成一套通用業(yè)務(wù)流程管理的API的設(shè)計方案和實現(xiàn)方法。本發(fā)明的目的是通過設(shè)計一套通用的業(yè)務(wù)流程管理的API提供給業(yè)務(wù)系統(tǒng)調(diào)用, 對業(yè)務(wù)系統(tǒng)屏蔽底層流程管理產(chǎn)品的API。這樣就將業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品進行解耦,解決了軟件集成商所面臨的軟件產(chǎn)品化等問題,也解決了客戶所面臨的流程管理產(chǎn)品切換的問題。本發(fā)明人抽象和提煉出符合流程管理要求、適應(yīng)多個流程管理產(chǎn)品的通用流程管理框架,本框架具有如下特性1、成熟的業(yè)務(wù)流程模型通過對業(yè)界主流的流程管理產(chǎn)品的分析和提煉,結(jié)合國內(nèi)特有的流程管理需求,建立了一套成熟、完備、滿足業(yè)務(wù)需求的業(yè)務(wù)流程模型。2、完善的事件處理機制通過引入事件機制,可根據(jù)業(yè)務(wù)需求靈活的在流程的各個環(huán)節(jié)加入監(jiān)控、業(yè)務(wù)處理、日志記錄等功能。3、可定制化的操作機制考慮到用戶業(yè)務(wù)需求的多樣性和復(fù)雜性,框架提供可靈活定制的操作機制,滿足復(fù)雜查詢、客戶自定義操作等復(fù)雜邏輯。4、標準的流程設(shè)計規(guī)范業(yè)務(wù)流程梳理、整合、優(yōu)化是企業(yè)實施流程改造的關(guān)鍵, 根據(jù)多年豐富的實施經(jīng)驗制定的標準流程設(shè)計規(guī)范可指導(dǎo)企業(yè)進行業(yè)務(wù)流程改造。本發(fā)明統(tǒng)一了業(yè)務(wù)流程的業(yè)務(wù)模型,根據(jù)業(yè)務(wù)模型提取了業(yè)務(wù)流程管理的通用 API??紤]到該通用業(yè)務(wù)流程管理API的可擴展性,提供了事件處理機制;考慮到用戶業(yè)務(wù)需求的多樣性和復(fù)雜性,提供了可定制化操作機制。該發(fā)明制定了基于該通用API的流程設(shè)計規(guī)范,為軟件集成商進行基于該通用API的系統(tǒng)開發(fā)和擴展提供依據(jù)。本發(fā)明為了達到通用業(yè)務(wù)流程管理API的通用性,從以下幾個方面進行了分析, 約定和設(shè)計。一 .通用業(yè)務(wù)流程管理Java API的業(yè)務(wù)模型業(yè)務(wù)流程中涉及三類對象需要外界管理,流程模板,流程實例,工作項,流程參與者,流程數(shù)據(jù)。1.流程模板流程模板是對一類業(yè)務(wù)的處理過程的定義。它由流程管理產(chǎn)品的流程設(shè)計工具進行設(shè)計,然后發(fā)布,處于可運行狀態(tài)。它通常以圖形化的形式展示給用戶。流程模板有版本控制。用戶對同一個流程模板的更新會產(chǎn)生一個新版本。2.流程實例
流程實例是流程定義的運行實例,它代表了一個待完成的業(yè)務(wù)。當用戶調(diào)用API 啟動了流程后,會產(chǎn)生一條流程實例。流程實例被用戶操作,會產(chǎn)生不同的運行狀態(tài)預(yù)啟動,運行,已掛起,已終止,失敗,結(jié)束。流程實例的狀態(tài)在不同的操作下可以互相轉(zhuǎn)換,如圖 2所示。圖中連接線上的標注表示對流程實例進行的操作或者流程實例發(fā)生的事件。當流程實例的最后一個節(jié)點完成后,流程實例變?yōu)椤敖Y(jié)束”狀態(tài)。當流程實例在運行過程中,以為系統(tǒng)異?;蛘邤?shù)據(jù)異常等原因?qū)е铝鞒虒嵗牧鬓D(zhuǎn)失敗。對于作廢的流程可以進行終止, 對于暫緩處理的流程可以進行掛起;同樣可以反向操作。對于處在“失敗”,“終止”和“結(jié)束”狀態(tài)的流程實例可以從數(shù)據(jù)庫中刪除。3.工作項工作項是流程節(jié)點的運行實例,是業(yè)務(wù)操作者的待處理任務(wù)。業(yè)務(wù)操作者通過查詢屬于自己的待處理的工作項獲取任務(wù)并完成任務(wù),進而將流程實例推向下一個節(jié)點,為下一個業(yè)務(wù)操作者產(chǎn)生新的任務(wù)。工作項的狀態(tài)轉(zhuǎn)換如圖3所示。圖中連接線上的標注表示工作項進行的操作。工作項產(chǎn)生后處在“已就緒”狀態(tài),業(yè)務(wù)操作者查詢到自己的待處理工作項之后,先對工作項進行申明,保證其他業(yè)務(wù)操作者無法處理該任務(wù)。業(yè)務(wù)操作者完成任務(wù)后,流程將被推向下一個業(yè)務(wù)節(jié)點,當前任務(wù)處在“已完成”的狀態(tài)。對于不需要處理的任務(wù)可以進行終止,對于暫緩處理的任務(wù)可以進行掛起;同樣可以進行反向操作。工作項可以被其他人代理完成,也可以重新進行分配。4.流程參與者流程參與者是指對業(yè)務(wù)流程進行流程建模時指定的業(yè)務(wù)節(jié)點的潛在的處理人,管理者和流程實例的管理者。(1)流程實例的管理者擁有對流程實例進行啟動,終止,掛起等所有的操作。( 業(yè)務(wù)節(jié)點的潛在處理人指工作項的所有者,負責(zé)完成該任務(wù)。業(yè)務(wù)節(jié)點的潛在處理人可以由其他人代理,也可以進行改變,即將工作項重新分配給其他人。(3)業(yè)務(wù)節(jié)點的管理者擁有特殊的權(quán)限,如對任務(wù)進行重新分配等操作我們將流程的參與者抽象為用戶和組兩種類型,組是多個用戶的集合??梢詫⒘鞒虆⑴c者指定為組,則該組下的所有用戶擁有相應(yīng)的操作權(quán)限。5.流程數(shù)據(jù)我們將進入業(yè)務(wù)流程的業(yè)務(wù)數(shù)據(jù)和流程控制數(shù)據(jù)統(tǒng)稱為流程數(shù)據(jù)。業(yè)界主流的流程管理產(chǎn)品基本上都支持該業(yè)務(wù)模型,對于個別不支持的業(yè)務(wù)操作可以借助數(shù)據(jù)庫技術(shù)進行封裝實現(xiàn)。二 .通用業(yè)務(wù)流程管理Java API的設(shè)計1.通用業(yè)務(wù)流程管理API的系統(tǒng)模型業(yè)務(wù)流程管理通用API是基于以上業(yè)務(wù)模型,對特定流程管理產(chǎn)品API的二次封裝。業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定流程管理產(chǎn)品的API,而是調(diào)用通用業(yè)務(wù)流程管理的API。 這樣將業(yè)務(wù)系統(tǒng)和特定的流程管理產(chǎn)品進行了解耦。如圖4示,流程管理API在整個業(yè)務(wù)系統(tǒng)中的位置。這樣可以根據(jù)需要,改變通用業(yè)務(wù)流程管理API的封裝對象達到改變特定流程管理產(chǎn)品的目的。圖5表示通用業(yè)務(wù)流程管理API的結(jié)構(gòu)。圖中DMEngine是針對Documentum業(yè)務(wù)流程管理API的封裝,F(xiàn)NEngine是對FileNet業(yè)務(wù)流程管理API的封裝。如果通用業(yè)務(wù)流程管理接口提供的功能依靠Documentum或者FileNet無法實現(xiàn),可以借助于數(shù)據(jù)庫來實現(xiàn)。2.通用業(yè)務(wù)流程管理API的組件模型基于通用業(yè)務(wù)流程管理Java API的業(yè)務(wù)模型,我們抽象出一下相關(guān)的組件(I)ProcessTemplate 代表流程模板,ProcessTemplateManager 是針對流程模板的管理組件,該組件封裝了業(yè)務(wù)模型中所標注的對流程模板的各種操作,如查詢模板,更新流程模板等。通過流程模板的管理組件,可以查詢流程模板詳細信息,如流程模板的創(chuàng)建者,相關(guān)節(jié)點信息等。(2)ProcessInstance 代禾呈實 歹ij,ProcessInstanceManager 是針對禾呈實 歹ij 的管理組件,該組件封裝了業(yè)務(wù)模型中所標注的對流程實例的各種操作,創(chuàng)建流程實例,啟動流程實例,終止流程實例等;該組件同樣提供對流程實例的查詢統(tǒng)計等功能。(3) WorkItem代表工作項,WorkItemManager是針對工作項的管理組件,該組件封裝了業(yè)務(wù)模型中所標注的對工作項的各種操作,如完成工作項,終止工作項等;該組件同樣提供對工作項的查詢統(tǒng)計等功能。G)BPMC0nneCti0n代表和流程引擎的連接,提供對用戶和系統(tǒng)的認證,并提供事務(wù)控制功能。(5) BPMData代表流程數(shù)據(jù),主要是用鍵_值對的形式來表示流程的數(shù)據(jù)。流程的各種參與者也抽象為流程的數(shù)據(jù)。(5)用Engine組件表示業(yè)務(wù)流程引擎,通過業(yè)務(wù)流程引擎可以獲取流程模板的管理器,流程實例的管理器,工作項管理器等。該對象的實現(xiàn)類是用戶訪問通用業(yè)務(wù)流程API 的入口。以上幾種組件是我們抽象出來的通用的組件。通用業(yè)務(wù)流程API將其自身定義的流程實例狀態(tài)和工作項狀態(tài)分別與特定的流程管理產(chǎn)品中相應(yīng)的狀態(tài)作了映射。當針對特定流程管理產(chǎn)品的API進行封裝時,需要針對每個組件分別進行實現(xiàn)或者封裝。(6)EngineFaCt0ry是引擎對象的工廠類,它負責(zé)根據(jù)用戶配置或者指定的流程引擎的類型創(chuàng)建Engine對象,具體創(chuàng)建的細節(jié)對用戶屏蔽。(7) DM開頭的類為針對Documentum流程管理API的實現(xiàn)類,封裝了 Documentum的
流程管理功能。(S)CommonEngine對象為多個同流程管理產(chǎn)品的代理,對用戶屏蔽了流程引擎對象的類型。該對象是用戶訪問流程通用接口的入口。(9) ProcessInstanceManagerProxy,WorkIt emMana gerProxy, ftOcessTemplateManagerProxy分別對應(yīng)著流程實例管理對象的代理,工作項管理對象的代理,流程模版管理對象的代理。在該代理類中,除了調(diào)用所代理的組件的相關(guān)接口之后, 還負責(zé)處理用戶定制的組件的事件,即ProcessEventHan dler和WorkltemEventHandler。3.通用業(yè)務(wù)流程管理API的代碼使用方法CommonEngine engine = new CommonEngine ();engine, connect (username,password,org,app);ProcessInstanceManager piManager = engine. createProcessInstanceManager ();
piManager. createAndStartProcess (···);engine, disconnect ();4.通用業(yè)務(wù)流程管理API的事件處理機制當用戶進行流程操作時,往往需要在進行操作之前或者之后記錄日志,采集數(shù)據(jù)或者對數(shù)據(jù)進行驗證等,為此本發(fā)明引入了事件處理機制,就是上面提到的 ProcessEventHandler和WorkItemEventHandler。這是兩個接口,提供了在進行流程操作之前或者之后進行數(shù)據(jù)處理的方法。用戶如果需要,實現(xiàn)這兩個接口,并將其實現(xiàn)類注冊到通用流程管理API提供的注冊文件(EventHandlerRegistry. properties)中即可,如下PI_EVH
= com. nantian. bpm. eh. MyProcessEventHandlerWI_EVH
= com. nantian. bpm. eh. MyfforkItemEventHandler5.通用業(yè)務(wù)流程管理API的可定制化操作模式通用業(yè)務(wù)流程管理接口可以提供盡可能多的接口來滿足用戶的需要。但鑒于通用業(yè)務(wù)流程接口屏蔽了原流程管理產(chǎn)品的部分功能,尤其是查詢功能,無法滿足用戶的需求; 為此,為了達到業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品API的松耦合且兼顧用戶的需求,本發(fā)明引入了可定制化操作的模式,即CustomOperation組件。如圖6所示結(jié)構(gòu)圖。DMCustomOperation 和FNCustomOperation分別為針對Documentum和FileNet流程管理實現(xiàn)的可定制化操作的實現(xiàn)類。具體操作分別繼承該抽象類。用戶實現(xiàn)該組件,將其實現(xiàn)類注冊到通用業(yè)務(wù)流程管理API提供可定制化操作注冊表文件(CustomOperationRegistry. properties)中,如下示Query4BizTask = com. nantian. business. CustomQuery4BizTask用戶通過如下代碼調(diào)用該操作Engine engine = new CommonEngine();engine. createfforkltemManager. exeueteCustomOperation ( “Query4BizTas k”);三.通用業(yè)務(wù)流程管理API的流程建模規(guī)范一種通用的業(yè)務(wù)流程管理API要求進行業(yè)務(wù)流程建模時必須遵循一定的約定1.使用不同的流程管理產(chǎn)品提供的流程設(shè)計器進行業(yè)務(wù)流程建模時,必須統(tǒng)一流程的名稱,節(jié)點的名稱。2.使用不同的流程管理產(chǎn)品提供的流程設(shè)計器進行業(yè)務(wù)流程建模時,約定一個業(yè)務(wù)流程只能使用一條流程數(shù)據(jù),流程數(shù)據(jù)中不使用復(fù)雜的數(shù)據(jù)類型。3.使用不同的流程管理產(chǎn)品提供的流程設(shè)計器進行業(yè)務(wù)流程建模時,使用用戶-組的流程參與者模型。4.使用不同的流程管理產(chǎn)品提供的流程設(shè)計器進行業(yè)務(wù)流程建模時,借助于流程數(shù)據(jù)來傳遞動態(tài)設(shè)置的流程參與者。5.使用不同的流程管理產(chǎn)品提供的流程設(shè)計器進行業(yè)務(wù)流程建模時,對相同的業(yè)務(wù)節(jié)點必須使用相同的流程模式。在此指明,以上敘述有助于本領(lǐng)域技術(shù)人員理解本發(fā)明創(chuàng)造,但并非限制本發(fā)明創(chuàng)造的保護范圍。任何沒有脫離本發(fā)明創(chuàng)造實質(zhì)內(nèi)容的對以上敘述的等同替換、修飾改進和/或刪繁從簡而進行的實施,均落入本發(fā)明創(chuàng)造的保護范圍。
權(quán)利要求
1.一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于包括如下步驟制定業(yè)務(wù)流程的業(yè)務(wù)模型,根據(jù)業(yè)務(wù)模型提取業(yè)務(wù)流程管理的通用API,并使通用API接受業(yè)務(wù)系統(tǒng)的調(diào)用;對選用的流程管理產(chǎn)品的特定API進行二次封裝,并使特定API的底層對業(yè)務(wù)系統(tǒng)屏蔽,使得業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定API,而是調(diào)用通用API,從而在業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品之間實現(xiàn)解耦。
2.根據(jù)權(quán)利要求1所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述通用 API具有事件處理機制,以及可定制化的操作機制。
3.根據(jù)權(quán)利要求1所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于如果通用 API提供的功能依靠選用的流程管理產(chǎn)品無法實現(xiàn),則借助數(shù)據(jù)庫來實現(xiàn)。
4.根據(jù)權(quán)利要求1所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述選用的流程管理產(chǎn)品能夠根據(jù)需要切換。
5.根據(jù)權(quán)利要求1所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述業(yè)務(wù)模型包括如下組件流程模板組件、流程實例組件、工作項組件、流程數(shù)據(jù)組件、流程引擎組件和與流程引擎相連接的連接組件。
6.根據(jù)權(quán)利要求5所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述流程模板組件封裝了業(yè)務(wù)模型中所標注的對流程模板的操作,包括查詢模板和/或更新流程模板;通過流程模板的管理組件,能夠查詢流程模板詳細信息。
7.根據(jù)權(quán)利要求5所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述流程實例組件封裝了業(yè)務(wù)模型中所標注的對流程實例的操作,包括創(chuàng)建流程實例、啟動流程實例和/或終止流程實例;該組件具有對流程實例的查詢統(tǒng)計功能。
8.根據(jù)權(quán)利要求5所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述工作項組件封裝了業(yè)務(wù)模型中所標注的對工作項的操作,包括完成工作項和/或終止工作項; 該組件具有對工作項的查詢統(tǒng)計功能。
9.根據(jù)權(quán)利要求5所述的通用業(yè)務(wù)流程管理接口的實現(xiàn)方法,其特征在于所述流程數(shù)據(jù)組件是用鍵-值對的形式來表示流程的數(shù)據(jù),并將流程的各種參與者抽象為流程的數(shù)據(jù);所述流程引擎組件通過業(yè)務(wù)流程引擎能夠獲取流程模板的管理器、流程實例的管理器和/或工作項管理器;所述與流程引擎相連接的連接組件具有對用戶和系統(tǒng)的認證,并具有事務(wù)控制功能。
10.一種通用業(yè)務(wù)流程管理接口的實現(xiàn)系統(tǒng),其特征在于包括業(yè)務(wù)模型和根據(jù)業(yè)務(wù)模型提取業(yè)務(wù)流程管理的通用API,所述通用API接受業(yè)務(wù)系統(tǒng)的調(diào)用;對選用的流程管理產(chǎn)品的特定API進行二次封裝、并使特定API的底層對業(yè)務(wù)系統(tǒng)屏蔽的裝置,使得業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定API,而是調(diào)用通用API,從而在業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品之間實現(xiàn)解耦;所述業(yè)務(wù)模型包括如下組件流程模板組件、流程實例組件、工作項組件、流程數(shù)據(jù)組件、流程弓I擎組件和與流程弓I擎相連接的連接組件。
全文摘要
一種通用業(yè)務(wù)流程管理接口的實現(xiàn)方法和系統(tǒng),有利于促進軟件集成商所面臨的軟件產(chǎn)品化,也有利于滿足用戶對流程管理產(chǎn)品的切換需求,其特征在于包括如下步驟制定業(yè)務(wù)流程的業(yè)務(wù)模型,根據(jù)業(yè)務(wù)模型提取業(yè)務(wù)流程管理的通用API,并使通用API接受業(yè)務(wù)系統(tǒng)的調(diào)用;對選用的流程管理產(chǎn)品的特定API進行二次封裝,并使特定API的底層對業(yè)務(wù)系統(tǒng)屏蔽,使得業(yè)務(wù)系統(tǒng)不會直接調(diào)用特定API,而是調(diào)用通用API,從而在業(yè)務(wù)系統(tǒng)和流程管理產(chǎn)品之間實現(xiàn)解耦。
文檔編號G06F9/44GK102156642SQ20111010031
公開日2011年8月17日 申請日期2011年4月21日 優(yōu)先權(quán)日2011年4月21日
發(fā)明者劉為, 徐宏燦, 王瑋, 蔡一 申請人:北京南天軟件有限公司