資源描述:
《基于soa服務(wù)組合技術(shù)探究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、基于SOA服務(wù)組合技術(shù)探究 摘要:本為針對(duì)移動(dòng)通信業(yè)務(wù)信息處理手段差異較大,數(shù)據(jù)存在不一致性,系統(tǒng)間數(shù)據(jù)交互和共享困難的問(wèn)題,構(gòu)建基于SOA的移動(dòng)服務(wù)平臺(tái)架構(gòu),并在此基礎(chǔ)上,利用BPEL技術(shù)規(guī)范松耦合性、高度敏捷、面向服務(wù)等特點(diǎn),實(shí)現(xiàn)各個(gè)服務(wù)間的協(xié)同合作。關(guān)鍵字:SOA;BPEL;服務(wù)組合;移動(dòng)服務(wù)中圖分類號(hào):TN82文獻(xiàn)標(biāo)識(shí)碼:A隨著移動(dòng)通信業(yè)務(wù)的發(fā)展,增值業(yè)務(wù)市場(chǎng)也呈快速發(fā)展的趨勢(shì),增值市場(chǎng)規(guī)模逐年增長(zhǎng)。用戶對(duì)業(yè)務(wù)的需求也呈現(xiàn)出多樣化的趨勢(shì),移動(dòng)通信運(yùn)營(yíng)商在激烈的市場(chǎng)競(jìng)爭(zhēng)中,利用現(xiàn)有的業(yè)務(wù)平臺(tái)及資源,靈活組合,適時(shí)推出用戶所需的各種新業(yè)務(wù),將會(huì)極大地增加運(yùn)營(yíng)商
2、的市場(chǎng)競(jìng)爭(zhēng)能力。然而傳統(tǒng)的服務(wù)實(shí)現(xiàn)使用不同的語(yǔ)言和技術(shù),并且運(yùn)行于不同平臺(tái)和操作系統(tǒng)之上。因此,各個(gè)系統(tǒng)相互孤立,難以進(jìn)行通信,并且其內(nèi)部信息處理手段的差異較大,數(shù)據(jù)存在不一致性,彼此之間難以進(jìn)行信息、數(shù)據(jù)的交換和共享?,F(xiàn)在,隨著SOA(service-oriented5architecture,面向服務(wù)的架構(gòu))技術(shù)的出現(xiàn)和快速發(fā)展,可以很好地解決該問(wèn)題。SOA架構(gòu)以服務(wù)為基本單元,通過(guò)把不同應(yīng)用封裝成統(tǒng)一的Web服務(wù)來(lái)屏蔽系統(tǒng)間的差異性;以服務(wù)作為構(gòu)建時(shí)的基礎(chǔ)組件,通過(guò)服務(wù)組合技術(shù)對(duì)散列的組件進(jìn)行組合,從而解決服務(wù)間數(shù)據(jù)的交互和共享,以松耦合的方式實(shí)現(xiàn)跨機(jī)構(gòu)的協(xié)作
3、業(yè)務(wù)流程;通過(guò)服務(wù)組合技術(shù)對(duì)業(yè)務(wù)流程的全過(guò)程進(jìn)行監(jiān)管,實(shí)現(xiàn)流程的簡(jiǎn)化和優(yōu)化。1面向服務(wù)的體系架構(gòu)SOASOA是以服務(wù)為基礎(chǔ)的組件模型。服務(wù)作為封裝特定功能的實(shí)體,以業(yè)務(wù)為其核心理念,通過(guò)定義良好的接口的契約彼此間進(jìn)行聯(lián)系。同時(shí),服務(wù)是中立的,可以獨(dú)立于特定的技術(shù)和平臺(tái)。服務(wù)具有可重用性,一個(gè)定義良好的服務(wù)可以在多個(gè)業(yè)務(wù)流程的組裝中使用。也正是因?yàn)镾OA中所有應(yīng)用都是服務(wù),基于SOA的系統(tǒng)平臺(tái)可以采用服務(wù)組合技術(shù)將單獨(dú)的、中立的、封裝完善的服務(wù)組合成新的、復(fù)雜的服務(wù),從而實(shí)現(xiàn)數(shù)據(jù)共享。又因?yàn)榉?wù)之間的交互是通過(guò)標(biāo)準(zhǔn)定義的接口進(jìn)行的,基于SOA的系統(tǒng)平臺(tái)可以屏蔽由于平臺(tái)
4、、操作系統(tǒng)以及實(shí)現(xiàn)語(yǔ)言不同而造成的差異?;赟OA的IT架構(gòu)以一系列執(zhí)行業(yè)務(wù)功能的服務(wù)為基礎(chǔ),通過(guò)服務(wù)的形式重用企業(yè)現(xiàn)有資產(chǎn)。同時(shí),通過(guò)服務(wù)的不同組合不僅實(shí)現(xiàn)異構(gòu)環(huán)境中的消息、數(shù)據(jù)的交互和共享,還可以使業(yè)務(wù)流程變得更加靈活,從而迅捷有效地滿足現(xiàn)實(shí)生活中快速變化的業(yè)務(wù)需求??梢?jiàn),要使搭建的架構(gòu)靈活多變,就要考慮服務(wù)構(gòu)建、數(shù)據(jù)模型和服務(wù)編排這三方面采用何種技術(shù)來(lái)實(shí)現(xiàn)。如圖1所示為SOA關(guān)鍵技術(shù)及其關(guān)系。5本文重點(diǎn)研究服務(wù)組合技術(shù)。SOA架構(gòu)中的服務(wù)組合編排模型不僅要滿足異構(gòu)、松耦合的要求,還要是敏捷的,因此與Web服務(wù)關(guān)聯(lián)的服務(wù)組合技術(shù)BPEL(BusinessProc
5、essExecutionLanguage)以其基于服務(wù)、松耦合、高度敏捷等特點(diǎn)成為構(gòu)建SOA架構(gòu)的首選服務(wù)編排模型。BPEL的描述文件是WSDL,不僅支持Web服務(wù),也可以更好地支持SCA定義的服務(wù)。同時(shí),BPEL規(guī)范可以把其定義的流程本身暴露為Web服務(wù)對(duì)外提供服務(wù)。同時(shí)由XMLSchema定義的BPEL規(guī)范可以直接把SDO定義引入到自己的變量到中,作為其變量進(jìn)行操作??傊?,BPEL是SOA服務(wù)編排的核心技術(shù),同時(shí)也是具體業(yè)務(wù)流程的體現(xiàn)。2基于BPEL的服務(wù)組合技術(shù)BPEL技術(shù)規(guī)范即業(yè)務(wù)流程執(zhí)行語(yǔ)言規(guī)范,是以Web服務(wù)、XML為基礎(chǔ)的諸多規(guī)范上提出的一種新型的業(yè)務(wù)
6、流程的定義語(yǔ)言規(guī)范。它的靈感來(lái)源于IBM的WSF5L以及微軟的XLANG。其中,WSFL是一種以圖為基礎(chǔ)的流程模型,其特點(diǎn)是靈活、直觀;XLANG即工作流程描述語(yǔ)言,它以過(guò)程代數(shù)為基礎(chǔ),具有結(jié)構(gòu)化構(gòu)造的優(yōu)勢(shì)。BPEL作為兩者結(jié)合的產(chǎn)物,以用Web服務(wù)接口標(biāo)準(zhǔn)描述的伙伴和業(yè)務(wù)流程的交互為基礎(chǔ),定義了描述業(yè)務(wù)流程的語(yǔ)法規(guī)范,主要用于業(yè)務(wù)流程建模。作為一個(gè)Web服務(wù)組合標(biāo)準(zhǔn),BPEL可以直接描述一組Web服務(wù)的操作順序,以及服務(wù)間交互時(shí)共享的數(shù)據(jù),還可以處理Web服務(wù)使用過(guò)程中發(fā)生的異常;作為執(zhí)行流程的建模語(yǔ)言,BPEL可以組合現(xiàn)有的服務(wù),從而生成一個(gè)新的更為復(fù)雜的Web
7、服務(wù)。BPEL是一個(gè)基于開(kāi)放標(biāo)準(zhǔn)的技術(shù)規(guī)范,這些技術(shù)規(guī)范為BPEL流程的執(zhí)行提供環(huán)境。圖2展示了BPEL規(guī)范與其相關(guān)技術(shù)標(biāo)準(zhǔn)的關(guān)系。BPEL規(guī)范描述的是各成員服務(wù)何時(shí)、為何、以何種順序被調(diào)用,還為服務(wù)提供錯(cuò)誤處理和補(bǔ)償機(jī)制。因此,基于BPEL規(guī)范的流程定義總體可分為三個(gè)部分,這三部分之間的關(guān)系如圖3所示。3基于BPEL的服務(wù)組合實(shí)現(xiàn)方法基于BPEL的服務(wù)組合方法可歸納為兩個(gè)部分,一是為業(yè)務(wù)流程中涉及的每個(gè)活動(dòng)設(shè)定一個(gè)抽象服務(wù),形成抽象服務(wù)流程定義;二是執(zhí)行前通過(guò)中間環(huán)節(jié)進(jìn)行服務(wù)匹配和綁定,將每個(gè)抽象服務(wù)替換成一個(gè)實(shí)體服務(wù),將抽象服務(wù)轉(zhuǎn)換成實(shí)際的符合BPEL規(guī)范的