高級(jí)軟件工程面向服務(wù)的軟件工程_第1頁
高級(jí)軟件工程面向服務(wù)的軟件工程_第2頁
高級(jí)軟件工程面向服務(wù)的軟件工程_第3頁
高級(jí)軟件工程面向服務(wù)的軟件工程_第4頁
高級(jí)軟件工程面向服務(wù)的軟件工程_第5頁
已閱讀5頁,還剩188頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

二、面向服務(wù)的軟件工程劉進(jìn)目前一頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱2目前二頁\總數(shù)一百九十三頁\編于二十點(diǎn)什么是服務(wù)?Web服務(wù)的定義[W3C]:

Web服務(wù)(Webservice)應(yīng)當(dāng)是一個(gè)軟件系統(tǒng),用以支持網(wǎng)絡(luò)間不同機(jī)器的互動(dòng)操作。

Web服務(wù)是一個(gè)用URI(UniformResourceIdentifier)標(biāo)識(shí)的軟件實(shí)體,其接口和綁定可以用XML協(xié)議定義、描述和發(fā)現(xiàn)。Web服務(wù)通過Internet協(xié)議以基于XML消息,以松散耦合的方式與其它軟件實(shí)體或Web服務(wù)直接通訊。3目前三頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)的興起Web服務(wù)作為一種新興起的技術(shù),被稱為繼

PC

Internet

之后的第三次計(jì)算機(jī)革命Web服務(wù)

利用標(biāo)準(zhǔn)的

Internet

協(xié)議(如

HTTP,SMTP

等),解決了面向

Web

的分布式計(jì)算的通信問題,而傳統(tǒng)的分布式模型解決的是特定平臺(tái)下的通信問題。Web服務(wù)具有完全的平臺(tái)獨(dú)立性和語言獨(dú)立性,只要遵守

Web

Service

的接口即可進(jìn)行服務(wù)的請(qǐng)求和調(diào)用。4目前四頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)的主要思想以后的應(yīng)用將由一組在線服務(wù)組合而成。兩個(gè)相似的服務(wù)使用統(tǒng)一的標(biāo)準(zhǔn)和方法在網(wǎng)絡(luò)上發(fā)布,一個(gè)信息應(yīng)用就可以按照代價(jià)或性能的標(biāo)準(zhǔn),從這兩個(gè)相互競(jìng)爭(zhēng)的候選服務(wù)中選擇一個(gè)服務(wù)來使用。服務(wù)允許在機(jī)器間復(fù)制,可以通過將特定的服務(wù)復(fù)制到本地存儲(chǔ)庫,從而提高位于特定的計(jì)算機(jī)(群)上的應(yīng)用程序的性能.5目前五頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)的本質(zhì)從表像上看,Web服務(wù)就是應(yīng)用程序,它向外界暴露出一個(gè)能夠通過Web訪問方式進(jìn)行調(diào)用的服務(wù)接口。從應(yīng)用程序的角度上看,Web服務(wù)是一種新的Web應(yīng)用程序,是自包含、自描述、模塊化的應(yīng)用程序,可以通過互聯(lián)網(wǎng)特別是Web方式來描述、發(fā)布、查找和調(diào)用。6目前六頁\總數(shù)一百九十三頁\編于二十點(diǎn)發(fā)展脈絡(luò)—前期互聯(lián)網(wǎng)一個(gè)以協(xié)議為主的交互世界

底層網(wǎng)絡(luò)協(xié)議和簡(jiǎn)單的內(nèi)容傳輸協(xié)議:“桶”到“桶”之間的交換,不觸及“桶”中的內(nèi)容很少觸及7目前七頁\總數(shù)一百九十三頁\編于二十點(diǎn)發(fā)展脈絡(luò)—當(dāng)前互聯(lián)網(wǎng)一個(gè)以“文檔的對(duì)象化”形式主導(dǎo)的交互世界O-本體(論域中的標(biāo)準(zhǔn)化概念)Service(instance)-(對(duì)象)Serviceschema-知識(shí)模式(類)Controlled-vocabulary受控詞集(人或機(jī)器理解的含義)8目前八頁\總數(shù)一百九十三頁\編于二十點(diǎn)發(fā)展脈絡(luò)—當(dāng)前互聯(lián)網(wǎng)一個(gè)以“文檔的對(duì)象化”形式主導(dǎo)的交互世界O-本體(論域中的標(biāo)準(zhǔn)化概念)Service(instance)-(對(duì)象)Serviceschema-知識(shí)模式(類)Controlled-vocabulary受控詞集(人或機(jī)器理解的含義)9目前九頁\總數(shù)一百九十三頁\編于二十點(diǎn)發(fā)展脈絡(luò)—今后互聯(lián)網(wǎng)一個(gè)以價(jià)值為導(dǎo)向的交互世界未經(jīng)整合、低價(jià)值的資源經(jīng)過整合、高價(jià)值的服務(wù)10目前十頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)特征完好的封裝性。服務(wù)是一種部署在Web上的對(duì)象,自然具備對(duì)象的良好封裝性,對(duì)于使用者而言,能且僅能看到該對(duì)象提供的功能列表。松散耦合:當(dāng)一個(gè)Web服務(wù)的實(shí)現(xiàn)發(fā)生變更的時(shí)候,調(diào)用者是不會(huì)感到這一點(diǎn)的,對(duì)于調(diào)用者來說,只要服務(wù)的調(diào)用接口不變,服務(wù)實(shí)現(xiàn)任何變更對(duì)他們來說都是透明的。使用標(biāo)準(zhǔn)協(xié)議規(guī)范:作為Web服務(wù),其所有公共的協(xié)約完全需要使用開放的標(biāo)準(zhǔn)協(xié)議進(jìn)行描述、傳輸和交換。這些標(biāo)準(zhǔn)協(xié)議具有完全免費(fèi)的規(guī)范,以便由任意方進(jìn)行實(shí)現(xiàn)。高度可集成能力:由于服務(wù)采取簡(jiǎn)單的、易理解的標(biāo)準(zhǔn)協(xié)議作為組件接口描述規(guī)范和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺(tái)的差異。11目前十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)優(yōu)勢(shì)高度的通用性和易用性:Web服務(wù)利用標(biāo)準(zhǔn)的工Internet協(xié)議(如HTTP,SMTP等),解決了面向Web的分布式計(jì)算模式,提高了系統(tǒng)的開放性、通用性和可擴(kuò)展性。完全的平臺(tái)、語言獨(dú)立性:Web服務(wù)進(jìn)行了更高程度的抽象,只要遵守Web服務(wù)的接口即可進(jìn)行服務(wù)的請(qǐng)求與調(diào)用。高度的集成性:Web服務(wù)實(shí)質(zhì)就是通過服務(wù)的組合來完成業(yè)務(wù)邏輯的,因此,表現(xiàn)出了高度的組裝性和集成性.容易發(fā)布和部署:Web服務(wù)體系結(jié)構(gòu)方案通過UDDI,WSDL,SOAP等技術(shù)協(xié)議,能夠很容易實(shí)現(xiàn)系統(tǒng)的部署.12目前十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)架構(gòu)棧(1)(2)(3)(4)(2)、(3)將在2.3節(jié)討論13目前十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱14目前十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA(Service-OrientedArchitecture)起源SOA不是一個(gè)新概念,通用對(duì)象代理架構(gòu)CORBA和分布式組件對(duì)象模型DCOM被看成是SOA架構(gòu)的前身。1996年,GartnerGroup提出了SOA“預(yù)言”(到2008年,超過60%的企業(yè)將使用SOA作為一個(gè)“指導(dǎo)原則”),因?yàn)楫?dāng)時(shí)的軟件發(fā)展水平和信息化程度還不足支撐此概念進(jìn)入實(shí)質(zhì)性的應(yīng)用階段。SOA可以認(rèn)為是面向?qū)ο蠓治雠c設(shè)計(jì)(OOAD)的合理發(fā)展;也是電子商務(wù)解決方案中,在體系結(jié)構(gòu)、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)與部署時(shí)所采用的組件化方法的合理發(fā)展。15目前十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA興起原因(計(jì)算部件的對(duì)象化趨勢(shì))分布式系統(tǒng)的自然發(fā)展系統(tǒng)與運(yùn)算環(huán)境的異質(zhì)性操作環(huán)境的動(dòng)態(tài)性交流設(shè)備細(xì)節(jié)的透明化面向過程需要多重服務(wù)16目前十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)GartnerGroup關(guān)于SOA的最初概念客戶端/服務(wù)器的軟件設(shè)計(jì)方法,一項(xiàng)應(yīng)用由軟件服務(wù)和軟件服務(wù)使用者組成。SOA與大多數(shù)通用的客戶端/服務(wù)器模型的不同之處,在于它強(qiáng)調(diào)軟件組件的松散耦合,并使用獨(dú)立的標(biāo)準(zhǔn)接口(對(duì)象化趨勢(shì))17目前十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA的當(dāng)前定義[W3C]SOA的定義:SOA是組件的集合,這些組件能被調(diào)用,并且接口的描述可以發(fā)布和發(fā)現(xiàn)。[維基百科]SOA的定義:SOA是構(gòu)造分布式計(jì)算的應(yīng)用程序的方法。它將應(yīng)用程序功能作為服務(wù)發(fā)送給最終用戶或者其它服務(wù)。它采用開放標(biāo)準(zhǔn)、與軟件資源進(jìn)行交互并采用表示的標(biāo)準(zhǔn)方式。18目前十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA的當(dāng)前定義(續(xù))當(dāng)代SOA代表一個(gè)開放的、敏捷的、可擴(kuò)展的、可聯(lián)邦的、可組合的架構(gòu),包含了自治的、高服務(wù)質(zhì)量的、廠商多樣性的、可互操作的、可發(fā)現(xiàn)的和潛在可復(fù)用的服務(wù),使用Web服務(wù)來實(shí)現(xiàn)。 ——ThomasErl 《SOA概念、技術(shù)與設(shè)計(jì)》19目前十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)普遍接受的SOA架構(gòu)W3C發(fā)布的Web服務(wù)架構(gòu)基本兩種基本角色(服務(wù)提供者和服務(wù)請(qǐng)求者)和一個(gè)可選的服務(wù)注冊(cè)中心.三種角色交互,涉及發(fā)布、發(fā)現(xiàn)、綁定操作.UDDI、WSDL和SOAP將在2.3節(jié)“語義互操作”中討論20目前二十頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA架構(gòu)中的角色服務(wù)提供者(serviceprovider):發(fā)布自己的服務(wù),并且使用自身服務(wù)的請(qǐng)求進(jìn)行響應(yīng).服務(wù)代理(servicebroker):可選.注冊(cè)與發(fā)布服務(wù)及其提供者,對(duì)其進(jìn)行分類,并提供搜索服務(wù).服務(wù)使用者(servicerequester):利用服務(wù)代理來查找所需服務(wù),進(jìn)而根據(jù)需求使用該服務(wù).21目前二十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA架構(gòu)中的操作發(fā)布(publish):使服務(wù)提供者可以通過向服務(wù)代理注冊(cè)自己的功能及訪問接口.查找(find):服務(wù)使用者可以通過服務(wù)代理查找特定的服務(wù).綁定(bind):使服務(wù)使用者能夠調(diào)用或激活服務(wù).22目前二十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA架構(gòu)特點(diǎn)服務(wù)的封裝(encapsulation).將服務(wù)封裝成用于業(yè)務(wù)流程的可重用組件的應(yīng)用程序函數(shù).服務(wù)的互操作(interoperability).通過服務(wù)之間既定的通信協(xié)議進(jìn)行互操作,SOA提供服務(wù)的互操作特性更利于其在多種場(chǎng)合被重用(“服務(wù)”(組織和交互方式)這種抽象協(xié)議).服務(wù)是位置透明的(locationtransparency).服務(wù)請(qǐng)求者不需要知道服務(wù)的具體位置及是哪一個(gè)服務(wù)響應(yīng)了自己的請(qǐng)求.23目前二十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA架構(gòu)特點(diǎn)(續(xù))服務(wù)的重用(reuse).一個(gè)服務(wù)是一個(gè)獨(dú)立的實(shí)體,與底層實(shí)現(xiàn)和用戶的需求完全無關(guān),極大的方便了服務(wù)的重復(fù)使用,從而降低了開發(fā)成本.服務(wù)是自治(autonomous)的功能實(shí)體.服務(wù)是由組件組成的組合模塊,是自包含和模塊化的.服務(wù)之間的松散耦合(looselycoupled).服務(wù)請(qǐng)求者和服務(wù)提供者之間只有接口上的往來,至于服務(wù)內(nèi)部如何更改,如何實(shí)現(xiàn)都與服務(wù)請(qǐng)求者無關(guān)24目前二十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA與Web服務(wù)(當(dāng)前P7和前期P8的區(qū)別)的

