《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 服務構件模型的研究與設計
服務構件模型的研究與設計
來源:微型機與應用2014年第7期
丁向東,楊 靜
(貴州大學 計算機科學與技術學院,貴州 貴陽550025)
摘要: 針對如何更高效和準確地將已存在的Web服務集成到業(yè)務流程中,提出了服務構件模型。該模型以Web服務為業(yè)務功能實現的基礎,用BPMN建模用戶需求,輸出為可執(zhí)行的BPEL模型。該服務構件模型內部對原子服務進行了重新定義,便于服務的查找;而且加入了服務的QoS特征,便于服務的選擇。
Abstract:
Key words :

摘  要: 針對如何更高效和準確地將已存在的Web服務集成到業(yè)務流程中,提出了服務構件模型。該模型以Web服務為業(yè)務功能實現的基礎,用BPMN建模用戶需求,輸出為可執(zhí)行的BPEL模型。該服務構件模型內部對原子服務進行了重新定義,便于服務的查找;而且加入了服務的QoS特征,便于服務的選擇。
關鍵詞: Web服務;業(yè)務流程管理;BPMN;BPEL

 企業(yè)應用的復雜度越來越大,關鍵性遺留系統(tǒng)也越來越多,為了解決因遺留系統(tǒng)而出現的信息孤島、企業(yè)間的業(yè)務交互以及數據共享等問題,面向服務架構SOA(Service-Oriented Architecture)、業(yè)務流程管理BPM(Business Process Management)以及Web服務等技術得到了很大的發(fā)展,并且相關的實現技術也日益成熟[1]。
 Web服務是SOA的主要實現技術,它提供了標準的訪問接口以便在服務調用及組合方面變得更加方便[2]。目前,存在大量可用的Web服務,包括企業(yè)內部的、商用的以及開源的,它們各自有優(yōu)勢,怎樣選擇一個能夠滿足業(yè)務需求以及非功能需求的服務便是一個比較難的問題?,F在的應用系統(tǒng)在業(yè)務上變得越來越復雜,這些業(yè)務不只是針對于本系統(tǒng),還可能與其他系統(tǒng),特別是與其他公司的系統(tǒng)進行交互。由此,針對于每一項業(yè)務過程,都需要有一個標準的描述方式,這樣的流程描述不只是針對于業(yè)務分析人員,也要便于開發(fā)人員能夠在程序中直接應用。業(yè)務流程管理很大的用途或特點在于對Web服務的編排[3],根據需求,按照某種邏輯或者規(guī)則將存在的Web服務組裝成一個可執(zhí)行的流程,該流程可以通過Web服務的接口標準暴露成為流程服務供其他應用調用,也可以作為一個流程的子流程。目前,已存在很多的業(yè)務流程規(guī)范,主要分成兩個類別,一個是基于可視化圖形的,如BPMN、BPML、XPDL等;另一個是基于塊結構的語言,如WS-BPEL,可以直接被流程引擎執(zhí)行。經過實際的應用和驗證,WS-BPEL已經成為事實上業(yè)務流程運行時描述語言的標準,是專門為Web服務編排和組合描述而定制的一種規(guī)范標準[4]。目前,很多執(zhí)行引擎都支持BPEL,并且也存在相關的圖形編輯工具以減少BPEL建模的復雜度[5]。然而,各個建模工具實現方式各不相同,對BPEL各個元素的圖形表示也沒有一個統(tǒng)一的標準定義,再則,BPEL屬于塊結構語言,對于業(yè)務流程的分析與設計人員顯得比較抽象和晦澀?;谶@樣的問題以及為了提高業(yè)務人員對業(yè)務流程的建模效率,業(yè)務流程建模符號BPMN(Business Process Modeling Notation)被正式提出為標準[6]。它定義了各個元素的圖形表示,便于業(yè)務人員更好地理解。
 基于以上提出的在業(yè)務和功能上的需求以及可用的建模方法和工具,本文提出了一種服務構件模型,它通過BPMN來描述業(yè)務需求,然后從大量的Web服務中選擇滿足要求的服務進行綁定,最后生成可執(zhí)行的BPEL模型以及流程服務。主要是設計一種完整的流程模型來描述用戶調用Web服務的需求、服務的匹配和綁定以及可執(zhí)行流程的生成。用戶只需要將BPMN文件提交到模型中,處理后便可以自動地部署對應的可執(zhí)行流程服務,然后在執(zhí)行引擎中運行。
 本文提出的服務構建模型是以Web服務為基礎的,這些Web服務可能來自不同的提供者,可能是本公司的系統(tǒng),也可能是其他合作者提供的服務,比如對于電子商務網站而言,一些業(yè)務流程中的服務就會來自于其他公司,如第三方支付服務、物流服務等。對于要調用這些Web服務的客戶端,必須先通過BPMN進行需求建模,BPMN模型以圖形符號的形式描述了客戶端的功能需求。隨后,該BPMN會被切分成原子服務,該原子服務的格式是在WSDL基礎上重新定義的,與服務庫里的服務格式相同;服務庫里的服務是通過在線抓取和人工錄入的形式完成的,這些服務都是以WSDL進行描述,通過與BPMN原子服務切分方式一樣的形式進行WSDL的解析。最后形成的原子服務是以接口方法為單位的,這樣在服務的匹配中就會減少由于每個接口存在多個方法的干擾。整個模型中都是以原子服務為基礎,因此,以下對原子服務的定義進行了詳細的說明并且給出了相應的xml格式。
