《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于SOA和JBPM的工作流引擎模型
一種基于SOA和JBPM的工作流引擎模型
來源:微型機與應用2013年第15期
張輝棟,盧選民,楊 杰,李成福
(西北工業大學 電子信息學院,陜西 西安710129)
摘要: 工作流技術是實現業務流程自動化的關鍵技術,但現有的工作流技術已不能滿足目前分布式異構和松散耦合的企業信息資源需求。利用SOA技術,結合JBPM,提出了一種基于SOA和JBPM的工作流引擎模型,并對其流程控制與任務管理進行了分析,最后,基于SOAP、WSDL協議和JPDL實現了此工作流引擎,證明了其有效性。
Abstract:
Key words :

摘  要: 工作流技術是實現業務流程自動化的關鍵技術,但現有的工作流技術已不能滿足目前分布式異構和松散耦合的企業信息資源需求。利用SOA技術,結合JBPM,提出了一種基于SOA和JBPM的工作流引擎模型,并對其流程控制與任務管理進行了分析,最后,基于SOAP、WSDL協議和JPDL實現了此工作流引擎,證明了其有效性。
關鍵詞: 工作流引擎;SOA;JBPM;流程實例;模型

 工作流是全部或部分由計算機支持或自動處理的業務過程,目的是為了提高效率、降低生產成本、提高企業整體的生產管理水平和競爭力。但是現代企業信息資源已呈現出一種分布式異構和松耦合的特點,傳統的工作流已不能滿足其功能要求。
 面向服務的體系結構SOA[1](Service-Oriented Architecture)技術將應用程序的不同服務通過這些服務之間定義良好的接口和契約聯系起來,這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。因此,在傳統工作流當中引入SOA技術,發揮兩者的優勢,使工作流具有互操作性、強大的開放性及語言和平臺無關性,可以滿足跨平臺、跨組織、跨部門的分布式的企業應用需求。
本文利用輕量級的開源工作流引擎JBPM(Java Business Process Management),結合SOA,提出了一種基于SOA和JBPM的工作流引擎模型,并對其流程控制與任務管理進行了分析,最后,基于SOAP、WSDL協議和JPDL實現了此工作流引擎,證明了其有效性。
1 基于SOA和JBPM的工作流引擎模型
 基于SOA和JBPM的工作流引擎框架模型如圖1所示,該模型主要由3部分組成:服務提供者、服務請求者和服務代理。


 該模型的工作流程是:工作流引擎將流程定義工具產生XML格式的流程定義文件解析,產生流程實例。然后通過Web服務接口將這個流程實例反映的流程信息封裝成服務形式,發布于服務代理中,供服務請求者查找,服務請求者根據描述信息找到服務提供者并綁定服務提供者,隨后兩者間可以消息傳遞,工作流引擎根據與服務請求者的消息交互完成流程實例。
 (1)服務請求者:當服務請求者需要某項服務時,先在服務代理中查找相關的服務描述信息,然后它與服務提供者提供的服務進行綁定,并且與服務提供者信息交換實現業務任務。
?。?)服務代理:存儲服務提供者發布服務的服務描述,服務消費者向服務代理查詢它所需要的服務,并根據描述與服務提供者綁定。當所請求的服務是服務代理時,服務代理也經常充當服務提供者的角色。
 (3)服務提供者:提供工作流引擎的功能,把工作流引擎提供的服務相關描述信息WSDL發布于服務代理中,供服務請求者查詢綁定。由于本模型中主要是對工作流引擎功能封裝成服務,所以本模型的服務提供者即是工作流引擎模塊。
 此工作流引擎模塊主要包括JBPM工作流引擎和Web服務接口。Web服務接口主要是將工作流引擎發布為服務以和服務請求者交互,最終使得整個流程可被封裝為Web服務并完成服務請求者的需求。
