《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 服務構件模型的研究與設計
服務構件模型的研究與設計
來源:微型機與應用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亚洲国产精品_日韩亚洲一区二区
欧美日韩福利在线观看| 国产精品色网| 亚洲女同同性videoxma| 亚洲国产一二三| 久久精品国产99国产精品| 午夜在线视频观看日韩17c| 一本色道久久综合亚洲精品按摩| 亚洲欧洲免费视频| 亚洲高清在线精品| 亚洲第一精品福利| 在线免费观看日本欧美| 在线观看中文字幕亚洲| 精品成人在线视频| 激情五月婷婷综合| 极品少妇一区二区| 在线欧美亚洲| 亚洲国产日韩精品| 亚洲福利精品| 亚洲国产精品综合| 91久久精品国产91久久| 亚洲高清在线精品| 亚洲精品欧美日韩专区| 夜夜嗨av一区二区三区网站四季av | 最新国产の精品合集bt伙计| 亚洲国产精品久久久久秋霞蜜臀| 亚洲高清二区| 亚洲欧洲一区二区三区| 亚洲日韩视频| 在线视频欧美日韩精品| 亚洲一区尤物| 欧美综合国产| 久热国产精品视频| 欧美激情中文字幕一区二区| 欧美日韩一区在线观看| 国产精品美女主播| 国产一级一区二区| 亚洲国产精品久久人人爱蜜臀| 亚洲美女av黄| 亚洲一区二区三区在线播放| 欧美中文在线字幕| 亚洲久久一区| 午夜一级久久| 毛片一区二区三区| 欧美日韩大陆在线| 国产精品综合不卡av| 精品成人在线| 夜色激情一区二区| 性做久久久久久久免费看| 亚洲国产美国国产综合一区二区| 9色精品在线| 久久成人精品视频| 欧美电影打屁股sp| 国产精品久久久久久影视| 国产一区自拍视频| 亚洲精品国产品国语在线app| 亚洲一区在线播放| 亚洲国产日韩在线| 亚洲综合视频一区| 免费人成精品欧美精品| 欧美特黄一区| 亚洲电影第三页| 亚洲午夜激情免费视频| 亚洲高清视频一区二区| 亚洲先锋成人| 噜噜噜躁狠狠躁狠狠精品视频| 欧美三级视频在线观看| 黄色国产精品| 亚洲视频一区二区免费在线观看| 亚洲国产精品ⅴa在线观看| 亚洲一区在线免费| 免费视频一区| 国产麻豆综合| 亚洲美女在线视频| 亚洲国产成人高清精品| 午夜精品区一区二区三| 在线观看亚洲视频啊啊啊啊| 99热免费精品| 久久精品亚洲一区二区三区浴池| 欧美美女日韩| 国产一区二区精品久久91| av成人毛片| 亚洲人成网站精品片在线观看| 久久av在线| 国产精品vvv| 亚洲精选中文字幕| 欧美一级免费视频| 欧美精品一区二区三区在线播放 | 乱码第一页成人| 国产精品一区=区| 亚洲区欧美区| 久久精品视频在线免费观看| 亚洲欧美综合网| 欧美日韩在线电影| 最新日韩在线| 亚洲品质自拍| 久久久久久久久久久久久久一区| 国产精品欧美日韩一区二区| 亚洲精品永久免费| 亚洲精品一二区| 欧美成人一区二区在线| 韩日欧美一区二区三区| 性久久久久久久久久久久| 亚洲欧美日韩视频一区| 欧美日韩国产综合一区二区| 在线观看三级视频欧美| 欧美在线观看你懂的| 欧美亚洲网站| 国产精品视频免费| 夜夜嗨av色综合久久久综合网| 99热在这里有精品免费| 欧美岛国激情| 亚洲国产午夜| 亚洲欧洲日夜超级视频| 美女视频黄免费的久久| 激情综合亚洲| 亚洲国产一区二区三区在线播 | 亚洲国产日韩美| 久久蜜臀精品av| 好吊妞**欧美| 久久黄色级2电影| 久久天堂国产精品| 久久久视频精品| 国产欧美日韩亚洲精品| 亚洲一区国产视频| 午夜国产不卡在线观看视频| 欧美性做爰毛片| 中文日韩在线| 欧美一区二区在线看| 国产农村妇女精品| 欧美一二区视频| 久久青青草综合| 亚洲福利av| 99在线精品免费视频九九视| 欧美日韩国产美女| 99在线精品观看| 亚洲欧美一区二区激情| 国产精品永久免费观看| 亚洲一区日本| 久久国产精品久久久| 一区二区亚洲| 99国产精品自拍| 欧美视频在线免费看| 在线一区欧美| 久久久久久久久久久成人| 伊人夜夜躁av伊人久久| 99re国产精品| 国产精品电影在线观看| 午夜精品久久久久久久久| 久久精品中文字幕一区二区三区| 狠狠色狠狠色综合日日五| 亚洲国产精选| 欧美三级乱人伦电影| 亚洲欧美日韩爽爽影院| 久久综合色综合88| 亚洲欧洲精品一区二区精品久久久| 亚洲午夜电影| 国产日本精品| 亚洲娇小video精品| 欧美日韩大片一区二区三区| 亚洲一二三四久久| 免费欧美在线| 在线一区免费观看| 久久亚洲春色中文字幕久久久| 亚洲精品婷婷| 久久se精品一区精品二区| 亚洲国产精品悠悠久久琪琪| 亚洲女性喷水在线观看一区| 国产区在线观看成人精品| 亚洲人成网站999久久久综合| 国产精品国产a级| 亚洲国产99| 国产精品爱啪在线线免费观看| 久久精品国产欧美激情| 欧美日韩亚洲不卡| 久久成人免费网| 欧美特黄一级| 最新成人在线| 国产精品一区二区久久国产| 亚洲经典一区| 亚洲男人影院| 欧美高清视频www夜色资源网| 国产日韩一区欧美| 亚洲电影免费| 欧美日韩一二三四五区| 亚洲高清激情| 国产一区二区三区直播精品电影| 夜夜嗨av一区二区三区网站四季av | 亚洲裸体视频| 国产精品视频一二| 亚洲国产欧美一区| 国产精品一区二区三区观看 | 欧美交受高潮1| 午夜精品国产更新| 欧美另类videos死尸| 欧美一区二区三区在线播放| 欧美日韩国产二区| 亚洲国产精品成人va在线观看| 国产精品久久久久免费a∨ | 亚洲精品日韩激情在线电影| 国产欧美精品一区二区三区介绍|