1 原子服務
 原子服務AS為一個6元組,形式如下:
 AS:<RSc,FSc,FBSc,Sign,FuncR NonFuncR>;
 其中Rsc為原子服務所屬源服務的WSDL。Fsc是由方法表示的服務,形式為ServiceName(in:U,out:V),U為服務的輸入變量,V為服務的輸出變量。FBSc為該原子服務調用時的條件限制,形式為<PreCondition,PostCondition>,分別表示為服務調用的前置條件和后置條件。Sign為服務標示,形式為<Type,URL>,其中Type表示服務所屬的類型,Type &isin;(Local Service,Partener Service,Openservice),表示該服務所屬的類型,分別為本地服務、伙伴服務以及開源服務;URL表示該服務調用的地址。FuncR為該原子服務的屬性定義,形式為<Desc,Class,Domain,In,Out>,Desc表示服務的描述信息;Class表示該原子服務所屬源服務的名稱,因為原子服務由源服務接口的方法生成的,而一個接口包含了多個方法,所以這些方法都屬于統(tǒng)一Class;Domain表示該服務所屬的域,也就是可調用服務的名字空間;In表示服務的輸入;Out表示服務的輸出。NonFuncR為該服務的非功能性描述,形式為<ResponseTime,Availability,Invocation,Cost,Rank,Level>,其中,ResponseTime為發(fā)送請求到接收響應的時間;Availability為成功調用的服務次數與調用的總次數的比例,aavailability&isin;[0,1];Invocation為單位時間內(1 min)服務的調用次數,Invocation&isin;[0,1];Cost為調用該服務的費用;Rank為用戶滿意度,用1~5之間的整數表示,數值越大滿意度越高;Level為服務等級,形式為[LocalService=2,PartnerService=1,OpenService=0],值越大等級就越高,當服務庫里有多個能滿足需求的服務時,優(yōu)先選擇的順序為LocalService、PartnerService、OpenService。
 以上便是對原子服務的定義,主要是依據WSDL中PortType的operation元素為主體進行定義,該服務的視圖形式為XML文檔,如圖1所示,唯一的改進就是在此基礎上增加了NonFuncR元素表示服務的非功能性特征,當出現多個服務滿足需求時進行服務的選擇。對于BPMN文檔的解析也是依據該原子服務的格式進行切分的,然而,在切分時只關注于功能的調用部分,即重點是切分出FuncR數據。

2 服務構件模型層次結構
 本文研究的服務構件模型會涉及到多個方面,以上給出的原子服務是整個模型的基礎,圖2中以分層的形式顯示了該模型涉及到的功能模塊結構,從底層的服務構件發(fā)布到上層流程應用的部署和調用。
