999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種SOA的工作流管理系統(tǒng)的框架設(shè)計

2018-03-02 07:29:53
智能計算機(jī)與應(yīng)用 2018年1期
關(guān)鍵詞:引擎服務(wù)

王 暢

(江蘇教育學(xué)院 運(yùn)河分院, 江蘇 邳州 221300)

引言

傳統(tǒng)的工作流技術(shù)已經(jīng)無法滿足在信息技術(shù)與互聯(lián)網(wǎng)技術(shù)飛速發(fā)展的背景下對跨企業(yè)、跨地域合作的需求。這就對工作流技術(shù)提出了新的任務(wù)命題,旨在順應(yīng)當(dāng)前企業(yè)業(yè)務(wù)正日趨廣闊的環(huán)境潮流走向。SOA(Service Oriented Architecture)體系架構(gòu)的提出能夠針對這一狀況,采用模塊化的思路和方式來響應(yīng)系統(tǒng)運(yùn)行中所面臨的新的業(yè)務(wù)需求[1],達(dá)到提升系統(tǒng)可重用性和靈活性的目的。

基于以上原因,研究、設(shè)計了一種基于SOA的工作流管理系統(tǒng)的五層框架,在業(yè)務(wù)邏輯層加入Web服務(wù)接口,將每個業(yè)務(wù)活動封裝為對應(yīng)的Web服務(wù),實現(xiàn)在分布式網(wǎng)絡(luò)環(huán)境下的協(xié)同交互,滿足協(xié)調(diào)組裝式應(yīng)用需求,有效地拓展了工作流的功能,提高了工作效率。

1 SOA的工作流管理系統(tǒng)的業(yè)務(wù)集成與互操作

1.1 業(yè)務(wù)集成

在辦公自動化水平和程度日趨走高的今天,企業(yè)之間業(yè)務(wù)、信息往來的數(shù)據(jù)已經(jīng)延伸到更為復(fù)雜的文檔領(lǐng)域。在分布異構(gòu)的環(huán)境下,由于企業(yè)間異構(gòu)的系統(tǒng)對各自文檔的描述是基于不同的操作系統(tǒng)、編程語言和網(wǎng)絡(luò)環(huán)境,這些因素會導(dǎo)致企業(yè)間的業(yè)務(wù)集成受到大大的限制,只能在對等體系結(jié)構(gòu)的狀態(tài)下建立聯(lián)系。在SOA架構(gòu)下業(yè)務(wù)的集成可以通過如下方面設(shè)定內(nèi)容研發(fā):

(1)業(yè)務(wù)流程建模。為了達(dá)到企業(yè)合作伙伴間的工作流互訪,在企業(yè)內(nèi)部建立模型的時候,對外公開其用于交互的接口,實現(xiàn)不同工作流模型的連接。

(2)信息的描述。WSDL是一種使用 XML 編寫的可以用來描述某個 Web Service的文檔,其中包括輸入?yún)?shù)、返回參數(shù)、方法操作等接口定義。正是由于XML是一種支持跨平臺的可擴(kuò)展標(biāo)記語言,再借助SOAP協(xié)議,將尤其適合在Internet環(huán)境下實現(xiàn)業(yè)務(wù)集成。

(3)接口的集成。BPEL也是一種基于XML的執(zhí)行語言,不僅擁有自己的定義接口,并且還定義了借助其他服務(wù)的接口來創(chuàng)建自己的接口,換句話說,BPEL是對WSDL功能的擴(kuò)展,可將現(xiàn)有的服務(wù)重新整合起來,集成了更多的接口,成為一個新的服務(wù)[2],進(jìn)而實現(xiàn)更為復(fù)雜的流程。

1.2 業(yè)務(wù)互操作

企業(yè)間的業(yè)務(wù)集成在SOA架構(gòu)下表現(xiàn)為服務(wù)之間的互操作,這種互操作要求企業(yè)各自的工作流管理系統(tǒng)能夠根據(jù)業(yè)務(wù)流程的復(fù)雜度對服務(wù)做出響應(yīng)。服務(wù)的調(diào)用采用“請求-響應(yīng)”模式。當(dāng)然,在此模式下有的請求要求服務(wù)快速響應(yīng),有的則不然,甚至這種請求是單向的而不需要返回任何結(jié)果。