聯(lián)系與區(qū)別SOA是一套面向服務(wù)架構(gòu)的標(biāo)準(zhǔn)規(guī)范;Web服務(wù)是一套技術(shù)體系,可以用來建立應(yīng)用解決方案,解決特定的消息通信和應(yīng)用集成問題。SOA是一種軟件架構(gòu),不局限于某個(gè)技術(shù)的組合(例如Web服務(wù))。SOA和Web服務(wù)是一對(duì)關(guān)聯(lián)技術(shù)。25目前二十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱26目前二十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)發(fā)展脈絡(luò)—對(duì)象化的文檔互聯(lián)網(wǎng)一個(gè)以“文檔的對(duì)象化”形式主導(dǎo)的交互世界O-本體(論域中的標(biāo)準(zhǔn)化概念)Service(instance)-(對(duì)象)Serviceschema-知識(shí)模式(類)Controlled-vocabulary受控詞集(人或機(jī)器理解的含義)27目前二十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)XML建模體系與語義Web語義互操作途徑之一:當(dāng)前式,RDF、本體與語義Web語義互操作途徑之二:三角架構(gòu),UDDI(開放式的)、WSDL(類或者對(duì)象)與SOAP(前期-內(nèi)容傳輸)28目前二十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)適用于網(wǎng)絡(luò)應(yīng)用的標(biāo)簽化描述方式XMLXML(可擴(kuò)展標(biāo)記語言)是SGML的子集,其目標(biāo)是允許普通的SGML在Web上以HTML的方式被服務(wù)、接收和處理。XML被設(shè)計(jì)成易于實(shí)現(xiàn),且可在SGML和HTML之間互相操作。29目前二十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)XML的基本特點(diǎn)XML是結(jié)構(gòu)化的。XML是自描述的。XML允許自定義標(biāo)簽,并且這些標(biāo)簽可以說明數(shù)據(jù)的語義,而不是HTML中的格式說明。XML是可擴(kuò)展的。XML的概念很簡(jiǎn)單,但是它卻有廣闊的應(yīng)用領(lǐng)域,因?yàn)槿魏稳硕伎梢园凑兆约簯?yīng)用的需要定義相應(yīng)的XML標(biāo)簽來表達(dá)信息的結(jié)構(gòu)和類型。獨(dú)立于平臺(tái)和應(yīng)用。文檔內(nèi)容是基于UniCode的文本,適于網(wǎng)絡(luò)的傳輸。XML易于設(shè)計(jì)。XML文檔容易編寫,設(shè)計(jì)正式且簡(jiǎn)潔,可讀性強(qiáng)。更精確的搜索。XML標(biāo)簽表達(dá)的是內(nèi)容的含義,從而搜索引擎可以通過搜索XML文檔得到更精確的需要的內(nèi)容。廣泛的支持。XML得到了眾多的軟件廠商比如Microsoft,IBM,Sun,Oracle等幾乎所有大公司的支持。30目前三十頁\總數(shù)一百九十三頁\編于二十點(diǎn)簡(jiǎn)單的XML文件XML聲明文檔類型聲明文檔元素<?xmlversion=“1.0”encoding=“utf-8”?><!DOCTYPEbooksSYSTEM“books.dtd”[ <!ENTITYbookName“XML簡(jiǎn)明教程”>]><books>

<book>

<name>Java超級(jí)編程</name>

<author>比爾蓋茨</author>

