王曉萍,柯敏毅
(湖北工業(yè)大學(xué)計算機(jī)工程學(xué)院,湖北武漢430068)
基于Web Service的工作流管理系統(tǒng)的研究與實現(xiàn)
王曉萍,柯敏毅
(湖北工業(yè)大學(xué)計算機(jī)工程學(xué)院,湖北武漢430068)
針對目前的工作流管理系統(tǒng)存在的問題,本文在傳統(tǒng)工作流管理系統(tǒng)和目前流行的Web服務(wù)技術(shù)的基礎(chǔ)上,提出了基于Web服務(wù)的工作流體系模型,該模型在傳統(tǒng)工作流體系模型的基礎(chǔ)上,引入Web服務(wù)。Web服務(wù)在Internet分布式環(huán)境下的動態(tài)發(fā)布、發(fā)現(xiàn)和集成應(yīng)用的特點,能夠很好地解決工作流程缺乏柔性,相互之間無法互操作,不能及時響應(yīng)變化等缺點,提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,大大提高工作流系統(tǒng)的應(yīng)用范圍,促進(jìn)了工作流管理系統(tǒng)的發(fā)展。
Web服務(wù);工作流;工作流管理體系;工作流引擎
工作流(workflow)是企業(yè)業(yè)務(wù)流程的計算機(jī)實現(xiàn),工作流管理系統(tǒng)是企業(yè)實行過程管理的最重要的和最有力的支持工具[1]。工作流管理軟件主要完成企業(yè)業(yè)務(wù)過程的自動化執(zhí)行與監(jiān)控,將通過建模得到的企業(yè)業(yè)務(wù)過程模型進(jìn)行實例化并且投入運行,對運行的過程模型中的活動情況進(jìn)行調(diào)度、管理和監(jiān)控。然而,目前的工作流管理系統(tǒng)存在以下問題:靜態(tài)約束柔性差,缺乏對Internet分布式環(huán)境的支持,可重用性和互操作性差,等等。針對這些問題,本文在深入研究傳統(tǒng)工作流管理系統(tǒng)和目前流行的Web服務(wù)技術(shù)的基礎(chǔ)上,提出了基于Web服務(wù)的工作流體系模型,該模型在傳統(tǒng)工作流體系模型的基礎(chǔ)上,引入Web服務(wù)。利用Web Service在Internet分布式環(huán)境下的特點,能夠很好地解決工作流程缺乏柔性,相互之間無法互操作,不能及時響應(yīng)變化等缺點,提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,大大提高工作流系統(tǒng)的應(yīng)用范圍,有效地促進(jìn)了工作流管理系統(tǒng)的發(fā)展。
1.1 Web簡介
Web又稱World Wide Web,它把 Internet上現(xiàn)有的資源全部鏈接起來,使用戶能在Internet上已經(jīng)建立Web服務(wù)器的所有站點提供超文本媒體資源文檔。Web能夠把包括文字、圖形、聲音、影像等各種類型的信息緊密集成在一起,不僅提供圖形界面的信息快速查詢,而且還可以通過同樣的圖形界面與 Internet的其他服務(wù)器對接。Web服務(wù)體系由Web服務(wù)器、瀏覽器和通信協(xié)議組成,通信協(xié)議 HTTP能夠傳輸任何類型的數(shù)據(jù)對象來滿足Web服務(wù)器與客戶之間多媒體通信的需要[2]。
1.2 Web Service的體系結(jié)構(gòu)
Web Service的體系結(jié)構(gòu)由圖1所示:由 Web服務(wù)提供者、Web服務(wù)請求者、Web服務(wù)中介者(即服務(wù)注冊代理)三個角色參與,由發(fā)布、發(fā)現(xiàn)、綁定三個動作構(gòu)建。“發(fā)布”是為了讓客戶知道某個Web服務(wù)的存在和相關(guān)信息;“發(fā)現(xiàn)”是為了找到合適的Web服務(wù);“綁定”則是在提供者與請求者之間建立某種聯(lián)系。Web服務(wù)提供者等待為其他服務(wù)和用戶提供自己已有的功能;Web服務(wù)請求者利用SOAP(Simple Object Access Protocol)協(xié)議向Web服務(wù)提供者發(fā)送服務(wù)請求;Web服務(wù)中介者充當(dāng)管理者的角色,它把一個Web服務(wù)請求者與合適的Web服務(wù)提供者聯(lián)系在一起,一般是UDDI(Universal Description and Integration)。
圖1 Web服務(wù)體系結(jié)構(gòu)
圖2 基于Web服務(wù)的工作流管理系統(tǒng)
圖2是基于Web服務(wù)的工作流系統(tǒng)框架[3],整個系統(tǒng)在原有的工作流系統(tǒng)基礎(chǔ)上,增加了Web服務(wù)的支撐平臺?,F(xiàn)在將各部分的功能作簡單介紹:
(1)過程定義工具:為工作流客戶提供的實際業(yè)務(wù)過程進(jìn)行分析和建模的方法,原型采用UML活動圖作為描述流程模型的手段;
(2)工作流執(zhí)行服務(wù):借助工作流模型,激活并解釋過程定義的部分或者全部內(nèi)容,同外部的應(yīng)用程序交互,完成工作流過程實例的創(chuàng)建、執(zhí)行與管理,為工作流提供運行環(huán)境;
(3)被調(diào)用的 Web Service:對應(yīng)用數(shù)據(jù)進(jìn)行處理,用于過程實例在運行過程中調(diào)用;
(4)工作流管理工具:對過程實例的狀態(tài)進(jìn)行監(jiān)控與管理。
該系統(tǒng)與傳統(tǒng)的工作流系統(tǒng)的區(qū)別是:首先,工作流管理的一切活動是發(fā)布于 Internet上的 Web Service,獨立于平臺和實現(xiàn)語言;其次,原型系統(tǒng)同業(yè)務(wù)應(yīng)用之間采用基于HTTP和XML的SOAP協(xié)議,通信過程沒有任何請求代理;另外,工作流本身又可以定義為一個新的Web Service被掛入到一個新的業(yè)務(wù)流程中。由此可見,原型系統(tǒng)同傳統(tǒng)的工作流系統(tǒng)相比具有更高的靈活性和可擴(kuò)展性,對于合作雙方而言,不僅交互方式更加靈活,而且交易成本也降低了許多。
基于系統(tǒng)的總體結(jié)構(gòu)設(shè)計,采用了Java、XML (extensible Markup Language)技術(shù),基于J2EE平臺,設(shè)計實現(xiàn)了面向Web Service技術(shù)的分布式工作流系統(tǒng)。下面簡單介紹工作流引擎的實現(xiàn)機(jī)制。
工作流引擎又稱“工作流機(jī)”,是工作流管理系統(tǒng)的核心部分[4],主要提供了對于工作流定義的解析以及流程流轉(zhuǎn)的支持。工作流定義文件描述了業(yè)務(wù)的交互邏輯,工作流引擎通過解析此工作流定義文件按照業(yè)務(wù)的交互邏輯進(jìn)行業(yè)務(wù)的流轉(zhuǎn),通常通過參考某種模型來進(jìn)行設(shè)計,通過調(diào)度算法來進(jìn)行流程的流轉(zhuǎn)(流程的啟動、終止、掛起、恢復(fù)等),通過各種環(huán)節(jié)調(diào)度算法(SPLIT、AND、OR等)來實現(xiàn)對于環(huán)節(jié)的流轉(zhuǎn)(環(huán)節(jié)的合并、分叉、選擇、條件性的選擇等)。
通常工作流引擎采用的核心調(diào)度算法主要有FSM以及PetriNet兩種,基于調(diào)度算法來完成流程的流轉(zhuǎn)。
工作流引擎的一個重要功能就是控制過程實例和活動實例的狀態(tài)轉(zhuǎn)換。工作流管理聯(lián)盟的參考模型中為過程實例的運行狀態(tài)和活動實例的狀態(tài)進(jìn)行了定義,并給出了狀態(tài)轉(zhuǎn)換的條件。圖3描述了活動實例各個狀態(tài)之間的轉(zhuǎn)換。
圖3 活動實例狀態(tài)轉(zhuǎn)換圖
本文提出基于Internet平臺的工作流管理系統(tǒng),利用Web Service技術(shù)實現(xiàn)工作流管理原型系統(tǒng)的設(shè)計和實現(xiàn),解決了傳統(tǒng)工作流缺乏柔性,相互之間無法互操作,不能及時響應(yīng)變化等特點,提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,提高了工作流系統(tǒng)的應(yīng)用范圍,有效地促進(jìn)工作流管理系統(tǒng)的發(fā)展空間。
[1]范玉順,吳 澄.基于工作流的CIMS應(yīng)用集成支持系統(tǒng)研究[J].計算機(jī)工程與應(yīng)用,2000(2):6-11.
[2]蔣 理.計算機(jī)信息及網(wǎng)絡(luò)安全實用教程[M].北京:中國水利水電出版社,2009:94.
[3]孫榮勝,徐天鵬.Web Service與CORBA、DCOM三種分布式計算機(jī)模型的互操作性[J].江南大學(xué)學(xué)報(自然科學(xué)版),2003(1):28-31.
[4]史美林,楊光信,向 勇,等.一個基于Web的工作流管理系統(tǒng)[J].蘭州大學(xué)學(xué)報(自然科學(xué)學(xué)版),1999(8):76-80.
Research and Implementation of Web Service Based Workflow Management System
WANG Xiao-Ping,KE Min-Yi
(School of Computer Science,Hubei University of Technology,Wuhan 430068,China)
In view of the current workflow management system problems,this paper,based on the traditional workflow management system and web service based technology,proposed web-service-based workflow system model;and based on this model,web service is introduced.The strong points of web service under the internet environment,such as dynamic distribution,discovery and integration,can better solve the problems,such as the lack of workflow flexibility,the lack of interoperability and the lack of timely response,thus has improved workflow efficiency and quality and has greatly enhanced the scope of the workflow system,and promoted the development of workflow management system.
web service;workflow;management system
book=89,ebook=133
TP393
A
1008-4738(2010)04-0089-02
2010-06-02
王曉萍(1971-),女,十堰職業(yè)技術(shù)學(xué)院機(jī)械系講師,湖北工業(yè)大學(xué)計算機(jī)工程學(xué)院在讀碩士。