王曉萍,柯敏毅
(湖北工業(yè)大學(xué)計(jì)算機(jī)工程學(xué)院,湖北武漢430068)
基于Web Service的工作流管理系統(tǒng)的研究與實(shí)現(xiàn)
王曉萍,柯敏毅
(湖北工業(yè)大學(xué)計(jì)算機(jī)工程學(xué)院,湖北武漢430068)
針對(duì)目前的工作流管理系統(tǒng)存在的問(wèn)題,本文在傳統(tǒng)工作流管理系統(tǒng)和目前流行的Web服務(wù)技術(shù)的基礎(chǔ)上,提出了基于Web服務(wù)的工作流體系模型,該模型在傳統(tǒng)工作流體系模型的基礎(chǔ)上,引入Web服務(wù)。Web服務(wù)在Internet分布式環(huán)境下的動(dòng)態(tài)發(fā)布、發(fā)現(xiàn)和集成應(yīng)用的特點(diǎn),能夠很好地解決工作流程缺乏柔性,相互之間無(wú)法互操作,不能及時(shí)響應(yīng)變化等缺點(diǎn),提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,大大提高工作流系統(tǒng)的應(yīng)用范圍,促進(jìn)了工作流管理系統(tǒng)的發(fā)展。
Web服務(wù);工作流;工作流管理體系;工作流引擎
工作流(workflow)是企業(yè)業(yè)務(wù)流程的計(jì)算機(jī)實(shí)現(xiàn),工作流管理系統(tǒng)是企業(yè)實(shí)行過(guò)程管理的最重要的和最有力的支持工具[1]。工作流管理軟件主要完成企業(yè)業(yè)務(wù)過(guò)程的自動(dòng)化執(zhí)行與監(jiān)控,將通過(guò)建模得到的企業(yè)業(yè)務(wù)過(guò)程模型進(jìn)行實(shí)例化并且投入運(yùn)行,對(duì)運(yùn)行的過(guò)程模型中的活動(dòng)情況進(jìn)行調(diào)度、管理和監(jiān)控。然而,目前的工作流管理系統(tǒng)存在以下問(wèn)題:靜態(tài)約束柔性差,缺乏對(duì)Internet分布式環(huán)境的支持,可重用性和互操作性差,等等。針對(duì)這些問(wèn)題,本文在深入研究傳統(tǒng)工作流管理系統(tǒng)和目前流行的Web服務(wù)技術(shù)的基礎(chǔ)上,提出了基于Web服務(wù)的工作流體系模型,該模型在傳統(tǒng)工作流體系模型的基礎(chǔ)上,引入Web服務(wù)。利用Web Service在Internet分布式環(huán)境下的特點(diǎn),能夠很好地解決工作流程缺乏柔性,相互之間無(wú)法互操作,不能及時(shí)響應(yīng)變化等缺點(diǎn),提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,大大提高工作流系統(tǒng)的應(yīng)用范圍,有效地促進(jìn)了工作流管理系統(tǒng)的發(fā)展。
1.1 Web簡(jiǎn)介
Web又稱World Wide Web,它把 Internet上現(xiàn)有的資源全部鏈接起來(lái),使用戶能在Internet上已經(jīng)建立Web服務(wù)器的所有站點(diǎn)提供超文本媒體資源文檔。Web能夠把包括文字、圖形、聲音、影像等各種類型的信息緊密集成在一起,不僅提供圖形界面的信息快速查詢,而且還可以通過(guò)同樣的圖形界面與 Internet的其他服務(wù)器對(duì)接。Web服務(wù)體系由Web服務(wù)器、瀏覽器和通信協(xié)議組成,通信協(xié)議 HTTP能夠傳輸任何類型的數(shù)據(jù)對(duì)象來(lái)滿足Web服務(wù)器與客戶之間多媒體通信的需要[2]。
1.2 Web Service的體系結(jié)構(gòu)
Web Service的體系結(jié)構(gòu)由圖1所示:由 Web服務(wù)提供者、Web服務(wù)請(qǐng)求者、Web服務(wù)中介者(即服務(wù)注冊(cè)代理)三個(gè)角色參與,由發(fā)布、發(fā)現(xiàn)、綁定三個(gè)動(dòng)作構(gòu)建?!鞍l(fā)布”是為了讓客戶知道某個(gè)Web服務(wù)的存在和相關(guān)信息;“發(fā)現(xiàn)”是為了找到合適的Web服務(wù);“綁定”則是在提供者與請(qǐng)求者之間建立某種聯(lián)系。Web服務(wù)提供者等待為其他服務(wù)和用戶提供自己已有的功能;Web服務(wù)請(qǐng)求者利用SOAP(Simple Object Access Protocol)協(xié)議向Web服務(wù)提供者發(fā)送服務(wù)請(qǐng)求;Web服務(wù)中介者充當(dāng)管理者的角色,它把一個(gè)Web服務(wù)請(qǐng)求者與合適的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],整個(gè)系統(tǒng)在原有的工作流系統(tǒng)基礎(chǔ)上,增加了Web服務(wù)的支撐平臺(tái)?,F(xiàn)在將各部分的功能作簡(jiǎn)單介紹:
(1)過(guò)程定義工具:為工作流客戶提供的實(shí)際業(yè)務(wù)過(guò)程進(jìn)行分析和建模的方法,原型采用UML活動(dòng)圖作為描述流程模型的手段;
(2)工作流執(zhí)行服務(wù):借助工作流模型,激活并解釋過(guò)程定義的部分或者全部?jī)?nèi)容,同外部的應(yīng)用程序交互,完成工作流過(guò)程實(shí)例的創(chuàng)建、執(zhí)行與管理,為工作流提供運(yùn)行環(huán)境;
(3)被調(diào)用的 Web Service:對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理,用于過(guò)程實(shí)例在運(yùn)行過(guò)程中調(diào)用;
(4)工作流管理工具:對(duì)過(guò)程實(shí)例的狀態(tài)進(jìn)行監(jiān)控與管理。
該系統(tǒng)與傳統(tǒng)的工作流系統(tǒng)的區(qū)別是:首先,工作流管理的一切活動(dòng)是發(fā)布于 Internet上的 Web Service,獨(dú)立于平臺(tái)和實(shí)現(xiàn)語(yǔ)言;其次,原型系統(tǒng)同業(yè)務(wù)應(yīng)用之間采用基于HTTP和XML的SOAP協(xié)議,通信過(guò)程沒(méi)有任何請(qǐng)求代理;另外,工作流本身又可以定義為一個(gè)新的Web Service被掛入到一個(gè)新的業(yè)務(wù)流程中。由此可見(jiàn),原型系統(tǒng)同傳統(tǒng)的工作流系統(tǒng)相比具有更高的靈活性和可擴(kuò)展性,對(duì)于合作雙方而言,不僅交互方式更加靈活,而且交易成本也降低了許多。
基于系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì),采用了Java、XML (extensible Markup Language)技術(shù),基于J2EE平臺(tái),設(shè)計(jì)實(shí)現(xiàn)了面向Web Service技術(shù)的分布式工作流系統(tǒng)。下面簡(jiǎn)單介紹工作流引擎的實(shí)現(xiàn)機(jī)制。
工作流引擎又稱“工作流機(jī)”,是工作流管理系統(tǒng)的核心部分[4],主要提供了對(duì)于工作流定義的解析以及流程流轉(zhuǎn)的支持。工作流定義文件描述了業(yè)務(wù)的交互邏輯,工作流引擎通過(guò)解析此工作流定義文件按照業(yè)務(wù)的交互邏輯進(jìn)行業(yè)務(wù)的流轉(zhuǎn),通常通過(guò)參考某種模型來(lái)進(jìn)行設(shè)計(jì),通過(guò)調(diào)度算法來(lái)進(jìn)行流程的流轉(zhuǎn)(流程的啟動(dòng)、終止、掛起、恢復(fù)等),通過(guò)各種環(huán)節(jié)調(diào)度算法(SPLIT、AND、OR等)來(lái)實(shí)現(xiàn)對(duì)于環(huán)節(jié)的流轉(zhuǎn)(環(huán)節(jié)的合并、分叉、選擇、條件性的選擇等)。
通常工作流引擎采用的核心調(diào)度算法主要有FSM以及PetriNet兩種,基于調(diào)度算法來(lái)完成流程的流轉(zhuǎn)。
工作流引擎的一個(gè)重要功能就是控制過(guò)程實(shí)例和活動(dòng)實(shí)例的狀態(tài)轉(zhuǎn)換。工作流管理聯(lián)盟的參考模型中為過(guò)程實(shí)例的運(yùn)行狀態(tài)和活動(dòng)實(shí)例的狀態(tài)進(jìn)行了定義,并給出了狀態(tài)轉(zhuǎn)換的條件。圖3描述了活動(dòng)實(shí)例各個(gè)狀態(tài)之間的轉(zhuǎn)換。
圖3 活動(dòng)實(shí)例狀態(tài)轉(zhuǎn)換圖
本文提出基于Internet平臺(tái)的工作流管理系統(tǒng),利用Web Service技術(shù)實(shí)現(xiàn)工作流管理原型系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),解決了傳統(tǒng)工作流缺乏柔性,相互之間無(wú)法互操作,不能及時(shí)響應(yīng)變化等特點(diǎn),提高了工作流程執(zhí)行效率和服務(wù)質(zhì)量,提高了工作流系統(tǒng)的應(yīng)用范圍,有效地促進(jìn)工作流管理系統(tǒng)的發(fā)展空間。
[1]范玉順,吳 澄.基于工作流的CIMS應(yīng)用集成支持系統(tǒng)研究[J].計(jì)算機(jī)工程與應(yīng)用,2000(2):6-11.
[2]蔣 理.計(jì)算機(jī)信息及網(wǎng)絡(luò)安全實(shí)用教程[M].北京:中國(guó)水利水電出版社,2009:94.
[3]孫榮勝,徐天鵬.Web Service與CORBA、DCOM三種分布式計(jì)算機(jī)模型的互操作性[J].江南大學(xué)學(xué)報(bào)(自然科學(xué)版),2003(1):28-31.
[4]史美林,楊光信,向 勇,等.一個(gè)基于Web的工作流管理系統(tǒng)[J].蘭州大學(xué)學(xué)報(bào)(自然科學(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ì)算機(jī)工程學(xué)院在讀碩士。