</book></books>31目前三十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)格式良好(Well-formed)的XML文檔遵循如下規(guī)則的XML文檔稱為格式良好的XML文檔:語法規(guī)范必須有XML聲明語句<?xmlversion="1.0"encoding="gb2312"?>必須有且僅有一個(gè)根元素標(biāo)記大小寫敏感屬性值用引號(hào)標(biāo)記成對(duì)空標(biāo)記關(guān)閉元素正確嵌套32目前三十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)有限表達(dá)能力的XMLDTD描述XML文檔的結(jié)構(gòu)時(shí),文件類型定義(DTD)是一個(gè)重要的工具,DTD也是XML1.0的重要組成部分。但DTD存在不少缺陷:DTD是基于正則表達(dá)式的,描述能力有限;DTD沒有數(shù)據(jù)類型的支持,在大多數(shù)應(yīng)用環(huán)境下能力不足;DTD的約束定義能力不足,無法對(duì)XML實(shí)例文檔作出更細(xì)致的語義限制;DTD的結(jié)構(gòu)不夠系統(tǒng)化,復(fù)用的代價(jià)相對(duì)比較高;DTD并非使用XML作為描述手段,而DTD的構(gòu)建和訪問并沒有標(biāo)準(zhǔn)的編程接口,無法使用標(biāo)準(zhǔn)的編程方式進(jìn)行DTD維護(hù)。33目前三十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)較強(qiáng)表達(dá)能力的XMLSchemaXMLSchema是針對(duì)DTD的缺點(diǎn)設(shè)計(jì)的。2001年5月,XMLSchema作為W3C的推薦標(biāo)準(zhǔn)正式發(fā)布,并迅速取代DTD的地位,成為描述XML文檔結(jié)構(gòu)的主流技術(shù)。34目前三十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)XMLSchema的優(yōu)點(diǎn)一致性。XMLSchema本身就是一個(gè)XML文檔。擴(kuò)展性。XMLSchema對(duì)DTD進(jìn)行擴(kuò)展,引進(jìn)了數(shù)據(jù)類型、命名空間等,還可以基于標(biāo)準(zhǔn)數(shù)據(jù)類型創(chuàng)建自己的數(shù)據(jù)類型?;Q性。利用XMLSchema能夠書寫XML文檔以及驗(yàn)證文檔的合法性。通過映射機(jī)制,可以實(shí)現(xiàn)Schema的轉(zhuǎn)換。規(guī)范性。XMLSchema更加便于描述文檔的內(nèi)容,對(duì)數(shù)據(jù)的內(nèi)容、格式進(jìn)行各種限制,對(duì)各種不同的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并驗(yàn)證數(shù)據(jù)的正確性。35目前三十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)ASimpleXMLSchema<?xmlversion="1.0"?>//XML聲明<xs:schemaxmlns:xs="/2001/XMLSchema"targetNamespace=""xmlns=""elementFormDefault="qualified"><xs:elementname="note"><xs:complexType><xs:sequence> <xs:elementname="to"type="xs:string"/> <xs:elementname="from"type="xs:string"/> <xs:elementname="heading"type="xs:string"/> <xs:elementname="body"type="xs:string"/></xs:sequence></xs:complexType></xs:element></xs:schema>36目前三十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)XML的自描述體系與語義Web的發(fā)展37目前三十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)XML建模體系與語義Web語義互操作途徑之一:RDF、本體與語義Web語義互操作途徑之二:UDDI、WSDL與SOAP38目前三十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于XML的語義Web技術(shù)傳統(tǒng)的Web面向文檔,沒有提供網(wǎng)頁中數(shù)據(jù)語義信息的表述和處理機(jī)制,不便于通過計(jì)算機(jī)進(jìn)行判斷和推理。2001年,Web創(chuàng)始人TimBerners-Lee等人正式提出語義Web。語義Web對(duì)現(xiàn)在的Web進(jìn)行了擴(kuò)展和延伸,通過XML、RDF/RDFS和本體技術(shù),將Web中的信息按照語義層次結(jié)構(gòu)進(jìn)行組織,并以此為基礎(chǔ)構(gòu)建推理規(guī)則,完成語義的知識(shí)表達(dá)和推理。39目前三十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)RDF(資源描述框架)

ResourceDescriptionFramework(RDF)是W3C組織于2004年2月10日發(fā)布的一個(gè)推薦標(biāo)準(zhǔn)。它的功能是利用當(dāng)前存在著的多種元數(shù)據(jù)標(biāo)準(zhǔn)來描述各種網(wǎng)絡(luò)資源,形成人機(jī)可讀的、可以由計(jì)算機(jī)自動(dòng)處理的文件。RDF是采用XML語法格式處理元數(shù)據(jù)的應(yīng)用,為描述圖像、文檔和它們之間的相互關(guān)系定義了一個(gè)簡(jiǎn)單數(shù)據(jù)模型。簡(jiǎn)而言之,RDF用于進(jìn)行資源描述,但它并不直接用來描述資源,而是定義了描述資源的規(guī)則。40目前四十頁\總數(shù)一百九十三頁\編于二十點(diǎn)RDFSchema(RDFS)RDFSchema是資源描述框架的擴(kuò)展。RDF模式相對(duì)于RDF來說提供了一個(gè)更高級(jí)別的抽象概念。具體類別的資源具體的屬性描述的資源與屬性直接的關(guān)系RDFS允許具體資源能被描述成為更加普通的類別的實(shí)例。RDFS提供了傳統(tǒng)RDF詞匯能被發(fā)展的機(jī)制,同時(shí),RDFS提供了重要的語義功能,即能被增強(qiáng)型的語義語言如DAML,OIL和OWL進(jìn)行使用。41目前四十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)RDF的自描述體系與語義Web的發(fā)展42目前四十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)本體“本體”這個(gè)術(shù)語來自于哲學(xué),它是研究世界上的各種實(shí)體以及它們是怎么關(guān)聯(lián)的科學(xué)。對(duì)于web,本體則關(guān)于對(duì)web信息及web信息之間的關(guān)系的精確描述。關(guān)于論域中概念的精確描述43目前四十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)WebOntologyLanguage(OWL)Web本體語言是構(gòu)建在RDF之上的,用于處理Web中信息的標(biāo)記語言,于2004年成為W3C建議標(biāo)準(zhǔn)。OWL提供更多的詞匯、豐富的操作符、更強(qiáng)的語法,來對(duì)領(lǐng)域知識(shí)或者概念加以描述。通過簡(jiǎn)單的概念定義復(fù)雜的概念,按照“概念-屬性-概念”的形式描述概念間的關(guān)系。44目前四十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)OWL子語言-按描述和計(jì)算能力分類為了便于開發(fā)支持OWL的工具,OWL提供了以下三個(gè)子語言。OWLLite創(chuàng)建簡(jiǎn)單的本體用戶OWLDL(描述邏輯)當(dāng)在需要較強(qiáng)的表達(dá)能力,同時(shí)所有的結(jié)論都需要能通過計(jì)算推理得到、所有的計(jì)算都能在有限的時(shí)間內(nèi)完成時(shí),可以使用OWLDL。OWLFull高表達(dá)能力45目前四十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)語義Web服務(wù)和OWL-S語義Web服務(wù)(SWWS)就是將語義Web技術(shù)與Web服務(wù)技術(shù)相結(jié)合,通過語義Web服務(wù)標(biāo)記語言O(shè)WL-S,利用本體來描述Web服務(wù)信息,通過這些帶有語義信息的描述來實(shí)現(xiàn)服務(wù)的自動(dòng)發(fā)現(xiàn)、調(diào)用和組合。46目前四十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)OWL-SOWL-S是本體語言,是OWL基礎(chǔ)框架的語義Web,為了描述語義Web服務(wù)。OWL-S能使用戶和軟件提供商自動(dòng)地發(fā)現(xiàn)、調(diào)用、組合和監(jiān)控Web資源來提供服務(wù)。OWL-S的目標(biāo)自動(dòng)的Web服務(wù)發(fā)現(xiàn)自動(dòng)的Web服務(wù)調(diào)用自動(dòng)的Web服務(wù)組合和互操作47目前四十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)OWL-S重要組成ServiceProfile描述此Web服務(wù)提供什么服務(wù)、介紹服務(wù)的名稱、提供的功能、服務(wù)提供者的聯(lián)系方式。ProcessModel描述Web服務(wù)是怎樣工作。ServiceGrounding描述怎樣使用Web服務(wù)48目前四十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)OWL-S技術(shù)來源49目前四十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)XML建模體系與語義Web語義互操作途徑之一:RDF、本體與語義Web語義互操作途徑之二:UDDI、WSDL與SOAP50目前五十頁\總數(shù)一百九十三頁\編于二十點(diǎn)傳統(tǒng)WebService互操作的核心技術(shù)WebService的核心技術(shù)主要包括SOAP、WSDL和UDDI。這三大部分代表了Webservice體系中的三個(gè)層次,分別是:傳輸層、描述層和發(fā)現(xiàn)層。51目前五十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP使人想起了互聯(lián)網(wǎng)發(fā)的前期互聯(lián)網(wǎng)一個(gè)以協(xié)議為主的交互世界