圖2中,基礎服務層作為整個服務模型的基礎,利用SCA框架將組件暴露為Web服務,為服務流程的各個業(yè)務需求提供功能接口;服務解析層根據原子服務格式將需求的BPMN模型以及服務庫的WSDL進行解析;服務匹配層主要是對功能性需求進行匹配,如果出現多個服務時,利用其QoS屬性選擇一個最優(yōu)的;最上層便是面向用戶的接口層,是將服務匹配成功后通過模型轉換生成的BPEL部署到執(zhí)行引擎中。
3 服務構件模型流程
 圖2顯示了模型的層次圖,包含了具體的服務模塊以及相應的操作,下層對上層提供接口或服務。模型層次圖只是在總體上顯示了模型執(zhí)行的各個階段,并沒有給出模型內部具體的執(zhí)行細節(jié)。圖3表示服務構件模型的流程,該流程描述了用戶進行業(yè)務功能訪問時的內部運行流程。

 圖3顯示了用戶依據業(yè)務需求進行服務的調用,在BPMN需求模型中,需要實現的功能都是由Web服務完成的。綁定的服務都是來自于本地服務庫,該服務庫在原來的基礎上增加了服務的QoS屬性,便于在多服務中的選擇。服務庫的更新和用戶請求的處理是同時進行的,兩者是不同的進程,因此,整個服務構件模型的實現都是部署在服務端,客戶端只需要在應用程序中通過相應的接口或者在客戶端界面上提交BPMN的XMI文件即可完成服務的自動匹配和BPEL的生成。

 本文從整體上分析與設計了服務構件模型,該模型利用BPMN為需求建模,BPEL為輸出模型,Web服務為功能需求提供實現接口。在設計中,對原子服務進行了重新定義使其能更好地完成服務匹配的要求;并且給出了該模型的層次圖以顯示該模型執(zhí)行的各個階段,每一個階段都相對獨立;最后還給出模型的執(zhí)行流程完整地描述了服務調用的整體流程。該模型的提出為接下來的工具實現奠定了理論基礎,對于接下來要實現的工具,會增加服務的形式化來實現服務查找和選擇的智能性。該工具會部署在服務器端,通過該工具可以方便地進行Web服務的調用。
