国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web 服務(wù)組合研究綜述

2020-11-10 07:51石文博孫婧鑫
智能計算機與應(yīng)用 2020年5期
關(guān)鍵詞:服務(wù)供應(yīng)商體系結(jié)構(gòu)調(diào)用

石文博, 孫婧鑫

(西安石油大學(xué) 計算機學(xué)院, 西安710065)

0 引 言

隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,軟件的開發(fā)過程越來越傾向于提高軟件的集成性和可擴展性。 在此基礎(chǔ)之上,一種SOA(Service Oriented Architecture)面向服務(wù)的體系結(jié)構(gòu)以其高度靈活、松散耦合以及擴展性高等特性逐漸出現(xiàn)在商業(yè)軟件的開發(fā)領(lǐng)域中。 Web服務(wù)是實現(xiàn)SOA 體系結(jié)構(gòu)的主流技術(shù),它是基于網(wǎng)絡(luò)的、分布式的、自描述的、模塊化的組件。 不同的Web 服務(wù)執(zhí)行特定的任務(wù),執(zhí)行一定的技術(shù)規(guī)范,并且實現(xiàn)在Internet 上的統(tǒng)一注冊、發(fā)現(xiàn)、綁定和集成機制。 這種機制逐漸受到工業(yè)界和學(xué)術(shù)界的廣泛認(rèn)可。

1 SOA 基本概念

SOA (Service Oriented Architecture)面向服務(wù)的體系結(jié)構(gòu)是一種組件模型[1],它將應(yīng)用程序的不同功能單元(稱為服務(wù))進行拆分,并通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來,從而有效控制系統(tǒng)和軟件代理交互時的人為依賴性。

SOA 最初的概念由Gartner 在20 世紀(jì)90 年代末提出,將其定義為C/S 結(jié)構(gòu)的設(shè)計理念。 SOA 的應(yīng)用程序由服務(wù)請求方和服務(wù)的相應(yīng)方組成,SOA 對各組件之間的松散耦合性要求更高,從而使它使用的接口更加獨立分散,這也是SOA 系統(tǒng)的主要優(yōu)勢[2]。

2 Web 服務(wù)組合框架結(jié)構(gòu)

Web 服務(wù)組合框架結(jié)構(gòu)由服務(wù)供應(yīng)商、服務(wù)消費者和服務(wù)注冊中心三種角色,發(fā)布、發(fā)現(xiàn)、綁定和調(diào)用三種基本操作組成[3]。 對于Web 服務(wù)組合其框架結(jié)構(gòu)如圖1 所示。

圖1 Web 服務(wù)組合框架結(jié)構(gòu)Fig. 1 Web services composition framework structure

(1)服務(wù)供應(yīng)商。 一個可通過互聯(lián)網(wǎng)查找到的實體,實現(xiàn)接收和執(zhí)行來自使用者的請求。 除此之外,還把自身所包含的服務(wù)和接口契約發(fā)布到服務(wù)注冊中心,以便服務(wù)使用者發(fā)現(xiàn)和訪問該服務(wù)。

(2)服務(wù)消費者。 一個功能模塊或需要服務(wù)的軟件系統(tǒng)。 它發(fā)起對注冊中心中服務(wù)的查詢,通過傳輸綁定服務(wù),執(zhí)行服務(wù)功能,服務(wù)使用者根據(jù)接口契約來執(zhí)行服務(wù)。

(3)服務(wù)注冊中心。 實現(xiàn)服務(wù)消費者和服務(wù)供應(yīng)商之間的中轉(zhuǎn)代理,包含一個可用服務(wù)的存儲庫,并允許相關(guān)服務(wù)使用者查找服務(wù)提供者接口。

(4)服務(wù)協(xié)議。 服務(wù)的發(fā)布、請求、調(diào)用以及響應(yīng)進行標(biāo)準(zhǔn)化,使服務(wù)消費者和服務(wù)供應(yīng)商之間的交互變得規(guī)范化,為彼此間的通信奠定基礎(chǔ)。

Web 服務(wù)組合的執(zhí)行流程如下:

(1)首先由服務(wù)供應(yīng)商提供服務(wù),將服務(wù)信息發(fā)布到服務(wù)注冊中心完成注冊。

(2)服務(wù)消費者要使用服務(wù),需要向服務(wù)注冊中心發(fā)送請求。

(3)服務(wù)注冊中心根據(jù)服務(wù)消費者提交的服務(wù)描述,在服務(wù)注冊中心庫中查找相對應(yīng)的服務(wù)。