底層網(wǎng)絡(luò)協(xié)議和簡(jiǎn)單的內(nèi)容傳輸協(xié)議:“桶”到“桶”之間的交換,不觸及“桶”中的內(nèi)容很少觸及52目前五十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)SOAP是一種在分布式環(huán)境中進(jìn)行信息轉(zhuǎn)換的輕量級(jí)協(xié)議。作為一種不依賴傳輸協(xié)議、用于在應(yīng)用程序之間以對(duì)象的形式交換數(shù)據(jù)的表示層通信協(xié)議,SOAP是WebServices的核心。主要特征擴(kuò)展性(Extensible)。SOAP定義了一個(gè)框架,允許例如安全、路由和可靠性等特性作為分層擴(kuò)展添加進(jìn)來互操作(Interoperable)。SOAP允許使用任何傳輸協(xié)議傳輸數(shù)據(jù)。獨(dú)立(Independent)于編程模型。SOAP采用XML文本格式,因此可以獨(dú)立于各種編程語言和平臺(tái)。53目前五十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP信息交換模式SOAP消息交換模式(MEP)是指如何根據(jù)通信的需要將多條消息組合成一條整體的消息交換的抽象描述。四種模式:請(qǐng)求-響應(yīng)消息交換模式

一個(gè)SOAP節(jié)點(diǎn)向另一個(gè)SOAP節(jié)點(diǎn)發(fā)送的包含SOAP信息的請(qǐng)求,另一個(gè)節(jié)點(diǎn)返回包含SOAP消息的響應(yīng)54目前五十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP信息交換模式(續(xù))單一響應(yīng)消息交換模式

一個(gè)SOAP節(jié)點(diǎn)向另一個(gè)SOAP節(jié)點(diǎn)發(fā)送的請(qǐng)求不包含任何SOAP信息,而期望對(duì)方返回SOAP消息。SOAPWeb方法特性

請(qǐng)求響應(yīng)模式和單一響應(yīng)模式可一起使用,SOAP節(jié)點(diǎn)間互相交流一些額外信息以表示W(wǎng)eb方法的名字。SOAPAction特性

請(qǐng)求響應(yīng)模式和單一響應(yīng)模式可一起使用,SOAP節(jié)點(diǎn)間互相交流一些額外信息以表示其激活標(biāo)志。55目前五十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP信息交換ServiceBrokerServiceConsumerServiceProviderhttp

SOAPmessageWSDLdescribingserviceSOAPmessagehttpclientserviceregistryfindpublishDESCRIBEINVOKESOAPSenderSOAPReceiverSOAPSenderSOAPReceiverrequestresponse56目前五十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP協(xié)議組成SOAP由4部分組成:SOAP封裝(SOAPEnvelope)構(gòu)造定義了一個(gè)整體的表示框架,可用于表示在消息中的是什么誰應(yīng)當(dāng)處理它是“可選的”還是“強(qiáng)制的”SOAP編碼規(guī)則(SOAPEncodingRules)定義了一套編碼機(jī)制用于交換應(yīng)用程序定義的數(shù)據(jù)類型的實(shí)例SOAPRPC表示(SOAPRPCPresentation)定義了一個(gè)用于表示遠(yuǎn)程過程調(diào)用和響應(yīng)的約定SOAP綁定(SOAPBinding)定義了一種使用底層傳輸協(xié)議來完成在節(jié)點(diǎn)間交換SOAP封裝的約定。57目前五十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP信息格式SOAPBodySOAPheaderSOAPenvelopeHeaderblockHeaderdataHeaderdataHeaderdataBodychildelementBodychildelement58目前五十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)<env:Envelopexmlns:env="/2003/05/soap-envelope"><env:Header>

<n:alertcontrolxmlns:n="/alertcontrol">

<n:priority>1</n:priority>

<n:expires>2001-06-22T14:00:00-05:00</n:expires> </n:alertcontrol>

</env:Header><env:Body>

<m:alertxmlns:m="/alert">

<m:msg>PickupMaryatschoolat2pm</m:msg>

</m:alert>

</env:Body></env:Envelope>

59目前五十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP編碼SOAP編碼:將數(shù)據(jù)的值編碼為XML格式對(duì)于應(yīng)用中所定義的數(shù)據(jù)結(jié)構(gòu)和值,SOAP可以將其轉(zhuǎn)換為由節(jié)點(diǎn)和帶有標(biāo)簽的邊組成的圖,稱為數(shù)據(jù)模型,并進(jìn)而通過SOAP編碼規(guī)則將SOAP數(shù)據(jù)模型轉(zhuǎn)換為XML格式。60目前六十頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAPRPCSOAP遠(yuǎn)程過程調(diào)用信息描述了方法的請(qǐng)求或者方法的回復(fù)。SOAPXML文檔在服務(wù)器端轉(zhuǎn)換成方法調(diào)用,調(diào)用后的結(jié)果將編碼成為XML文檔返回給服務(wù)請(qǐng)求者。61目前六十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP請(qǐng)求目標(biāo)對(duì)象的URI方法的參數(shù)方法名62目前六十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP響應(yīng)方法名目標(biāo)對(duì)象的URI返回的結(jié)果63目前六十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP協(xié)議綁定SOAP可在任何傳輸協(xié)議上使用,并提供了一種用于定義任意協(xié)議綁定的靈活框架。HTTP使用極為廣泛,也是SOAP協(xié)議綁定對(duì)象的首選。64目前六十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)HTTP請(qǐng)求與回應(yīng)POST

/Accounts/Henrik

HTTP/1.1

Content-Type:text/xml;charset="utf-8“

Content-Length:nnnn

SOAPAction:"/MyMessage"

<SOAP:Envelope...

HTTP請(qǐng)求HTTP回應(yīng)HTTP/1.1200Ok

Content-Type:text/xml;charset="utf-8“

Content-Length:nnnn

<SOAP:Envelope...

HTTP請(qǐng)求方法HTTP協(xié)議版本HTTP請(qǐng)求資源資源的文本類型以及編碼格式、長(zhǎng)度SOAPActionHTTP請(qǐng)求頭字段(指示SOAPHTTP請(qǐng)求的目的,它的值是一個(gè)標(biāo)識(shí)該目的的URI)SOAP信息2XX狀態(tài)碼表示成功返回65目前六十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOA架構(gòu)

66目前六十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)WSDL使人想起了互聯(lián)網(wǎng)發(fā)展的當(dāng)前狀況互聯(lián)網(wǎng)一個(gè)以“文檔的對(duì)象化”形式主導(dǎo)的交互世界O-本體(論域中的標(biāo)準(zhǔn)化概念)Service(instance)-(對(duì)象)Serviceschema-知識(shí)模式(類)Controlled-vocabulary受控詞集(人或機(jī)器理解的含義)67目前六十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)WSDLWSDL(Webservicesdescriptionlanguage)是以XML格式來描述Web服務(wù)接口,指定Web服務(wù)的位置、操作方法等信息的描述語言。使用者使用WSDL就可以使用Web服務(wù),而不必關(guān)心服務(wù)的實(shí)現(xiàn)細(xì)節(jié)。68目前六十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)WSDL構(gòu)成元素WSDL文檔包含7個(gè)關(guān)鍵的構(gòu)成元素:<definitions><types><message><operation><portType><binding><port><service<types>、<message>、<operation>和<portType>元素是WebService的抽象定義,與具體的WebService部署細(xì)節(jié)無關(guān),可以被重用;而<binding>、<port>和<service>元素是WebService的具體描述,其中定義了WebService的技術(shù)細(xì)節(jié)69目前六十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)WSDL文檔結(jié)構(gòu)示例代碼:WeatherWebService.wsdl是天氣預(yù)報(bào)WebService的WSDL文檔,具體含義分析如下:

<definitions>

該元素用來定義WSDL文檔的名稱,引入需要的XML命名空間<definitionsname="Weather" xmlns="/wsdl/" xmlns:soap="/wsdl/soap/"

xmlns:tns="/Weather/" xmlns:xsd="/2001/XMLSchema"

targetNamespace="/Weather/">70目前七十頁\總數(shù)一百九十三頁\編于二十點(diǎn)<types>元素規(guī)定了與消息相關(guān)的數(shù)據(jù)類型的定義

<types><xsd:schematargetNamespace="/Weather/">

<xsd:elementname="WeatherRequest"><xsd:complexType><xsd:sequence><xsd:elementname="city"type="xsd:string"/><xsd:elementname="date"type="xsd:date"/></xsd:sequence></xsd:complexType></xsd:element><xsd:elementname="WeatherResponse"><xsd:complexType><xsd:sequence><xsd:elementname="temperature"type="xsd:int"/><xsd:elementname="humidity"type="xsd:int"/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></types>71目前七十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)<message>