服務(wù)的調(diào)用一般分為同步調(diào)用和異步調(diào)用。當(dāng)服務(wù)請求者向服務(wù)提供者發(fā)出例如用戶身份或密碼驗證請求的時候,就要求后者能夠盡快應(yīng)對響應(yīng),在給出返回結(jié)果之前,服務(wù)請求者將一直處于等待狀態(tài),這就屬于同步調(diào)用的方式;當(dāng)服務(wù)請求者向服務(wù)提供者發(fā)出例如文件審批請求的時候,此時往往會由于企業(yè)內(nèi)部層級關(guān)系的不同,而不能快速做出響應(yīng),有時甚至需要多達(dá)數(shù)天的時間,而服務(wù)請求者在獲取響應(yīng)之前,仍然可以一方面擔(dān)負(fù)客戶的角色,去請求其他服務(wù),另一方面擔(dān)當(dāng)服務(wù)器的角色,為服務(wù)請求者提供服務(wù),并不會一直處于等待狀態(tài),即邊等待、邊工作,這就屬于異步調(diào)用的方式。

2 SOA的工作流管理系統(tǒng)的架構(gòu)

2.1 總體框架

在SOA的體系結(jié)構(gòu)基礎(chǔ)上,研發(fā)建立了基于SOA的工作流管理系統(tǒng)的總體框架,如圖1所示。其中,即較為詳細(xì)地呈現(xiàn)了不同層次內(nèi)部的構(gòu)件組成以及層與層之間的通信方式。

圖1 基于SOA的工作流管理系統(tǒng)的總體框架

Fig.1TheoverallframeworkofworkflowmanagementsystembasedonSOA

由圖1可知,該系統(tǒng)結(jié)構(gòu)主要由基礎(chǔ)設(shè)施層、數(shù)據(jù)層、服務(wù)層、業(yè)務(wù)邏輯層和客戶層組成。這里針對每一層次的組成構(gòu)件、功能和工作方式做出如下闡釋解析。

(1)基礎(chǔ)設(shè)施層。是系統(tǒng)能夠得以運(yùn)行的軟硬件基礎(chǔ)。

(2)數(shù)據(jù)層。數(shù)據(jù)層主要包括數(shù)據(jù)源、數(shù)據(jù)的加工處理、數(shù)據(jù)中轉(zhuǎn)區(qū)、數(shù)據(jù)倉庫等部分,主要立足于對數(shù)據(jù)的操作管理。數(shù)據(jù)由業(yè)務(wù)系統(tǒng)向數(shù)據(jù)倉庫流動,采用如本次研究中的MySQL作為數(shù)據(jù)庫服務(wù)器,集中對系統(tǒng)中的相關(guān)數(shù)據(jù)進(jìn)行保存、維護(hù)和管理。

(3)服務(wù)層。服務(wù)層由公共服務(wù)和業(yè)務(wù)服務(wù)組成,各種服務(wù)之間的互操作均是基于ESB標(biāo)準(zhǔn)。為實現(xiàn)業(yè)務(wù)信息的集成,提出了如圖2所示的集成方案[3]。

圖2 基于SOA的跨平臺集成方案圖

Fig.2Aschemeofcross-platformintegrationbasedonSOA

(4)業(yè)務(wù)邏輯層。用戶通過WSDL或者通過UDDI(Universal Description Discovery and Integration)服務(wù)注冊中心獲取了Web服務(wù)描述之后,依靠SOAP協(xié)議和BPEL,打破業(yè)務(wù)交互之間的屏障實現(xiàn)分布異構(gòu)的環(huán)境下的數(shù)據(jù)集成和服務(wù)重組,將多個服務(wù)組合起來打造新的服務(wù),擴(kuò)展接口的種類,形成更加復(fù)雜的業(yè)務(wù)。服務(wù)請求者和服務(wù)提供者之間的通信便可以通過SOAP協(xié)議和XML來調(diào)配建立,實現(xiàn)請求和響應(yīng)。

作為工作流管理系統(tǒng)五層框架的核心層級,業(yè)務(wù)邏輯層內(nèi)部的工作過程如圖3所示。

圖3 業(yè)務(wù)邏輯層的工作過程Fig. 3 The work process of business logic layer