(4)服務(wù)注冊中心將查找到的服務(wù)相關(guān)信息(主要是接口描述信息等)反饋回服務(wù)消費者,服務(wù)消費者根據(jù)信息完成對服務(wù)供應(yīng)商的綁定和執(zhí)行。

在服務(wù)組合框架結(jié)構(gòu)中的每個實體都分別充當(dāng)服務(wù)消費者、提供商和注冊中心的一種或多種角色,每種角色依照相應(yīng)的協(xié)議規(guī)范,完成特定的操作任務(wù)。

3 Web 服務(wù)組合方法

當(dāng)前,對Web 服務(wù)組合學(xué)術(shù)界和工業(yè)界已經(jīng)提出了多種方法,總的來說,Web 服務(wù)組合方法從組合方案生成方式來分有靜態(tài)組合和動態(tài)組合兩大類。 靜態(tài)組合意味著請求者應(yīng)在組合計劃實施前創(chuàng)建一個抽象的過程模型,抽象的過程模型包括任務(wù)的集合以及任務(wù)間的數(shù)據(jù)依賴關(guān)系,每個任務(wù)包含一個查詢的子句,用來查找完成任務(wù)的真正的Web服務(wù)。 而動態(tài)組合不僅自動地選擇、綁定Web 服務(wù),同時更重要的是自動地創(chuàng)建過程模型。 這里,重點討論基于BPEL4WS、語義驅(qū)動以及模型驅(qū)動的Web 服務(wù)組合方法[4]。

3.1 基于BPEL4WS 的Web 服務(wù)組合

BPEL4WS(Business Process Execution Language for WebServices,Web 服務(wù)的商業(yè)流程執(zhí)行語言)是專為整合Web 服務(wù)而制定的一項規(guī)范標(biāo)準(zhǔn)[5]。BPEL4WS 的作用是將一組現(xiàn)有的服務(wù)整合起來,從而定義一個新的Web 服務(wù)。 它基于業(yè)務(wù)流程與參與者的交互來定義流程的描述規(guī)范,以此來實現(xiàn)業(yè)務(wù)流程的建模。 BPEL4WS 基于Web 服務(wù)標(biāo)準(zhǔn),更加側(cè)重于業(yè)務(wù)流程本身,詳細描述了一組關(guān)于無狀態(tài)服務(wù)的流程編排與調(diào)用方式,即將現(xiàn)有的服務(wù)重新組合起來,從而定義一個新的服務(wù)。

通過對Web 服務(wù)的編排和組合,BPEL4WS 可以自上而下地構(gòu)建面向服務(wù)的體系結(jié)構(gòu)。 但是BPEL4WS 語言本身并不能單獨地去完成業(yè)務(wù)流程的實例化,以及具體Web 服務(wù)的調(diào)用和業(yè)務(wù)流程管理等功能,它主要完成了業(yè)務(wù)流程的定義和描述。而流程實例的驅(qū)動、執(zhí)行以及具體服務(wù)的調(diào)用等都是由BPEL 引擎來完成的,可以說BPEL4WS 引擎為BPEL4WS 流程的執(zhí)行提供了必要的運行環(huán)境。

總而言之,BPEL4WS 流程是一個流程圖,用來表達特定業(yè)務(wù)的處理邏輯和算法,流程的每一步稱為一個活動。

BPEL4WS 主要利用WSDL 完成對服務(wù)的動態(tài)綁定功能,但它缺乏提供具體方式來選取動態(tài)綁定時需要調(diào)用的服務(wù),并且BPEL4WS 不支持在應(yīng)用運行時的流程模型的調(diào)整。

3.2 語義驅(qū)動的Web 服務(wù)組合方法

面向語義的Web 服務(wù)組合通過在Web 服務(wù)中添加語義信息,使機器能夠自動理解并進行需要的操作,最終生成Web 服務(wù)過程。 目前基于語義的Web 服務(wù)組合的主要成果是OWL-S(OntologyWeb Language for Services,Web 服務(wù)的本體語言) 和WSDL(Web Services Description Language,Web 服務(wù)描述語言)。

WSDL 是用來描述網(wǎng)絡(luò)(Network)服務(wù)或終端(End-point)的一種XML 語言,它用于定義Web 服務(wù)以及如何調(diào)用服務(wù)[6]。 WSDL 文檔可用于動態(tài)發(fā)布Web 服務(wù)、查找已發(fā)布的Web 服務(wù)以及綁定Web 服務(wù)。