<message>(消息)元素定義了傳遞的消息的數(shù)據(jù)結(jié)構(gòu)<portType>

<portType>(端口類型)元素是抽象操作和抽象消息的組合<messagename="getWeatherRequest"> <partelement="tns:WeatherRequest"name="parameters"/></message><messagename="getWeatherResponse"> <partelement="tns:WeatherResponse"name="parameters"/></message><portTypename="Weather"> <operationname="getWeather"> <inputmessage="tns:getWeatherRequest"/> <outputmessage="tns:getWeatherResponse"/> </operation></portType>72目前七十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)<binding>

<binding>(綁定)元素用來具體化<portType>元素,其中定義了<portType>元素中的操作和消息的格式與協(xié)議等<bindingname="WeatherSOAP"type="tns:Weather"> <soap:bindingstyle="document""/> <operationname="getWeather"> <soap:operation

soapAction"/> <input> <soap:bodyuse="literal"/> </input> <output> <soap:bodyuse="literal"/> </output> </operation></binding>73目前七十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)<service>

<service>(服務(wù))元素指定了WebService的位置。一個(gè)<service>元素可以包含多個(gè)<port>(端口)元素,端口的集合構(gòu)成了service。weather.wsdl中的<service>元素如下:<servicename="Weather"> <portbinding="tns:WeatherSOAP"name="WeatherSOAP">

<soap:addresslocation="/"/> </port></service>74目前七十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)WSDL綁定WSDL綁定可為webservice定義消息格式和協(xié)議細(xì)節(jié)。WSDL規(guī)范中定義了3種綁定擴(kuò)展:SOAP綁定HTTPGETPOST綁定MIME綁定其中SOAP綁定是最常用的一種方式。75目前七十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)SOAP綁定<binding

name="WeatherSOAP"

type="tns:Weather"> <soap:binding

style="document" transport="/soap/http"/> <operationname="getWeather"> <soap:operation soapAction="/Weather/getWeather"/> <input> <soap:bodyuse="literal"/> </input> <output> <soap:bodyuse="literal"/> </output> </operation></binding>綁定名,命名空間不重復(fù)指出綁定是針對(duì)SOAP協(xié)議格式的指出操作是面向RPC(消息包含參數(shù)和返回值)的還是面向文檔的(消息包含文檔)使用的SOAP協(xié)議指出綁定是針對(duì)SOAP協(xié)議格式的此URI應(yīng)當(dāng)被直接用作SOAPAction頭的值給出輸入、輸出消息的編碼為literal76目前七十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)UDDIUDDI是通過因特網(wǎng)描述服務(wù)、發(fā)現(xiàn)服務(wù)并且集成商業(yè)服務(wù)的一個(gè)獨(dú)立于平臺(tái)的框架。UDDI代表著普遍化的描述、發(fā)現(xiàn)和集成。UDDI是一個(gè)存儲(chǔ)Web服務(wù)的目錄,使用WSDL描述Web服務(wù)接口。77目前七十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)UDDI互聯(lián)網(wǎng)今后發(fā)展的初級(jí)階段互聯(lián)網(wǎng)一個(gè)以價(jià)值為導(dǎo)向的交互世界未經(jīng)整合、低價(jià)值的資源78服務(wù)集市目前七十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)UDDI互聯(lián)網(wǎng)今后發(fā)展的初級(jí)階段互聯(lián)網(wǎng)一個(gè)以價(jià)值為導(dǎo)向的交互世界經(jīng)過整合、高價(jià)值的服務(wù)79服務(wù)集市存在明顯的差距目前七十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)四種核心數(shù)據(jù)類型businessEntity(描述發(fā)布服務(wù)組織的信息)businessService(描述服務(wù)的業(yè)務(wù)功能)bindingTemplate(描述服務(wù)的技術(shù)細(xì)節(jié))tModel(其他各種屬性)新的數(shù)據(jù)類型(2.0/3.0)publisherAssertion–描述所注冊(cè)的服務(wù)之間的關(guān)系Subscription–跟蹤一組實(shí)體的變更80目前八十頁\總數(shù)一百九十三頁\編于二十點(diǎn)UDDI數(shù)據(jù)結(jié)構(gòu)BusinessEntity企業(yè)碼,企業(yè)名,聯(lián)系方式,描述信息,

分類BusinessService服務(wù)碼,企業(yè)碼,服務(wù)名描述信息及分類BindingTemplate綁定碼,服務(wù)碼,

描述信息,描述信息,接入點(diǎn)tModel模型名,描述信息,

概述文檔,

指向WSDL文檔的指針WSDL文檔外部Web服務(wù)的接口描述81目前八十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)UDDI如何工作2)將服務(wù)的描述注冊(cè)到UDDI注冊(cè)中心UDDIBusinessRegistry3)

UDDI注冊(cè)中心給每個(gè)實(shí)體指定一個(gè)在程序中唯一的標(biāo)識(shí)符4)電子交易場(chǎng)所和搜索引擎等客戶機(jī)與商業(yè)應(yīng)用程序使用UDDI注冊(cè)中心來發(fā)現(xiàn)它們感興趣的服務(wù)1)軟件公司、程序員等將tModel發(fā)布到UDDI注冊(cè)中心5)企業(yè)調(diào)用這些服務(wù),簡(jiǎn)便地進(jìn)行動(dòng)態(tài)集成82目前八十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)注冊(cè)信息企業(yè)與服務(wù)的注冊(cè)信息:白頁:表示企業(yè)的基本信息,如企業(yè)的名稱、經(jīng)營(yíng)范圍描述、聯(lián)系信息等。黃頁:通過支持使用多種具有分類功能的分類法系統(tǒng)產(chǎn)生的類別劃分,使得使用者能夠在更大的范圍內(nèi)查找在注冊(cè)中心注冊(cè)的企業(yè)或者服務(wù)。綠頁:與服務(wù)相關(guān)聯(lián)的綁定信息,并提供了指向這些服務(wù)所實(shí)現(xiàn)的技術(shù)規(guī)范的引用和指向基于文件的URL的不同發(fā)型機(jī)制指針。83目前八十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)工作流程84目前八十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)WS-BPELWS-BPEL(WebServicesBusinessProcessExecutionLanguage)是一種基于XML用來描述高層業(yè)務(wù)流程的編程語言,被描述的業(yè)務(wù)流程的每個(gè)單一步驟由Web服務(wù)實(shí)現(xiàn)。原名是BPEL4WS,2002年由IBM、Microsoft、BEA合作開發(fā)。2007改名為WS-BPEL。目前版本是2.0本質(zhì)上是將一組Web服務(wù)整合在一起以形成一個(gè)新的Web服務(wù)的語言。85目前八十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)WS-BPEL基本結(jié)構(gòu)<process>//流程定義的根元素 <partnerLinks>//描述業(yè)務(wù)流程與伙伴的關(guān)系 <partnerLink> .......... </partnerLink> </partnerLinks>

<variables>//通過變量表示合作伙伴間生成與傳遞的信息 ............ </variables> <sequence> //一組順序執(zhí)行的活動(dòng) ............. </sequence></process>86目前八十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)WS-BPEL建模工具和引擎ActiveEndpointsActiveBPELengineActiveBPELDesignerOracleBPELProcessManagerIBMWebSphereBusinessIntegrationServerFoundationBEAWebLogicIntegration\AquaLogicApacheODE開源WS-BPEL引擎87目前八十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)ApacheODE開源WS-BPEL引擎ApacheODE是一個(gè)WS-BPEL兼容的Web服務(wù)編配引擎,它可以使開發(fā)人員根據(jù)以BPELXML語法寫成的過程描述來編配Web服務(wù)。88目前八十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于ApacheODE的Web服務(wù)組合一、加法服務(wù)(Add_Service)輸入double類變量a、b,輸出結(jié)果a+b;二、減法服務(wù)(Sub_Service)輸入double類變量a、b