由圖3可以發(fā)現(xiàn),在此工作流管理系統(tǒng)框架的業(yè)務(wù)邏輯層中增加了Web服務(wù)接口、UDDI注冊中心[4]等,具備面向?qū)ο蟮奶匦浴T谠搶訉eb服務(wù)接口增設(shè)在工作流執(zhí)行服務(wù)組件中,可以將工作流引擎封裝為Web Service,然后和其它工作流執(zhí)行服務(wù)中的工作流引擎進(jìn)行交互[5],保證多個工作流引擎協(xié)同執(zhí)行工作流實例。此外,在服務(wù)提供者組件中,也加入了Web服務(wù)接口,實例運(yùn)行過程中需要調(diào)用的應(yīng)用程序(包含異構(gòu)應(yīng)用程序)都封裝成Web Service[6],以供服務(wù)請求者直接調(diào)用;通過UDDI注冊中心可以設(shè)定Web服務(wù)的發(fā)布和實現(xiàn)。對于Web服務(wù)調(diào)用者而言,一種方法是通過Web服務(wù)描述語言(WSDL)獲取Web服務(wù)信息,例如函數(shù)接口、參數(shù)、返回值等;另一種方法就是通過UDDI注冊中心,從中獲取已注冊的相關(guān)Web服務(wù)信息[7]。研究至此,才能夠構(gòu)造SOAP報文來調(diào)用該Web服務(wù)的某個函數(shù)接口。

(5)客戶層。客戶層是使用者與系統(tǒng)實施交互的外在表現(xiàn)形式,用戶一般借助瀏覽器訪問各類服務(wù),例如用戶可以對自己需要獲取的數(shù)據(jù)發(fā)出訪問請求,等待服務(wù)提供者的響應(yīng),當(dāng)然也可以通過UDDI進(jìn)行查找、調(diào)用,一旦發(fā)現(xiàn)可以滿足自身需求的服務(wù)時就可直接生成請求調(diào)用。

2.2 工作流引擎的框架設(shè)計

2.2.1 設(shè)計思想

在工作流管理系統(tǒng)五層框架的業(yè)務(wù)邏輯層,工作流引擎是SOA的關(guān)鍵環(huán)節(jié)和系統(tǒng)核心[8],重點對流程定義進(jìn)行解釋并對流程的運(yùn)轉(zhuǎn)加以控制。流程實例滿足一定條件后即會啟動,引擎調(diào)用相應(yīng)的Web服務(wù),在關(guān)聯(lián)活動間傳遞數(shù)據(jù)信息和控制信息,并在活動執(zhí)行的過程中控制工作流導(dǎo)向,從而推動整個業(yè)務(wù)流程的全面展開與運(yùn)行。

2.2.2 框架設(shè)計

SOA架構(gòu)下的參與交互的各工作流引擎被封裝為Web Service,具體的細(xì)節(jié)在其內(nèi)部實現(xiàn),依靠對外提供的統(tǒng)一接口完成互操作,這種互操作可以是工作流引擎之間的互操作,也可以是工作流引擎與用戶之間的互操作,但不論是何種互操作,都基于SOAP的標(biāo)準(zhǔn)。

以WfMC(工作流管理聯(lián)盟)工作流參考模型為標(biāo)準(zhǔn),在傳統(tǒng)工作流引擎內(nèi)部結(jié)構(gòu)的基礎(chǔ)之上,設(shè)計研發(fā)了一種基于SOA的工作流引擎模型,其中主要包括解析器、執(zhí)行器、異常處理器、動態(tài)服務(wù)代理器、客戶端接口等部件。本文研究得到的工作流引擎的模型框架如圖4所示。

接下來,針對構(gòu)成基于SOA的工作流引擎模型框架的重點功能模塊可做如下設(shè)計論述。

(1)解析器。解析器的功能類似于Java語言中的編譯器和解釋器,在Java語言中,由編譯器將程序源代碼編譯為中間代碼,再由解釋器將中間代碼解釋為計算機(jī)可以直接識別的機(jī)器碼。而在此框架中,解析器的主要功能是讀取描述工作流流程的文本,并將其解析成能夠被工作流引擎直接執(zhí)行的模板對象。

圖4 工作流引擎框架Fig. 4 Architecture of a workflow engine

此外,解析器的輸入對象除了工作流流程文件以外,還包括目標(biāo)數(shù)據(jù)庫。此目標(biāo)數(shù)據(jù)庫用來說明被工作流引擎解析而成的模板對象所應(yīng)流向的流程定義庫,從而滿足工作流的需求。