OWL-S 建 模 的 服 務(wù) 本 體 有3 個 部 分[7],ServiceProfile 提供服務(wù)及服務(wù)提供者的高層描述,包括服務(wù)概述、功能屬性、服務(wù)性能屬性,表達了該服務(wù)“能做什么”; ServiceModel 表達了該服務(wù)是怎樣工作的,其子類ProeessControlModel 用來支持服務(wù)的執(zhí)行和監(jiān)測; ServicesGrounding 表達了怎樣使用這個Web 服務(wù),是從抽象的服務(wù)描述元素到具體的服務(wù)描述元素規(guī)范的映射。

3.3 模型驅(qū)動的Web 服務(wù)組合

在用特定語言定義組合服務(wù)的基礎(chǔ)上,提出用模型驅(qū)動的方法來開發(fā)、管理動態(tài)服務(wù)組合,模型驅(qū)動方法將軟件開發(fā)方法學(xué)應(yīng)用到服務(wù)組合中。 該方法是使用統(tǒng)一建模語言(UML)定義服務(wù)模型和業(yè)務(wù)流程模型,定義模型和相對應(yīng)服務(wù)和業(yè)務(wù)流程的轉(zhuǎn)換規(guī)則,完成服務(wù)和業(yè)務(wù)流程的自動生成[8],該組合定義隨后可自動地映射到特定的規(guī)范,如:BPEL4WS 上,業(yè)務(wù)流程所需要的Web 服務(wù)可以實現(xiàn)動態(tài)地綁定。

基于模型驅(qū)動的Web 服務(wù)組合方法的分為3個主要步驟:

(1)建模。 根據(jù)業(yè)務(wù)需求使用UML 服務(wù)模型和UML 業(yè)務(wù)流程模型對Web 服務(wù)和業(yè)務(wù)流程建模。

(2)轉(zhuǎn)換。 從UML 服務(wù)模型中轉(zhuǎn)化得到Web服務(wù)的WSDL 和代碼框架,以及服務(wù)語義描述。 從UML 業(yè)務(wù)流程模型中轉(zhuǎn)換得到抽象流模板和流程伙伴契約。

(3)綁定。 通過契約和服務(wù)描述基于本體語義的匹配,確定業(yè)務(wù)流程需要綁定的Web 服務(wù),并將流程模板轉(zhuǎn)換為可執(zhí)行的BPEL4WS 流程上。

4 結(jié)束語

面向服務(wù)的體系結(jié)構(gòu)是技術(shù)和架構(gòu)的自然進化。 軟件系統(tǒng)開發(fā)的集成性、封裝性和簡便性是開發(fā)大型系統(tǒng)的必然要求和發(fā)展趨勢。 本文通過對SOA 體系結(jié)構(gòu)介紹,分析論證Web 服務(wù)組合實現(xiàn)原理及其框架結(jié)構(gòu),總結(jié)了當(dāng)前主流的Web 服務(wù)組合方法,并對方法的實現(xiàn)原理和優(yōu)缺點進行闡述。

Web 服務(wù)的主要思想是處在服務(wù)組合體系中的每個實體都是服務(wù),這些服務(wù)通過網(wǎng)絡(luò)發(fā)布一個可調(diào)用的API 接口,方便其他服務(wù)的調(diào)用。 而Web服務(wù)組合則是將服務(wù)按照一定的規(guī)則有次序調(diào)用執(zhí)行。 因此,如何準(zhǔn)確發(fā)現(xiàn)和描述Web 服務(wù),如何使服務(wù)組合描述過程更加清晰簡潔,以及如何對Web服務(wù)組合過程模型構(gòu)建領(lǐng)域都有待深入研究。

猜你喜歡
服務(wù)供應(yīng)商體系結(jié)構(gòu)調(diào)用
基于思維導(dǎo)圖的化學(xué)知識體系結(jié)構(gòu)構(gòu)建
軟件通信體系結(jié)構(gòu)(SCA)理念下的無線通信系統(tǒng)探究
基于PPP工程采購模式的工程項目合同體系結(jié)構(gòu)研究
“共享+人力資源”服務(wù)供應(yīng)商的發(fā)展模式研究
基于物流服務(wù)供應(yīng)鏈模式下的服務(wù)供應(yīng)商選擇研究
在線教育企業(yè)服務(wù)供應(yīng)商評價與選擇研究
基于Android Broadcast的短信安全監(jiān)聽系統(tǒng)的設(shè)計和實現(xiàn)
認(rèn)知無線網(wǎng)絡(luò)中的重點技術(shù)和研究
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
C++語言中函數(shù)參數(shù)傳遞方式剖析