,輸出結(jié)果a-b;三、將這兩個(gè)服務(wù)組合為一個(gè)新服務(wù)輸入double類變量a、b和字符串變量c,如果c=add,輸出結(jié)果為a+b;如果c=sub,輸出結(jié)果為a-b;89目前八十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于ApacheODE的Web服務(wù)組合90目前九十頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于ApacheODE的Web服務(wù)組合組合后的Web服務(wù)運(yùn)行結(jié)果:91目前九十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱92目前九十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)開發(fā)案例-基于IP地址的氣象查詢服務(wù)案例通過BPEL組裝IP2Location(根據(jù)IP地址查出所在地的城市名和國(guó)名)和GlobalWeather(根據(jù)城市名和國(guó)名給出天氣信息)兩個(gè)獨(dú)立的Web服務(wù),使得兩個(gè)服務(wù)能夠自動(dòng)地串行調(diào)用,并將整合了的流程發(fā)布為WeatherByIP服務(wù)。93目前九十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)業(yè)務(wù)用例客戶端向WeatherByIP服務(wù)請(qǐng)求某一個(gè)IP所在地的天氣信息當(dāng)WeatherByIP服務(wù)取得目標(biāo)IP后,將參數(shù)傳給IP2Location服務(wù)IP2Location服務(wù)根據(jù)IP地址查出所在地的城市名和國(guó)名,將此消息傳遞給GlobalWeather服務(wù)GlobalWeather服務(wù)通過城市名和國(guó)家名查詢當(dāng)?shù)氐奶鞖庑畔?,并將反饋信息傳回WeatherByIP服務(wù)WeatherByIP服務(wù)最終向用戶輸出目標(biāo)IP所在地的天氣情況。94目前九十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)ClientWeatherByIPServiceGlobalWeatherServiceIP2LocationServiceTargetedIPWeatherInfoLocationInfoTargetedIPWeatherInfo訪問流程(1)(2)(3)(4)(5)95目前九十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)開發(fā)環(huán)境NetBeansIDE5.5withNetBeansEnterprisePack5.5SunjavaSystemApplicationServerPlatformEdition9Update1PartnerServicesIP2LocationService服務(wù)地址:WSDL地址:GlobalWeatherServiceWSDL地址:.net/globalweather.asmx?wsdl96目前九十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)IP2Location接口類型SOAPHttpGetHttpPost97目前九十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)IP2Location輸入消息結(jié)構(gòu)輸入信息98目前九十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)IP2Location輸出消息結(jié)構(gòu)可輸出信息99目前九十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)GlobalWeather接口類型100目前一百頁\總數(shù)一百九十三頁\編于二十點(diǎn)GetWeather輸入消息結(jié)構(gòu)輸入信息101目前一百零一頁\總數(shù)一百九十三頁\編于二十點(diǎn)GetWeather輸出消息結(jié)構(gòu)輸出信息102目前一百零二頁\總數(shù)一百九十三頁\編于二十點(diǎn)WeatherByIPService的XMLSchema為了使整個(gè)流程的輸入格式與輸出消息格式保持一致,需在XMLSchema文檔中規(guī)定服務(wù)的輸入和輸出消息結(jié)構(gòu)。主要來源自IP2LocationService的輸入消息格式和GlobalWeatherService的輸出消息格式。103目前一百零三頁\總數(shù)一百九十三頁\編于二十點(diǎn)XMLSchema圖形化表示104目前一百零四頁\總數(shù)一百九十三頁\編于二十點(diǎn)WeatherByIP的服務(wù)描述接口類型和操作:輸入消息結(jié)構(gòu):輸出消息結(jié)構(gòu):105目前一百零五頁\總數(shù)一百九十三頁\編于二十點(diǎn)BPEL流程是業(yè)務(wù)流程的物理實(shí)現(xiàn),通過服務(wù)間的消息傳遞,實(shí)現(xiàn)相互調(diào)用和流程組合BPEL流程描述106目前一百零六頁\總數(shù)一百九十三頁\編于二十點(diǎn)BPEL變量映射在BPEL把消息從一個(gè)service傳遞給另一個(gè)service時(shí),需要定義不同服務(wù)間的消息變量的映射關(guān)系消息傳遞通過Assign活動(dòng)來實(shí)現(xiàn)。Assign1從WeatherByIP服務(wù)的輸入到IP2Location服務(wù)的輸入Assign2從IP2Location服務(wù)的輸出到GlobalWeather服務(wù)的輸入Assign3從GlobalWeather服務(wù)的輸出到WeatherByIP的輸出107目前一百零七頁\總數(shù)一百九十三頁\編于二十點(diǎn)測(cè)試輸入的SOAP消息:輸出的SOAP消息:108目前一百零八頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱109目前一百零九頁\總數(shù)一百九十三頁\編于二十點(diǎn)開發(fā)范式的變遷結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟮能浖_發(fā)基于組件的軟件開發(fā)面向服務(wù)的軟件開發(fā)(對(duì)象化+開放式)從單機(jī)系統(tǒng)、分布式系統(tǒng)、異構(gòu)分布式系統(tǒng),軟件的規(guī)模與復(fù)雜度逐漸提高,模塊耦合度逐步降低(對(duì)象化+開放式)。110目前一百一十頁\總數(shù)一百九十三頁\編于二十點(diǎn)面向服務(wù)的軟件開發(fā)特點(diǎn)兩個(gè)視圖:服務(wù)提供者視圖:關(guān)心服務(wù)如何實(shí)現(xiàn)、封裝、發(fā)布、管理服務(wù)消費(fèi)者視圖:關(guān)心服務(wù)如何組合滿足業(yè)務(wù)需求面向重用的開發(fā)DevelopmentforreuseReuse-basedDevelopment業(yè)務(wù)敏捷的開發(fā)快速構(gòu)建適應(yīng)發(fā)展111目前一百一十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)開發(fā)生命周期IBM將服務(wù)的生命周期分為建模、組裝、部署和管理四個(gè)階段,而SOA理念和最佳實(shí)踐貫穿每個(gè)階段。治理和過程為SOA工程提供指導(dǎo)和監(jiān)管,支撐整個(gè)生命周期的各個(gè)階段。112目前一百一十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)建模Model建模階段主要是收集和分析業(yè)務(wù)需求,建立和優(yōu)化業(yè)務(wù)流程,并設(shè)計(jì)軟件服務(wù)的流程。業(yè)務(wù)模型的建立是此階段的主要工作。113目前一百一十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)組裝Assemble在服務(wù)組合階段,主要是根據(jù)業(yè)務(wù)模型,利用已有的服務(wù)資源庫和業(yè)務(wù)解決方案,發(fā)現(xiàn)服務(wù)、創(chuàng)建服務(wù)和集成服務(wù)的過程。114目前一百一十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)部署Deploy在部署階段,主要是將服務(wù)以及集成的業(yè)務(wù)流程部署到運(yùn)行環(huán)境中,通過控制中心配置和優(yōu)化運(yùn)行環(huán)境,使其能夠滿足業(yè)務(wù)所需的不同服務(wù)水平要求。提供一定的靈活性,以支持服務(wù)和業(yè)務(wù)流程的動(dòng)態(tài)更新以適應(yīng)不斷變化的業(yè)務(wù)需求。115目前一百一十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)管理Manage管理階段提供對(duì)底層服務(wù)資源的管理,并實(shí)時(shí)監(jiān)測(cè)主要的性能指標(biāo)以獲得預(yù)防、隔離、分析和修復(fù)問題的信息。及時(shí)了解系統(tǒng)的狀態(tài),并為業(yè)務(wù)建模和業(yè)務(wù)流程的持續(xù)改進(jìn)提供重要的反饋信息。116目前一百一十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)提供者的開發(fā)方法零起點(diǎn)方法。為新Web服務(wù)創(chuàng)建新的服務(wù)接口,服務(wù)接口和服務(wù)實(shí)現(xiàn)都?xì)w服務(wù)提供者所有。自頂向下方法。開發(fā)一個(gè)與現(xiàn)有服務(wù)接口一致的新Web服務(wù)。這類服務(wù)接口通常是業(yè)界標(biāo)準(zhǔn)的一部分,可以被許多服務(wù)提供者實(shí)現(xiàn)。服務(wù)接口不能歸服務(wù)提供者所有。117目前一百一十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)提供者的開發(fā)方法(續(xù))自底向上方法。用于為現(xiàn)有的應(yīng)用程序創(chuàng)建新的服務(wù)接口。服務(wù)接口是從應(yīng)用程序的應(yīng)用程序編程接口(applicationprogramminginterface,API)派生出來的。中間相遇方法。當(dāng)服務(wù)接口已經(jīng)存在,并且用作Web服務(wù)的應(yīng)用程序也已經(jīng)存在時(shí),將使用中間相遇這種Web服務(wù)開發(fā)方法。主要任務(wù)是將現(xiàn)有的應(yīng)用程序接口映射到服務(wù)接口定義中定義的那些應(yīng)用程序接口。118目前一百一十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)請(qǐng)求者的開發(fā)方法靜態(tài)綁定。靜態(tài)綁定是在構(gòu)建時(shí)通過為服務(wù)請(qǐng)求者將使用的單個(gè)Web服務(wù)定位服務(wù)實(shí)現(xiàn)定義構(gòu)建的。構(gòu)建時(shí)動(dòng)態(tài)綁定。當(dāng)服務(wù)請(qǐng)求者想使用特定類型的Web服務(wù),但在運(yùn)行時(shí)之前實(shí)現(xiàn)是未知的,或者實(shí)現(xiàn)可以在運(yùn)行時(shí)發(fā)生改變,這時(shí)將使用這類綁定。這類服務(wù)定義在服務(wù)接口定義中。運(yùn)行時(shí)動(dòng)態(tài)綁定。這類綁定的不同之處在于服務(wù)接口是在運(yùn)行時(shí)被發(fā)現(xiàn)的。找到服務(wù)接口后,就生成、編譯,然后執(zhí)行代理代碼。這類綁定通常與用戶界面一起使用,因?yàn)闄C(jī)器對(duì)機(jī)器的交互不可能是真正動(dòng)態(tài)的。119目前一百一十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)設(shè)計(jì)方法中的原則服務(wù)的名稱要方便使用者服務(wù)的操作不能太多或者太少服務(wù)的操作應(yīng)該是內(nèi)聚的和完全的服務(wù)應(yīng)該對(duì)實(shí)現(xiàn)的細(xì)節(jié)進(jìn)行封裝服務(wù)應(yīng)該適應(yīng)多種調(diào)用模式服務(wù)的操作應(yīng)該是無狀態(tài)的服務(wù)應(yīng)該使用有狀態(tài)的事務(wù)進(jìn)行建模服務(wù)的操作應(yīng)該代表業(yè)務(wù)動(dòng)作服務(wù)操作的參數(shù)應(yīng)該是粗粒度的。120目前一百二十頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱121目前一百二十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算云計(jì)算(CloudComputing),是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計(jì)算機(jī)和其他設(shè)備。云計(jì)算描述了一種基于互聯(lián)網(wǎng)的新的IT服務(wù)增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)易擴(kuò)展而且經(jīng)常是虛擬化的資源。122目前一百二十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算中的服務(wù)特征隨需自助服務(wù)。隨時(shí)隨地用任何網(wǎng)絡(luò)設(shè)備訪問。多人共享資源池。快速重新部署靈活度??杀槐O(jiān)控與量測(cè)的服務(wù)?;谔摂M化技術(shù)快速部署資源或獲得服務(wù)。減少用戶終端的處理負(fù)擔(dān)。降低了用戶對(duì)于IT專業(yè)知識(shí)的依賴。123目前一百二十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)互聯(lián)網(wǎng)一個(gè)以價(jià)值為導(dǎo)向的交互世界未經(jīng)整合、低價(jià)值的資源124經(jīng)過整合、高價(jià)值的服務(wù)資源和服務(wù)集市云計(jì)算中的服務(wù)目前一百二十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算服務(wù)的概觀125目前一百二十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算服務(wù)模式軟件即服務(wù)(SaaS)平臺(tái)即服務(wù)(PaaS)基礎(chǔ)架構(gòu)即服務(wù)(IaaS)126目前一百二十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)軟件即服務(wù)(SaaS)消費(fèi)者使用應(yīng)用程序,但并不掌控操作系統(tǒng)、硬件或運(yùn)作的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。是一種服務(wù)觀念的基礎(chǔ),軟件服務(wù)供應(yīng)商,以租賃的概念提供客戶服務(wù),而非購買,比較常見的模式是提供一組帳號(hào)密碼。例如:MicrosoftCRM與S。127目前一百二十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)平臺(tái)即服務(wù)(PaaS)消費(fèi)者使用主機(jī)操作應(yīng)用程序。消費(fèi)者掌控運(yùn)作應(yīng)用程序的環(huán)境(也擁有主機(jī)部分掌控權(quán)),但并不掌控操作系統(tǒng)、硬件或運(yùn)作的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。平臺(tái)通常是應(yīng)用程序基礎(chǔ)架構(gòu)。例如:GoogleAppEngine。128目前一百二十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)基礎(chǔ)架構(gòu)即服務(wù)(IaaS)消費(fèi)者使用“基礎(chǔ)計(jì)算資源”,如處理能力、存儲(chǔ)空間、網(wǎng)絡(luò)組件或中間件。消費(fèi)者能掌控操作系統(tǒng)、存儲(chǔ)空間、已部署的應(yīng)用程序及網(wǎng)絡(luò)組件(如防火墻、負(fù)載平衡器等),但并不掌控云基礎(chǔ)架構(gòu)。例如:AmazonAWS、Rackspace。129目前一百二十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算服務(wù)的部署模型公用云(PublicCloud) 簡(jiǎn)而言之,公用云服務(wù)可通過網(wǎng)絡(luò)及第三方服務(wù)供應(yīng)者,開放給客戶使用,“公用”一詞并不一定代表“免費(fèi)”,但也可能代表免費(fèi)或相當(dāng)廉價(jià),公用云并不表示用戶數(shù)據(jù)可供任何人查看,公用云供應(yīng)者通常會(huì)對(duì)用戶實(shí)施使用訪問控制機(jī)制,公用云作為解決方案,既有彈性,又具備成本效益。私有云(PrivateCloud) 私有云具備許多公用云環(huán)境的優(yōu)點(diǎn),例如彈性、適合提供服務(wù),兩者差別在于私有云服務(wù)中,數(shù)據(jù)與程序皆在組織內(nèi)管理,且與公用云服務(wù)不同,不會(huì)受到網(wǎng)絡(luò)帶寬、安全疑慮、法規(guī)限制影響;此外,私有云服務(wù)讓供應(yīng)者及用戶更能掌控云基礎(chǔ)架構(gòu)、改善安全與彈性,因?yàn)橛脩襞c網(wǎng)絡(luò)都受到特殊限制。130目前一百三十頁\總數(shù)一百九十三頁\編于二十點(diǎn)云計(jì)算服務(wù)的部署模型(續(xù))社區(qū)云(CommunityCloud)社區(qū)云由眾多利益相仿的組織掌控及使用,例如特定安全要求、共同宗旨等。社區(qū)成員共同使用云數(shù)據(jù)及應(yīng)用程序?;旌显疲℉ybridCloud) 混合云結(jié)合公用云及私有云,這個(gè)模式中,用戶通常將非企業(yè)關(guān)鍵信息外包,并在公用云上處理,但同時(shí)掌控企業(yè)關(guān)鍵服務(wù)及數(shù)據(jù)。131目前一百三十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)2.1 概念和背景2.2 面向服務(wù)的架構(gòu)SOA2.3 語義互操作2.4 服務(wù)案例2.5 服務(wù)開發(fā)方法2.6 云計(jì)算中的服務(wù)2.7 高級(jí)專題提綱132目前一百三十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)高級(jí)專題(探索性的幾個(gè)議題)1、服務(wù)推薦