(2)執(zhí)行器。執(zhí)行器是此工作流引擎的核心部件,主要用于對業(yè)務(wù)邏輯運(yùn)轉(zhuǎn)解析,通過與外部資源的交互,執(zhí)行具體的業(yè)務(wù)實例。可以發(fā)現(xiàn),執(zhí)行器的運(yùn)轉(zhuǎn)依賴于解析器解析生成的流程文件,同時還需要建立與外部資源的聯(lián)系[9]。在業(yè)務(wù)活動執(zhí)行過程中,通過日志管理的方法監(jiān)控和記錄過程中各步驟。當(dāng)某一項業(yè)務(wù)活動執(zhí)行完畢以后,再根據(jù)業(yè)務(wù)規(guī)則選擇合適的路由。

(3)動態(tài)服務(wù)代理器。動態(tài)服務(wù)代理器的主要作用是查找服務(wù)和調(diào)用服務(wù)。在具體的業(yè)務(wù)執(zhí)行過程中,需要查找相應(yīng)的Web服務(wù),然后在查找成功的基礎(chǔ)上,由工作流引擎對其進(jìn)行解析、調(diào)用。

在SOA的體系結(jié)構(gòu)下,工作流引擎對服務(wù)的綁定和調(diào)用分為靜態(tài)和動態(tài)兩種方式。在靜態(tài)綁定的方式下,工作流引擎直接對所需服務(wù)賦以解析和執(zhí)行;在動態(tài)綁定的方式下,由動態(tài)服務(wù)代理器根據(jù)Web服務(wù)描述信息,形成相應(yīng)的SOAP請求信息。

當(dāng)出現(xiàn)工作流引擎執(zhí)行的Web服務(wù)結(jié)果不滿意或服務(wù)不可用的情況時,動態(tài)服務(wù)代理器將根據(jù)服務(wù)描述信息再次搜尋所需服務(wù)。在動態(tài)服務(wù)代理器的設(shè)計過程中,結(jié)合自身的功能特點,服務(wù)匹配器的運(yùn)轉(zhuǎn)需要監(jiān)聽執(zhí)行器,服務(wù)優(yōu)選器的啟動則觸發(fā)需要服務(wù)匹配器,代理執(zhí)行引擎又要求先接收到服務(wù)優(yōu)選器傳來的服務(wù)列表。服務(wù)匹配器可用來接收Web服務(wù)描述信息并向UDDI發(fā)出SOAP請求,同

時還可用來接收UDDI反饋的服務(wù)列表;服務(wù)優(yōu)選器提供一定的選擇機(jī)制對服務(wù)列表的服務(wù)進(jìn)行篩選與排序,并覆蓋此前的服務(wù)列表;代理執(zhí)行引擎對Web服務(wù)做出含義解析,并向執(zhí)行器反饋得到的結(jié)果,進(jìn)而確定后續(xù)流程的路徑。

(4)異常處理器。異常處理器的存在主要是對業(yè)務(wù)流程的執(zhí)行過程中出現(xiàn)的系統(tǒng)異常、任務(wù)異常進(jìn)行容錯處理或補(bǔ)償和恢復(fù)操作,以保證業(yè)務(wù)流程能夠順利、正常地運(yùn)轉(zhuǎn)。

(5)客戶端接口。借助客戶端接口可以與工作流引擎建立相應(yīng)的數(shù)據(jù)交換,借助監(jiān)控管理工具對工作流管理系統(tǒng)中的相關(guān)數(shù)據(jù)進(jìn)行管理,并監(jiān)控業(yè)務(wù)流程的執(zhí)行,根據(jù)流程運(yùn)轉(zhuǎn)的情況或運(yùn)行過程中出現(xiàn)的問題發(fā)出掛起、停止、恢復(fù)等命令。

3 結(jié)束語

本文對基于SOA的工作流管理系統(tǒng)的框架作了研究和設(shè)計,將業(yè)務(wù)流程封裝為Web服務(wù),使工作流可以靈活地進(jìn)行業(yè)務(wù)重組和編排,信息、數(shù)據(jù)等資源實現(xiàn)共享變得更加簡單,有效地解決了企業(yè)“信息孤島”的問題,對跨企業(yè)、跨地域的業(yè)務(wù)流程管理、業(yè)務(wù)架構(gòu)提供了強(qiáng)大的支持[10]。

[1] 劉霓,錢曉群. SOA技術(shù)在鐵路旅客服務(wù)信息系統(tǒng)的應(yīng)用研究[J]. 鐵路計算機(jī)應(yīng)用,2008,17(6):18-20.

[2] 李敏. 基于SOA的工作流技術(shù)的研究[D]. 曲阜:曲阜師范大學(xué),2009.