上述模型中的3種角色之間的交互是通過以下3種基本操作來實現的。
 (1)發布服務:服務提供者向服務代理發布他們的服務。其發布的信息包括服務的接口定義、服務提供者所處的位置以及其他可能用到的支持信息和文檔。
?。?)查找服務:服務請求者向服務代理查找他們需要的服務。
 (3)綁定服務:服務消費者與服務提供者提供的具體服務進行綁定,這個綁定的過程主要是用戶的身份驗證和服務確認。
 在上述的服務操作中,服務的發布或查找是通過WSDL協議實現,該協議主要描述Web服務提供的功能、訪問該服務的數據格式與協議要求以及該服務如何定位等內容。服務提供者與服務請求者間的綁定是通過SOAP協議實現的,SOAP是一種輕量的、簡單的、基于XML的協議,它被設計成在Web上交換結構化的和固化的信息。而工作流引擎的流程定義是遵循JPDL協議實現的,在JPDL中提供了任務(tasks)、待處理狀態(wait states)、計時器(timers)、自動處理(automated actions)、事件(event)等術語,并通過圖形化的流程定義,很直觀地描述業務流程。
2 工作流引擎的流程控制與任務管理
2.1 流程調度控制

 工作流的最顯著的優點是實現了流程的自動控制。在工作流引擎中的表現是工作流引擎把流程定義文件解析、實例,生成流程實例也就是一套對象,而這套對象的結構則反映了流程的結構。當流程實例創建完成并進入運行狀態時,流程實例的運行全部依靠工作流引擎的控制。
 在JBPM中,一個運行標記token代表一個流程實例中的一次執行,它是運行時的概念,用來維護流程設計圖中節點的指針。token需要一個信號(signal)來讓流程向前執行。當接收到一個signal,token會通過路徑(弧transition)離開當前所在的結點到達下一個節點。若token已經在Start-State節點,那么就可以開始往前推進,從而促使流程實例往前運行。對于外部操作,觸發流程實例往下運行的操作有兩個:
?。?)強制執行ProcessInstance的signal操作。
?。?)執行TaskInstance的end操作。
 如圖2所示,這兩個操作主要是調用內部的token.signal方法來實現流程實例的推進。
token.signal()方法的一些內部操作如圖3所示。即:確定轉向節點、確定轉向節點的上下文對象、離開本節點、獲取轉向節點的上下文對象、執行節點。當執行完本節點流程會循環進入token.signal()方法,直至完成流程實例。

 

 


 初始態指任務實例被創建成功的狀態,當執行任務的條件滿足后就進入到運行態,任務實例在運行態時,如果由于某些依賴性或者約束性的限制,如必須等待某些任務實例的執行,必須等到它所需要的資源都滿足時才能繼續運行,那么該任務實例就進入到掛起狀態,直到依賴或者約束性的限制得到滿足時,任務實例重新進入運行態,任務實例的運行由于某些原因可能執行失敗,任務實例進人到終止態,當任務成功執行后進入到完成態,任務的執行結束。
 任務實例的一個作用就是支持用戶交互,把數據顯示給用戶并從用戶那里收集數據。任務實例需要從服務請求者輸入數據,然后工作流引擎對數據進行處理操作,最后把信息再通過服務消息傳遞到服務請求者顯示給用戶。JBPM工作流引擎支持對任務實例分配處理器進行擴展開發,實現對特定數據的特定處理操作,同時其支持對任務實例分配給用戶、候選者或泳道。
3 基于SOAP、WSDL協議和JPDL工作流引擎的實現
 本文以數字檔案歸檔流程為例,對圖1所示的模型進行了實現。
?。?)SOAP
 在服務提供者與服務請求者之間的消息交換是通過SOAP協議進行的。SOAP是一種輕量的、簡單的、基于XML的協議,它被設計成在Web上交換結構化的和固化的信息。SOAP協議可以與現存的許多因特網協議和格式結合使用,包括超文本傳輸協議(HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME),它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。同樣,SOAP中消息頭和消息體的機構確保基礎架構消息和服務應用消息的完整性。