參考文獻
[1] 梁愛虎.SOA思想、技術與系統(tǒng)集成應用詳解[M].北京:電子工業(yè)出版社,2007.
[2] 高哲.基于SOA的軟件架構的研究與應用[D].武漢:武漢理工大學碩士研究生論文,2007.
[3] 劉華峰,胡元嶺.基于Web服務的業(yè)務流程管理(BPM)的實現方法[J].機電產品開發(fā)與創(chuàng)新,2009,22(3):68-69.
[4] 吳麗賢,和力.基于BPMN的Web服務合成框架[J].開發(fā)案例,2009(301):171.
[5] 胡燕梅,邱錦倫.用BPMN輔助整合Web Service[J].計算機工程與設計,2007,28(19):4785-4786.
[6] 秦天保.從BPMN到可執(zhí)行業(yè)務流程建模[J].計算機應用,2006(26):266-267.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜精品久久久| 韩国av一区二区| 久久免费偷拍视频| 亚洲欧美激情一区| 亚洲色在线视频| 亚洲精品专区| 亚洲精品中文字| 亚洲精品中文字幕在线| 亚洲欧洲一区二区三区久久| 久久精品女人的天堂av| 午夜视频一区| 欧美一区二区三区播放老司机| 亚洲无线一线二线三线区别av| 在线一区观看| 亚洲深夜影院| 亚洲图片欧洲图片av| 亚洲四色影视在线观看| 亚洲香蕉在线观看| 亚洲一区二区三区影院| 亚洲自拍三区| 欧美在线不卡视频| 久久国产精品亚洲77777| 久久国产精品99精品国产| 欧美在线看片| 亚洲第一页在线| 亚洲日本电影| 日韩午夜激情电影| 国产精品99久久久久久白浆小说 | 久久人人爽国产| 麻豆精品传媒视频| 欧美激情性爽国产精品17p| 欧美日韩国产另类不卡| 欧美日韩一级黄| 国产精品一级| 狠狠网亚洲精品| 亚洲欧洲日本国产| 日韩视频永久免费| 亚洲一区二区黄色| 欧美一区2区三区4区公司二百| 亚洲电影天堂av| 日韩一级精品| 午夜欧美视频| 久久久久久亚洲精品杨幂换脸 | 欧美成人精品影院| 欧美日韩国产区| 国产精品自拍视频| 影音欧美亚洲| 中日韩男男gay无套 | 欧美在线免费视频| 亚洲区一区二区三区| 亚洲一区二区三区四区五区黄| 久久国产福利| 欧美二区乱c少妇| 国产精品99一区二区| 国产亚洲欧美一级| 亚洲国产精品久久久久久女王| aa亚洲婷婷| 欧美在线三区| 一本综合精品| 久久免费观看视频| 欧美精品偷拍| 国产午夜久久| 亚洲裸体视频| 久久精品一区蜜桃臀影院| 亚洲一级免费视频| 久久午夜影视| 国产精品国产三级国产专播精品人| 黄色成人av在线| 一区二区国产日产| 亚洲第一福利视频| 国产精品久久国产三级国电话系列| 国产日韩在线视频| 最新国产精品拍自在线播放| 午夜久久福利| 亚洲婷婷综合色高清在线| 久久久久女教师免费一区| 欧美日韩在线一区二区| 国语精品一区| 亚洲视频欧美在线| 亚洲精品永久免费精品| 久久久久欧美精品| 国产精品久久久久一区二区三区共| 亚洲高清一二三区| 欧美一区91| 亚洲欧美日韩精品在线| 欧美国产精品久久| 狠狠干狠狠久久| 午夜精品福利电影| 亚洲一区二区免费在线| 欧美电影在线播放| 国外视频精品毛片| 亚洲欧美日韩精品久久奇米色影视| 一本色道久久88亚洲综合88 | 久久频这里精品99香蕉| 国产精品午夜视频| 日韩香蕉视频| 亚洲精选视频在线| 久久综合网色—综合色88| 国产欧美精品一区aⅴ影院| 亚洲精品裸体| 亚洲激情在线观看| 久久久一区二区| 国产亚洲高清视频| 亚洲男人第一av网站| 亚洲影院色无极综合| 欧美精选一区| 亚洲日韩欧美视频一区| 亚洲人成毛片在线播放女女| 久久一区激情| 国产真实精品久久二三区| 午夜国产精品影院在线观看| 亚洲欧美国产精品va在线观看| 欧美日韩一区三区| 亚洲第一网站免费视频| 久久精品国产欧美激情| 久久久久久**毛片大全| 国产综合av| 亚洲成人在线免费| 国产一区二区三区直播精品电影| 亚洲欧美日韩在线不卡| 午夜精品久久久久久久白皮肤| 国产精品久久久免费| 亚洲图片在线观看| 午夜精品久久久| 国产欧美精品va在线观看| 亚洲一区欧美| 欧美专区亚洲专区| 国产亚洲aⅴaaaaaa毛片| 欧美一级片久久久久久久| 久久精品国产久精国产爱| 国产亚洲亚洲| 亚洲国产成人91精品| 免费观看在线综合色| 亚洲国产三级| 一区二区三区国产| 欧美四级在线观看| 亚洲午夜国产成人av电影男同| 先锋影音网一区二区| 国产欧美日韩免费| 久久激情五月激情| 欧美不卡高清| 亚洲免费观看| 亚洲综合日本| 国产一区91| 亚洲精品小视频| 欧美视频在线观看视频极品| 亚洲尤物在线视频观看| 久久国产精品第一页| 精品福利免费观看| 亚洲美女在线一区| 欧美日韩一区二区在线观看视频| 亚洲一区二区在| 久久美女性网| 亚洲三级观看| 午夜免费日韩视频| 国内久久视频| 一本大道久久a久久综合婷婷| 国产精品久久亚洲7777| 欧美在线免费| 欧美精品激情| 亚洲男女毛片无遮挡| 久久综合综合久久综合| 亚洲六月丁香色婷婷综合久久| 午夜在线观看免费一区| 国语精品中文字幕| 日韩一级免费| 国产欧美日韩亚洲精品| 亚洲人成精品久久久久| 欧美视频网站| 久久精品国产99| 欧美日韩不卡| 欧美一级专区| 欧美另类videos死尸| 午夜精品理论片| 欧美精品免费看| 销魂美女一区二区三区视频在线| 欧美电影打屁股sp| 亚洲免费影视第一页| 欧美成人激情视频免费观看| 亚洲性夜色噜噜噜7777| 免费在线看成人av| 亚洲综合不卡| 欧美乱在线观看| 久久国产精品亚洲va麻豆| 欧美视频在线一区| 久久精品国产99精品国产亚洲性色| 欧美日韩精品一区视频 | 久久电影一区| 国产精品v亚洲精品v日韩精品 | 久久大逼视频| 99综合精品| 美女久久一区| 午夜在线电影亚洲一区| 欧美精品一区二区三区久久久竹菊| 亚洲欧美一区二区三区久久| 欧美日本三区| 亚洲人成毛片在线播放女女| 国产一级精品aaaaa看| 亚洲一区二区毛片| 亚洲娇小video精品|