[3] 陳增發(fā). 高校教務(wù)管理系統(tǒng)研究與實現(xiàn)[D]. 蘇州:蘇州大學(xué),2008.

[4] 趙廣輝,鐘珞,夏紅霞,等. 基于 WEB 的選課系統(tǒng)的設(shè)計與實現(xiàn)[J]. 武漢理工大學(xué)學(xué)報,2005,27(2):50-53.

[5] 張文軍. Web 服務(wù)技術(shù)在工作流管理系統(tǒng)中的應(yīng)用研究[D]. 沈陽:沈陽工業(yè)大學(xué),2009.

[6] 高峰. 基于Web Services的高校科研信息管理系統(tǒng)的設(shè)計與實現(xiàn)[D]. 蘭州:蘭州理工大學(xué),2013.

[7] 陸小芳,付心建. Web服務(wù)的兩種調(diào)用模型的比較及開發(fā)[J]. 北京建筑工程學(xué)院學(xué)報,2005,25(1):78-80.

[8] 劉莎. 基于SOA的工作流引擎設(shè)計與實現(xiàn)[D]. 重慶:重慶大學(xué),2008.

[9] 蔡孝武,韓永國,藍(lán)科. 一種輕量級工作流引擎的研究和設(shè)計[J]. 計算機(jī)工程,2010,36(20):78-79,82.

[10]管紅杰,王珂,江海峰,等. SOA架構(gòu)的工作流管理系統(tǒng)的研究與應(yīng)用[J]. 計算機(jī)工程與設(shè)計,2011,32(5):1654-1657.

猜你喜歡
引擎服務(wù)
以學(xué)促干 挺膺擔(dān)當(dāng) 激活砥礪前行的紅色引擎
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
三生 三大引擎齊發(fā)力
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
主站蜘蛛池模板: 91精品免费久久久| 日韩一区精品视频一区二区| 国产精品极品美女自在线网站| 高清亚洲欧美在线看| 亚洲大尺码专区影院| 久久国产黑丝袜视频| 人妻免费无码不卡视频| 天堂va亚洲va欧美va国产| 日韩欧美中文在线| 日本黄色a视频| 亚洲综合18p| 久久这里只有精品国产99| 欧日韩在线不卡视频| 久久公开视频| 国产激情影院| 国产浮力第一页永久地址| AⅤ色综合久久天堂AV色综合| 深夜福利视频一区二区| 亚洲天堂色色人体| 日韩人妻精品一区| 一区二区三区国产| 久久精品这里只有国产中文精品 | 国产理论最新国产精品视频| 无码国产伊人| 日韩欧美国产成人| www.亚洲一区二区三区| 色综合天天操| 久久久久无码国产精品不卡| 欧美一区二区三区欧美日韩亚洲 | 亚洲va视频| 手机在线免费不卡一区二| 亚洲精品色AV无码看| 无码啪啪精品天堂浪潮av| 亚洲精品人成网线在线 | 久久亚洲美女精品国产精品| 亚洲国产综合精品一区| 国产原创演绎剧情有字幕的| 久久国产乱子伦视频无卡顿| 久久久久夜色精品波多野结衣| 国产农村妇女精品一二区| 99免费视频观看| 国产精品va免费视频| 国产男女XX00免费观看| 亚洲永久精品ww47国产| 92午夜福利影院一区二区三区| 国产午夜精品鲁丝片| 在线看片国产| 亚洲黄色网站视频| 欧美精品啪啪| 亚卅精品无码久久毛片乌克兰| 亚洲精品黄| 国产成人夜色91| 欧美一区福利| 亚洲美女一级毛片| 一区二区理伦视频| 成人一级黄色毛片| 久久精品波多野结衣| 亚洲人精品亚洲人成在线| 国产高清无码麻豆精品| 一本大道无码高清| 欧美亚洲香蕉| 狼友av永久网站免费观看| 一级毛片免费观看久| 最新痴汉在线无码AV| 精品国产一二三区| 国产亚洲视频中文字幕视频| 亚洲网综合| 99久久无色码中文字幕| 国产麻豆福利av在线播放| 天天色天天操综合网| 亚洲欧美激情小说另类| 草草影院国产第一页| 无码又爽又刺激的高潮视频| 国产乱人免费视频| 亚洲中文精品久久久久久不卡| 午夜福利亚洲精品| 国内a级毛片| 久久精品aⅴ无码中文字幕| 亚洲综合久久一本伊一区| 亚洲精品视频免费| 久久精品丝袜高跟鞋| 亚洲精品福利视频|