2、服務(wù)組合

3、服務(wù)演化

4、服務(wù)統(tǒng)計(jì)133目前一百三十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)推薦的背景Web服務(wù)由于其良好的互操作性、平臺(tái)獨(dú)立性受到了學(xué)術(shù)及業(yè)界的青睞。面向服務(wù)的計(jì)算改變了傳統(tǒng)的軟件開發(fā)、交互、使用的方式,形成了軟件工程和分布式計(jì)算的新型范式。

同時(shí)也帶來了若干新的挑戰(zhàn),例如:

大量服務(wù)涌現(xiàn),面對(duì)多個(gè)功能相似的服務(wù),用戶如何進(jìn)行服務(wù)選擇?134目前一百三十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)推薦技術(shù)特征的發(fā)展1、基于QoS建模的服務(wù)推薦2、QoS動(dòng)態(tài)性建模的服務(wù)推薦3、基于協(xié)同過濾的服務(wù)推薦4、基于情景感知QoS預(yù)測(cè)的個(gè)性化服務(wù)推薦135目前一百三十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于QoS建模的服務(wù)推薦常見的(Qos)服務(wù)評(píng)價(jià)因子:執(zhí)行代價(jià)、響應(yīng)時(shí)間、可靠性、可用性、信譽(yù)度、吞吐率模型的局限性:

多數(shù)情況下的前提假設(shè)是:所有的QoS數(shù)據(jù)可以從服務(wù)提供者獲取并且數(shù)據(jù)是穩(wěn)定的(不需要考慮動(dòng)態(tài)性)。由于網(wǎng)絡(luò)開放性、動(dòng)態(tài)性,Web服務(wù)的Qos信息是動(dòng)態(tài)變化的(需要考慮動(dòng)態(tài)性)136目前一百三十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)1、基于QoS建模的服務(wù)推薦2、QoS動(dòng)態(tài)性建模的服務(wù)推薦3、基于協(xié)同過濾的服務(wù)推薦4、基于情景感知QoS預(yù)測(cè)的個(gè)性化服務(wù)推薦服務(wù)推薦技術(shù)特征的發(fā)展137目前一百三十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)QoS動(dòng)態(tài)性建模的服務(wù)推薦QoS數(shù)據(jù)的收集與更新(非歷史和上下文的)

研究示范(1)ResearchontoolforservicequalitymeasurementofWebServices.主要工作:提出了一種基于APIHook收集QoS數(shù)據(jù)的方法(2)Random-QoS-AwareReliableWebServiceComposition.主要工作:將QoS的評(píng)價(jià)因子映射為一組隨機(jī)變量,用數(shù)學(xué)期望、方差來衡量評(píng)價(jià)因子的值,不僅僅計(jì)算歷史記錄值的平均值。(3)AnApproachforMeasuringQualityofWebServicesBasedontheSuperpositionofUncertainFactors.主要工作:基于非確定因素疊加的web服務(wù)評(píng)價(jià)方法。局限性:雖然反映了Web服務(wù)的動(dòng)態(tài)特征,但沒考慮不同用戶之間使用經(jīng)驗(yàn)的不同(即用戶使用服務(wù)中關(guān)注的上下文)。138目前一百三十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)1、基于QoS建模的服務(wù)推薦2、QoS動(dòng)態(tài)性建模的服務(wù)推薦3、基于協(xié)同過濾的服務(wù)推薦4、基于情景感知QoS預(yù)測(cè)的個(gè)性化服務(wù)推薦服務(wù)推薦技術(shù)特征的發(fā)展139目前一百三十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于協(xié)同過濾的服務(wù)推薦研究示范(非上下文的)(1)Reputation-basedrecommenderdiscoveryapproachforserviceselection.主要工作:將信任網(wǎng)絡(luò)劃分為若干個(gè)性化的信任網(wǎng)絡(luò),通過信任度的迭代傳播,篩選出信任度高的推薦者。(2)WebserviceQoSpredictionapproach主要工作:通過用戶間Qos數(shù)據(jù)的使用經(jīng)驗(yàn)的相似性計(jì)算,篩選出歷史Qos數(shù)據(jù)與服務(wù)請(qǐng)求者歷史Qos數(shù)據(jù)最相近的用戶及其歷史Qos記錄。局限性:

考慮到了用戶的歷史使用經(jīng)驗(yàn),但是沒有考慮用戶進(jìn)行服務(wù)調(diào)用時(shí)的情景,例如操作系統(tǒng)、內(nèi)存、CPU、網(wǎng)絡(luò)的帶寬、安全性等情況。140目前一百四十頁\總數(shù)一百九十三頁\編于二十點(diǎn)1、基于QoS建模的服務(wù)推薦2、QoS動(dòng)態(tài)性建模的服務(wù)推薦3、基于協(xié)同過濾的服務(wù)推薦4、基于情景感知QoS預(yù)測(cè)的個(gè)性化服務(wù)推薦服務(wù)推薦技術(shù)特征的發(fā)展141目前一百四十一頁\總數(shù)一百九十三頁\編于二十點(diǎn)基于情景感知QoS預(yù)測(cè)的個(gè)性化服務(wù)推薦創(chuàng)新之處

在進(jìn)行Web服務(wù)推薦時(shí),考慮到用戶調(diào)用服務(wù)時(shí)的情景,如操作系統(tǒng)、內(nèi)存、CPU、網(wǎng)絡(luò)的帶寬、安全性等等。技術(shù)路線通過聚類的方式,首先篩選出與當(dāng)前用戶服務(wù)調(diào)用的情景最接近的一組服務(wù),再進(jìn)行評(píng)價(jià)推薦。(考慮歷史和類似的上下文)142目前一百四十二頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)產(chǎn)生

當(dāng)用戶提出服務(wù)調(diào)用請(qǐng)求時(shí),一組滿足用戶功能需求的服務(wù)及其調(diào)用的歷史記錄就會(huì)生成。

歷史記錄抽象為屬性集合表示如下:

Q={q1,q2,q3,…,qk},其中包括QoS屬性如響應(yīng)時(shí)間等,Context情境屬性如IP地址,時(shí)間日期。

高斯方法(Gaussianapproach):屬性的標(biāo)準(zhǔn)化處理。

表示用戶j調(diào)用服務(wù)i的第k個(gè)屬性的標(biāo)準(zhǔn)化處理后的值。143目前一百四十三頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)生成以后,按照情境Context進(jìn)行聚類

根據(jù)服務(wù)的調(diào)用記錄,對(duì)調(diào)用記錄中屬性進(jìn)行標(biāo)準(zhǔn)化處理(高斯方法);然后按照情景的相似性(歐幾里得距離)進(jìn)行聚類(k-means算法)歐幾里得距離(Euclideandistance):計(jì)算情景屬性的相似性。

Sim(p,q)表示p,q兩條歷史記錄,調(diào)用情景的相似性。,分別表示p,q兩條歷史記錄中的第i個(gè)屬性標(biāo)準(zhǔn)化處理后的值。k-means算法:聚類算法144目前一百四十四頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)推薦

根據(jù)聚類結(jié)果,篩選出與當(dāng)前用戶調(diào)用情景最相似的一組服務(wù)。按照QoS的值對(duì)服務(wù)進(jìn)行排序,將具有最大QoS值的服務(wù)推薦給用戶。

貝葉斯推論(BayesianInference):用于按照QoS對(duì)服務(wù)進(jìn)行排序,根據(jù)先驗(yàn)概率,計(jì)算后驗(yàn)概率。

OS=1,表示用戶對(duì)服務(wù)綜合性能滿意。因此實(shí)際上p(OS=1|)表示的是用戶對(duì)服務(wù)滿意程度,值越高則服務(wù)性能越好145目前一百四十五頁\總數(shù)一百九十三頁\編于二十點(diǎn)示例:

<Q1,Q2,Q3,OS>表示服務(wù)調(diào)用的一條歷史記錄

<sj,uj>表示服務(wù)sj被用戶uj調(diào)用

146目前一百四十六頁\總數(shù)一百九十三頁\編于二十點(diǎn)流程總結(jié)高斯方法(

Gaussianapproach)數(shù)據(jù)預(yù)處理歷史記錄按情景聚類Cluster中服務(wù)按QoS排序服務(wù)生成(歷史記錄)具有最好QoS的服務(wù)推薦給用戶K-means算法貝葉斯推論當(dāng)總體QoS大于給定閾值時(shí),則表示用戶滿意即OS=1147目前一百四十七頁\總數(shù)一百九十三頁\編于二十點(diǎn)高級(jí)專題(探索性的幾個(gè)議題)1、服務(wù)推薦

2、服務(wù)組合

3、服務(wù)演化

4、服務(wù)統(tǒng)計(jì)148目前一百四十八頁\總數(shù)一百九十三頁\編于二十點(diǎn)服務(wù)組合的背景有將簡(jiǎn)單功能服務(wù)組合在一起提供復(fù)雜功能服務(wù)的需要有提高對(duì)于已有的服務(wù)復(fù)用程度的需要如何有效地組合分布于Internet中的各類服務(wù),實(shí)現(xiàn)服務(wù)之間的無縫集成,形成功能豐富的企業(yè)級(jí)服務(wù)流程以達(dá)到企業(yè)的商業(yè)目標(biāo)149目前一百四十九頁\總數(shù)一百九十三頁\編于二十點(diǎn)Web服務(wù)組合定義從業(yè)務(wù)流程的角度出發(fā),Web服務(wù)組合是根據(jù)一定的業(yè)務(wù)規(guī)則將服務(wù)進(jìn)行有機(jī)連接,使其相互協(xié)作從而完成既定的商務(wù)目標(biāo)。從應(yīng)用集成的角度出發(fā),Web服務(wù)組合是將來自于不同企業(yè)的異質(zhì)異構(gòu)信息系統(tǒng)和軟件進(jìn)行無縫集成,消除信息孤島,從而形成互通互聯(lián)的軟件聯(lián)合體的過程。從問題求解的角度出發(fā),認(rèn)為Web服務(wù)組合是為達(dá)到用戶特定目標(biāo),在給定的一些服務(wù)中,發(fā)現(xiàn)一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論