下面是SOAP協議部分代碼:
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/
soap-encoding">
<soap:Bodyxmlns:m="http://localhost:8080/
FilearchivingProcess">
<m:GetArchiveTable>
</m:GetArchiveTable>

</soap:Body>
</soap:Envelope>
(2)WSDL
 WSDL是Web服務描述語言,主要描述Web服務提供的功能、訪問該服務的數據格式與協議要求以及該服務如何定位等內容。服務提供者把自己的服務轉換成XML格式的描述語言發布于服務代理中。當服務請求者在服務代理中查找到需要的服務的WSDL時,服務請求者解析其內容,同時確定服務提供者的位置、協議、需求的數據格式、方法信息,最后生成符合的SOAP文件并發送給服務提供者,此時兩者實現連接。
 下面是歸檔流程的WSDL部分代碼:<wsdl:message name="archiveTable">
<wsdl:part element="tns:archiveTable"name="
parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="FilearchivingProcess">
<wsdl:operation name="submit">
<wsdl:input message="tns:archiveTable"
name="archiveTable">
</wsdl:input>
<wsdl:output message="tns:archiveResponse"name="archiveResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:service name="FilearchivingProcessImplService">
<wsdl:port binding="tns:
FilearchivingProcessImplServiceSoapBinding"
name="FilearchivingProcessImplPort">
<soap:address location="http://localhost:8080/
FilearchivingProcess"/>
</wsdl:port>
</wsdl:service>
?。?)JPDL
 JPDL其實是一套XML語言,這套語言有特定的節點,每個節點代表不同的流程定義規則。通過XML對流程進行描述,JBPM去解析這套XML語言,然后把得到的信息存儲到數據庫中。
 下面是歸檔流程的JPDL部分代碼,主要是開始狀態填寫歸檔表,指定管理員,并且有提交動作,同時JBPM需要進行數據處理。
<start-state name="填寫歸檔表">?
<task name="填寫歸檔表">
<assignment
class="com.archive.assign.ApplicantHandler">
</assignment>?
</task>?
<transition to="主管審批"name="主管審批">
<action name="Submit"
class="com.archive.action.SubmitHandler">
</action>
</transition>?
</start-state>

 對于傳統工作流已不能滿足分布式異構和松散耦合的企業信息資源的要求,本文在傳統的工作流技術基礎上,利用SOA技術,結合JBPM,提出了一種基于SOA和JBPM的工作流引擎模型。本文目前主要研究的是模型的構造與工作流引擎的流程管理與任務控制方面,今后主要工作將是對服務并發數的控制與均衡進一步完善。
參考文獻
[1] 毛新生.SOA原理·方法·實踐[M].北京:電子工業出版社,2007.
[2] 胡奇.JBPM4工作流應用開發指南[M].北京:電子工業出版社,2010.
[3] 蔡孝武,韓永國,藍科.一種輕量級工作流引擎的研究與設計[J].計算機工程,2010,36(20):30-33.
[4] 朱永華,張倩,吳俊杰.基于操作的輕量級工作流模型的研究與設計[J].計算機工程與設計,2012,33(1):153-157.
[5] Guo Xiaofeng, Shen Jianjing, Wu Shanming. On Workflow Engine Based on Service-Oriented Architecture[C].2008International Symposium on Information Science and Engieering, Shanghai, 2008.
[6] Wang Huijiao, Huang Tinglei, Chen Zhifen. Research and Design of the Workflow Engine based on Web Services[C].Intelligent Computing and Integrated Systems, Guilin,2010.
[7] Yu Jie, Yu Zhang. The Research and application of Web-Application Based Workflow Engine[C]. 2011Communication Software and Networks, 2011.
[8] HEINIS, THOMAS. Design and evaluation of an autonomic workflow engine[C]. Autonomic Computing, Seattle, WA.2005.
[9] Liu Peng. Research on workflow patterns based on JBPMand JPDL[C]. Computational Intelligence and IndustrialApplication, 2008.
[10] Liu Guanjun, Jiang Changjun, Zhou Mengchu. Interactive Pe-tri Nets[J]. Systems, Man, and Cybernetics: Systems,2013(43):291-302.
[11] KIM K P. BPM-supported social networks discover-y and analysis techniques[C]. Kyonggi Univ.Advanced Communication Technology (ICACT),2013.
[12] DU Y,TAN W, ZHOU M C. Timed compatibility analysis of web servicecomposition: a modular approach based on petri nets[J]. Automation Science and Engineering, 2013:1-13.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美高清hd18日本| 亚洲欧洲日本一区二区三区| 国产精品久久久久久av福利软件| 亚洲日韩中文字幕在线播放| 香蕉乱码成人久久天堂爱免费| 国产精品swag| 激情久久综艺| 国产乱码精品一区二区三区不卡| 亚洲午夜一二三区视频| 亚洲乱码久久| 一区二区三区**美女毛片| 亚洲精品国精品久久99热| 1024日韩| 日韩视频亚洲视频| 99综合在线| 欧美视频中文一区二区三区在线观看| 国产美女搞久久| 久久精品2019中文字幕| 香蕉成人啪国产精品视频综合网| 亚洲电影第三页| 亚洲国产美女精品久久久久∴| 美女精品视频一区| 久久精品国产精品亚洲精品| 欧美一区二区三区在线视频| 一本色道久久加勒比精品| 99国产精品99久久久久久粉嫩| 国产日韩欧美制服另类| 欧美激情精品久久久久久大尺度| 亚洲成人原创| 一区二区高清在线观看| 一本色道久久88综合亚洲精品ⅰ| 免费看亚洲片| 久久aⅴ国产紧身牛仔裤| 欧美日韩国产综合视频在线| 亚洲免费视频在线观看| 国产一区香蕉久久| 欧美乱人伦中文字幕在线| 亚洲四色影视在线观看| 久久夜色撩人精品| 欧美一区二区免费| 久久久久久久久伊人| 久久天堂国产精品| 狂野欧美一区| 亚洲欧美精品在线观看| 99精品视频一区二区三区| 欧美三级在线视频| 亚洲免费中文| 亚洲免费人成在线视频观看| 久久噜噜亚洲综合| 午夜精品一区二区在线观看| 欧美日韩一区二区视频在线| 欧美乱在线观看| 99国产精品| 亚洲午夜视频在线| 国内伊人久久久久久网站视频| 亚洲欧美日韩精品在线| 精品88久久久久88久久久| 欧美电影免费观看高清完整版| 亚洲影院色无极综合| 欧美另类一区| 久久国产婷婷国产香蕉| 久久久精品日韩| 亚洲精品国产精品国产自| 国产亚洲a∨片在线观看| 亚洲一区网站| 免费久久99精品国产自| 久久激情五月婷婷| 国产在线视频欧美一区二区三区| 亚洲欧洲日本mm| 久久精品久久综合| 久久久久久久性| 国产欧美在线| 久久黄色网页| 在线亚洲观看| 午夜精品三级视频福利| 麻豆久久久9性大片| 久久成人综合网| 日韩一级精品视频在线观看| 夜夜爽www精品| 欧美成人免费在线观看| 伊甸园精品99久久久久久| 在线观看欧美日本| 国产欧美二区| 欧美国产一区二区| 在线一区视频| 国产精品一二| 国产精品久久波多野结衣| 欧美日韩国产不卡在线看| 欧美日韩一区二区在线| 99精品欧美一区二区三区| 久久一区二区视频| 一本大道久久a久久综合婷婷| 久久久精品2019中文字幕神马| 麻豆精品传媒视频| 在线视频国内自拍亚洲视频| 欧美一区二区三区在线看| 国产精品扒开腿爽爽爽视频| 久久中文字幕导航| 国产精品美女久久久久aⅴ国产馆| 欧美精品激情blacked18| 欧美日韩一本到| 日韩午夜在线观看视频| 黑丝一区二区| 国产资源精品在线观看| 欧美在线视频全部完| 欧美精品电影在线| 国产曰批免费观看久久久| 久久激情视频| 久久久久久久高潮| 黄色av成人| 最新国产成人在线观看| 亚洲免费在线电影| 一区二区三区亚洲| 亚洲精品一区二区三区福利| 久久综合狠狠综合久久激情| 亚洲免费久久| 欧美国产大片| 欧美激情国产精品| 久久久久久综合| 欧美日韩精品免费观看| 欧美片在线播放| 久久免费少妇高潮久久精品99| 夜夜嗨网站十八久久| 国内精品一区二区三区| 欧美日韩美女一区二区| 亚洲免费大片| 欧美精品在线一区二区| 亚洲午夜av在线| 美女视频网站黄色亚洲| 亚洲精品乱码久久久久久黑人| 免费成人小视频| 亚洲图片欧洲图片日韩av| 国产欧美一区二区三区视频| 欧美四级电影网站| 91久久精品日日躁夜夜躁国产| 久久夜色精品国产欧美乱极品| 久久精品一二三区| 欧美私人啪啪vps| 亚洲人成艺术| 亚洲视屏一区| 亚洲精品视频在线观看免费| 国产精品私房写真福利视频| 久久精品99久久香蕉国产色戒| 国产精品一区二区在线观看不卡| 韩国一区二区三区美女美女秀| 久久久久久香蕉网| 国产亚洲欧美日韩在线一区| 国产麻豆一精品一av一免费| 欧美激情第一页xxx| 日韩亚洲精品视频| 欧美无乱码久久久免费午夜一区| 欧美性猛交99久久久久99按摩| 欧美精品大片| 久久精品在线观看| 鲁大师成人一区二区三区| 国产精品99免视看9| 欧美日韩性视频在线| 久久尤物视频| 国产精品久久久久久av福利软件| 欧美日韩精品免费观看视频完整| 亚洲高清视频在线观看| 久久久精品久久久久| 久久精品国产欧美激情| 欧美激情亚洲综合一区| 免费在线播放第一区高清av| 亚洲免费av观看| 亚洲综合激情| 欧美一区国产二区| 卡通动漫国产精品| 国产亚洲激情视频在线| 伊人色综合久久天天| 麻豆国产精品一区二区三区| 亚洲精品久久7777| 欧美国产日韩视频| 欧美日本韩国一区二区三区| 欧美日韩亚洲一区二区三区| 久久久久国产精品一区三寸| 国产精品扒开腿爽爽爽视频| 欧美激情视频一区二区三区免费| 国精品一区二区三区| 亚洲欧美日韩成人高清在线一区| 国产亚洲精品aa午夜观看| 99这里只有精品| 一区二区三区精品视频在线观看| 亚洲欧洲精品一区二区精品久久久| 国产精品欧美日韩一区二区| 欧美三级视频| 亚洲电影毛片| 国产日本欧洲亚洲| 在线日韩中文字幕| 久久爱另类一区二区小说| 日韩一区二区高清| 欧美在线观看网址综合| 一本一本久久| 国产精品男人爽免费视频1| 亚洲免费在线看| 日韩视频一区| 亚洲一区在线免费观看| 红桃av永久久久| 欧美一级大片在线免费观看| 欧美一区二区精美| 欧美午夜免费| 国产亚洲va综合人人澡精品| 亚洲欧洲日本在线| 午夜免费在线观看精品视频| 榴莲视频成人在线观看| 一区二区三区**美女毛片| 宅男噜噜噜66一区二区| 久久亚洲春色中文字幕久久久| 亚洲福利视频网站| 亚洲黄色大片| 国产区精品视频| 激情综合在线| 国产精品美女主播在线观看纯欲| 亚洲免费av电影| 欧美成人免费视频| 欧美一区二区三区的| 伊人精品在线| 欧美日韩国产成人高清视频| 久久在线观看视频| 欧美性大战久久久久久久| 欧美特黄a级高清免费大片a级| 久久视频这里只有精品| 国产一区二区三区成人欧美日韩在线观看| 久久―日本道色综合久久| 亚洲人成毛片在线播放女女| 欧美成人精品一区二区| 国产精品久久久久久久app| 欧美日韩在线大尺度| 日韩亚洲精品电影| 在线观看精品视频| 亚洲二区视频在线| 亚洲电影av在线| 一区二区三区高清在线观看| 欧美日韩中文字幕精品| 美女999久久久精品视频| 欧美精品成人91久久久久久久| 欧美一区二区三区在线| 久久精品国产99精品国产亚洲性色| 欧美精品免费在线| 国产精品久久久久aaaa九色| 中国女人久久久| 亚洲三级免费电影| 欧美激情亚洲一区| 激情国产一区二区| 亚洲午夜在线观看视频在线| 国产一区二区视频在线观看| 欧美sm重口味系列视频在线观看| 欧美激情欧美激情在线五月| 亚洲电影专区| 欧美久久影院| 91久久国产综合久久91精品网站| 怡红院av一区二区三区| 亚洲一区欧美| 国产原创一区二区| 欧美激情一区二区三区蜜桃视频| 亚洲一区三区在线观看| 亚洲精品一区二区在线| 欧美久久影院| 91久久国产精品91久久性色| 国产一本一道久久香蕉| 国产午夜久久| 在线不卡免费欧美| 欧美日本亚洲韩国国产| 欧美日韩免费观看一区=区三区| 在线观看国产一区二区| 国产亚洲精品久久久久婷婷瑜伽| 亚洲国产日韩美| 99国产精品久久久久久久成人热| 国产在线播精品第三| 亚洲深夜福利在线| 洋洋av久久久久久久一区| 欧美午夜一区二区三区免费大片| 欧美制服丝袜第一页| 一区二区三区在线免费观看| 国产精品v日韩精品v欧美精品网站| 欧美日本亚洲视频| 久久久久在线| 亚洲国产精品123| 亚洲美女免费精品视频在线观看| 亚洲精品久久久蜜桃| 老牛嫩草一区二区三区日本| 免费在线日韩av| 欧美一级专区| 在线不卡中文字幕| 国产亚洲一区二区三区在线观看| 亚洲欧美日韩一区二区| 欧美日韩1区2区3区| 性欧美暴力猛交另类hd| 久久久久久一区二区三区| 久久久久久久久岛国免费| 久久伊伊香蕉| 国产精品亚洲激情| 中日韩午夜理伦电影免费| 国产在线国偷精品产拍免费yy| 午夜天堂精品久久久久| 欧美午夜电影完整版| 亚洲黄色av一区| 免费日韩视频| 亚洲午夜电影在线观看| 亚洲欧美一区二区视频| 亚洲三级免费观看| 欧美激情偷拍| 欧美国产精品久久| 国产精品白丝黑袜喷水久久久| 亚洲天堂偷拍| 久久久久久有精品国产| 欧美日韩高清在线播放| 国产日韩欧美一区二区| 国产欧美韩日| 老鸭窝亚洲一区二区三区| 国语自产精品视频在线看一大j8| 欧美一区二区免费视频| 亚洲精品久久久久久久久久久久| 亚洲麻豆一区| 亚洲精品在线免费观看视频| 久久精品视频免费观看| 亚洲欧美国产毛片在线| 国产日韩欧美一区二区三区四区| 99国产精品99久久久久久| 亚洲精品国产拍免费91在线| 伊人久久av导航| 久久综合久久综合九色| 国产乱人伦精品一区二区| 久久手机免费观看| 欧美日韩精品欧美日韩精品一| 国产精品日韩精品欧美精品| 亚洲一区二区三区成人在线视频精品|