版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7-8講:面向服務(wù)的架構(gòu)(SOA)
及其實(shí)現(xiàn)實(shí)例(Web服務(wù))
一.面向服務(wù)概述二.面向服務(wù)的架構(gòu)(SOA)三.SOA實(shí)現(xiàn)實(shí)例:Web服務(wù)四.Web服務(wù)的主流實(shí)現(xiàn)技術(shù):SOAP服務(wù)五.Web服務(wù)的另一種實(shí)現(xiàn)技術(shù):REST服務(wù)六.服務(wù)虛擬化技術(shù)
1
一.面向服務(wù)概述
1.什么是現(xiàn)代服務(wù)業(yè)2.軟件產(chǎn)業(yè)中的服務(wù)
3.服務(wù)的基本特征4.新的環(huán)境賦予服務(wù)不同于傳統(tǒng)構(gòu)件的新特點(diǎn)
5.互聯(lián)網(wǎng)服務(wù)的常見表現(xiàn)形式6.服務(wù)計(jì)算
23
1.什么是現(xiàn)代服務(wù)業(yè)
服務(wù):是使用產(chǎn)品和資源創(chuàng)造價(jià)值的活動(dòng),它沒有固定的表現(xiàn)形態(tài),使用方法與具體的實(shí)現(xiàn)技術(shù)無關(guān),其使用過程通常表現(xiàn)為一個(gè)多角色參與的、具有時(shí)效性的用戶交互過程。
現(xiàn)代服務(wù)業(yè)是指在工業(yè)化較發(fā)達(dá)階段產(chǎn)生的,主要依托電子信息等高技術(shù)和現(xiàn)代管理理念、經(jīng)營(yíng)方式和組織形式而發(fā)展起來的服務(wù)部門。現(xiàn)代服務(wù)業(yè)的“三高三新”技術(shù)含量高、人力資本含量高、附加值高新技術(shù)、新業(yè)態(tài)、新方式4五大類現(xiàn)代服務(wù)業(yè)基于網(wǎng)絡(luò)信息技術(shù)服務(wù)業(yè)網(wǎng)絡(luò)信息咨詢業(yè)、ISP、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)等數(shù)字內(nèi)容服務(wù)互聯(lián)網(wǎng)出版業(yè)、網(wǎng)絡(luò)游戲、數(shù)字圖書館等信息技術(shù)服務(wù)公共服務(wù)電子商務(wù)通信、信息技術(shù)服務(wù)、中介專業(yè)服務(wù)等社區(qū)服務(wù)、醫(yī)療、衛(wèi)生、保健、教育、培訓(xùn)等金融支付、現(xiàn)代物流、現(xiàn)代農(nóng)業(yè)、現(xiàn)代旅游、狹義的電子商務(wù)等5服務(wù)之IBM的故事IBM的轉(zhuǎn)型IBM從硬件制造、軟件開發(fā),向系統(tǒng)集成商轉(zhuǎn)型以及整體解決方案的信息集成服務(wù)商轉(zhuǎn)型2002年收購(gòu)了普華永道咨詢公司,成立了業(yè)務(wù)咨詢服務(wù)集團(tuán),2004年之后,IBM總收入中的一半以上來自服務(wù)。6服務(wù)之蘋果的故事蘋果公司東山再起憑借ipod,現(xiàn)占有音樂播放器一多半的市場(chǎng)份額。蘋果的iPod造型雖炫,但是功能設(shè)計(jì)并沒多了不起,要模仿,其實(shí)也容易。關(guān)鍵在蘋果的iTunes平臺(tái),目前已經(jīng)擁有500多萬首歌曲。五大音樂唱片公司成為這個(gè)平臺(tái)的音樂提供者,蘋果同他們一起來抽成。7服務(wù)之亞馬遜的故事亞馬遜云平臺(tái)簡(jiǎn)單存儲(chǔ)云:存儲(chǔ)服務(wù)按照月租金的形式進(jìn)行付費(fèi)。彈性計(jì)算云:建立在公司內(nèi)部的大規(guī)模集群計(jì)算的平臺(tái)之上,用戶可以通過網(wǎng)絡(luò)界面操作各個(gè)實(shí)例。
2.
軟件產(chǎn)業(yè)中的服務(wù)
在軟件實(shí)現(xiàn)層面,服務(wù)通常對(duì)應(yīng)一個(gè)定義良好的、可尋址以及可組合的軟件組件,即服務(wù)組件。在軟件系統(tǒng)的構(gòu)建過程中,服務(wù)組件又常被狹義地簡(jiǎn)稱服務(wù)。
服務(wù)是溝通IT領(lǐng)域和業(yè)務(wù)領(lǐng)域的橋梁,服務(wù)的目的是使用互聯(lián)網(wǎng)資源來創(chuàng)造價(jià)值。
服務(wù)(Service):是自治、開放、自描述、實(shí)現(xiàn)無關(guān)的網(wǎng)絡(luò)構(gòu)件
面向服務(wù)的編程范型(Service‐OrientedProgrammingParadigm):指以服務(wù)的創(chuàng)建、服務(wù)的管理、以及復(fù)用已有的服務(wù)組裝形成應(yīng)用為基本活動(dòng)的編程范型。
89服務(wù)WEBRPC單機(jī)
軟件實(shí)現(xiàn)技術(shù)的發(fā)展定制10軟件形態(tài)的發(fā)展11軟件使用方式的發(fā)展服務(wù)注冊(cè)中心服務(wù)提供者服務(wù)消費(fèi)者發(fā)現(xiàn)服務(wù)發(fā)布服務(wù)使用服務(wù)商品消費(fèi)中心商品提供者商品消費(fèi)者購(gòu)買商品提供商品12軟件提供方式的發(fā)展傳統(tǒng)軟件模式:傳統(tǒng)應(yīng)用程序軟件建立在高昂的前期許可費(fèi)用和每年的支持成本之上。由于需要配置額外的硬件服務(wù)器以及IT支持,用戶數(shù)目的增加會(huì)增大開銷。一個(gè)典型的企業(yè)軟件包需要硬件部署、服務(wù)器、備份以及與企業(yè)內(nèi)外的用戶數(shù)目相匹配的網(wǎng)絡(luò)配置。傳統(tǒng)的應(yīng)用程序軟件往往是高度可定制的,但這是以財(cái)力和人工為代價(jià)的。13
應(yīng)用服務(wù)提供商應(yīng)用服務(wù)提供商(ASP):指通過互聯(lián)網(wǎng)提供軟件應(yīng)用程序或軟件相關(guān)服務(wù)的企業(yè)。ASP擁有并運(yùn)行軟件應(yīng)用程序。ASP擁有、運(yùn)行并維護(hù)運(yùn)行該應(yīng)用程序的服務(wù)器。ASP雇傭必要的人員維護(hù)該應(yīng)用程序。ASP使各個(gè)地方的客戶都可以通過互聯(lián)網(wǎng),使用瀏覽器或某種“瘦客戶端”使用該應(yīng)用程序。ASP采用按次計(jì)費(fèi)或以月費(fèi)/年費(fèi)的形式向使用該應(yīng)用程序的客戶收費(fèi)。
ASP的例子:XToolsCRM和Salesforce14從面向?qū)ο蟮矫嫦蚍?wù)面向?qū)ο螅菏褂矛F(xiàn)實(shí)世界中“對(duì)象”的概念對(duì)軟件進(jìn)行抽象,對(duì)應(yīng)用領(lǐng)域的概念和關(guān)系的分析可以借鑒到軟件設(shè)計(jì)中,并實(shí)現(xiàn)了對(duì)象級(jí)別上的代碼復(fù)用。面向組件:將業(yè)務(wù)功能以組件進(jìn)行封裝,實(shí)現(xiàn)業(yè)務(wù)組件級(jí)別的復(fù)用。面向服務(wù):將現(xiàn)實(shí)世界的“服務(wù)”的概念借鑒到軟件領(lǐng)域,將業(yè)務(wù)級(jí)的應(yīng)用抽象為服務(wù),各個(gè)業(yè)務(wù)功能被封裝為定義良好的接口,供使用者調(diào)用,實(shí)現(xiàn)了業(yè)務(wù)級(jí)別的復(fù)用。15面向服務(wù)
“面向服務(wù)”表示一種分離系統(tǒng)關(guān)注面的方法,其實(shí)質(zhì)是將一個(gè)比較大的問題分解成一系列較小的、互相關(guān)聯(lián)的子問題,從而降低問題的復(fù)雜度,使得我們能夠較從容地分析、解決和管理它?!懊嫦蚍?wù)的架構(gòu)”是一種架構(gòu)模型,它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。在面向服務(wù)的基礎(chǔ)上,還需要對(duì)業(yè)務(wù)流程進(jìn)行梳理和整合,從而能夠迅速地采用面向服務(wù)的架構(gòu)來實(shí)現(xiàn)它。16面向服務(wù)的封裝服務(wù)使用者服務(wù)接口服務(wù)實(shí)現(xiàn)新建服務(wù)遺留系統(tǒng)的封裝服務(wù)組合17
IT支持下的服務(wù)系統(tǒng)如何利用IT來更好的構(gòu)建服務(wù)系統(tǒng)?將現(xiàn)實(shí)中的服務(wù)所包含的具體業(yè)務(wù)功能/業(yè)務(wù)流程、資源等要素轉(zhuǎn)換封裝為軟件的形式;通過開放的標(biāo)準(zhǔn)/協(xié)議和Internet環(huán)境向外發(fā)布;采用標(biāo)準(zhǔn)協(xié)議將這些服務(wù)集成起來,形成協(xié)同化的軟件系統(tǒng),以此向客戶提供服務(wù)。18
可IT化的服務(wù)要素可以被IT化為軟件的服務(wù)要素:可直接將其映射為相應(yīng)的軟件規(guī)范接口;構(gòu)件;數(shù)據(jù)庫(kù);遺留系統(tǒng);19基于SOA的服務(wù)系統(tǒng)服務(wù)組合服務(wù)需求服務(wù)模型服務(wù)協(xié)調(diào)Internet、TCP/IP…Site1Site2Siten服務(wù)構(gòu)件映射映射基礎(chǔ)設(shè)施命名協(xié)議工作流引擎服務(wù)目錄語(yǔ)義解釋器業(yè)務(wù)環(huán)境服務(wù)系統(tǒng)IT環(huán)境
3.服務(wù)的基本特征
(1)用法與實(shí)現(xiàn)的分離
服務(wù)的使用方法和它的具體實(shí)現(xiàn)技術(shù)是無關(guān)的。這個(gè)特征使得人們可以以一致的方法來訪問采用不同技術(shù)實(shí)現(xiàn)的服務(wù),從而使得跨平臺(tái)集成實(shí)現(xiàn)技術(shù)異構(gòu)的應(yīng)用系統(tǒng)成為可能。(2)涉及多個(gè)角色
服務(wù)不能脫離角色而獨(dú)立存在,這也是服務(wù)與功能、接口及函數(shù)等概念最重要的區(qū)別。只有同時(shí)具有提供者和消費(fèi)者,服務(wù)才能創(chuàng)造價(jià)值。只有通過中介,服務(wù)才能實(shí)現(xiàn)松耦合的應(yīng)用構(gòu)建。(3)有時(shí)間屬性
時(shí)間是服務(wù)的重要屬性,這主要表現(xiàn)在兩個(gè)方面:20
一方面服務(wù)的調(diào)用過程可能會(huì)經(jīng)歷很長(zhǎng)的一段時(shí)間,是一個(gè)長(zhǎng)期的運(yùn)轉(zhuǎn)的過程;另一方面服務(wù)本身具有時(shí)效性,它的可用性將會(huì)隨著時(shí)間的變化而變化。(4)整體上無明確形態(tài)
服務(wù)是一個(gè)抽象的概念,它被廣泛應(yīng)用于各個(gè)領(lǐng)域中。因此,它并沒有一個(gè)固定的形態(tài),可能會(huì)隨著使用環(huán)境的不同,而又著不同的表現(xiàn)形式。因此,不同形態(tài)的服務(wù)間的互操作就成為一個(gè)重要問題。(5)可尋址和可組合可尋址和可組合是服務(wù)的兩個(gè)基本屬性。服務(wù)是對(duì)可重用資源和業(yè)務(wù)邏輯的封裝??蓪ぶ沸阅軌驇椭?wù)在更大范圍內(nèi)被更多的用戶所重用,從而創(chuàng)造更大的價(jià)值。可組合性則可以使得用戶組合不同組織提供的服務(wù),形成更為復(fù)雜的業(yè)務(wù)邏輯,產(chǎn)生增值效應(yīng),降低對(duì)應(yīng)復(fù)雜業(yè)務(wù)需求的成本。214.新的環(huán)境賦予服務(wù)不同于傳統(tǒng)構(gòu)件的新特點(diǎn)
開放性:服務(wù)的價(jià)值體現(xiàn)在共享和復(fù)用,因此遵循開放標(biāo)準(zhǔn)是服務(wù)的基本特性;
自治性:服務(wù)的消費(fèi)者存在廣泛和多樣的特點(diǎn),因此服務(wù)只有保持自治性才能確保其滿足不同需要的靈活性。這種自治性體現(xiàn)在服務(wù)消費(fèi)者發(fā)出服務(wù)請(qǐng)求后,服務(wù)何時(shí)開始、在何地執(zhí)行、如何執(zhí)行都不受請(qǐng)求方控制;
自描述性:在開放的環(huán)境下,服務(wù)消費(fèi)者通過服務(wù)描述來認(rèn)識(shí)服務(wù)、了解服務(wù)、使用服務(wù)。服務(wù)可以公布多樣的服務(wù)描述,包括自己的能力、訪問方式、協(xié)作方式等;
實(shí)現(xiàn)無關(guān)性:服務(wù)本身提供的能力以及服務(wù)消費(fèi)者獲得服務(wù)的方式是和服務(wù)的實(shí)現(xiàn)無關(guān)的。也就是服務(wù)消費(fèi)者無需知道服務(wù)的實(shí)現(xiàn)語(yǔ)言和實(shí)現(xiàn)平臺(tái)就可以獲得服務(wù)提供的能力。實(shí)現(xiàn)無關(guān)性降低了服務(wù)對(duì)服務(wù)消費(fèi)者的要求,也就是放松了兩者間的耦合。
22
5.互聯(lián)網(wǎng)服務(wù)的常見表現(xiàn)形式
(1)網(wǎng)頁(yè)
網(wǎng)頁(yè)是Web信息發(fā)布的主要形式。用戶通過瀏覽器向服務(wù)器提交一個(gè)網(wǎng)頁(yè)的地址信息,服務(wù)器返回一個(gè)HTML格式的文檔,同時(shí)由瀏覽器解析并向用戶顯示文檔的內(nèi)容。
這種通過超鏈接直接訪問的網(wǎng)頁(yè)資源通常又稱為表層網(wǎng)。(2)深層網(wǎng)
深層網(wǎng)是指隱藏在Web應(yīng)用背后的信息資源,這些信息資源通常存儲(chǔ)在應(yīng)用的后臺(tái)數(shù)據(jù)庫(kù)中,無法用超鏈直接訪問,深層網(wǎng)的資源容量是淺層網(wǎng)資源容量的500倍以上,蘊(yùn)藏著巨大價(jià)值。
但是由于這些隱藏的數(shù)據(jù)無法直接獲取,且具有明顯的異構(gòu)性和動(dòng)態(tài)性,因此對(duì)深層網(wǎng)數(shù)據(jù)進(jìn)行加工再利用也是一項(xiàng)難度很大的工作。23(3)互聯(lián)網(wǎng)開放API
API定義了軟件模塊間的交互接口,它本身是抽象的,而且與軟件具體實(shí)現(xiàn)技術(shù)無關(guān)。API接口應(yīng)該包含對(duì)軟件模塊的方法、數(shù)據(jù)結(jié)構(gòu)、類以及通信協(xié)議的規(guī)范說明。
通過API接口,程序員就能夠明確應(yīng)該如何使用軟件模塊提供的服務(wù)。到了互聯(lián)網(wǎng)時(shí)代,網(wǎng)站同樣需要將自身的數(shù)據(jù)和功能以API的形式提供出來,供第三方開發(fā)者使用,這種API常被稱為開放API.
開放平臺(tái)是互聯(lián)網(wǎng)企業(yè)通過公開應(yīng)用程序編程接口等方式更好地整合并利用外部資源。平臺(tái)商將服務(wù)打包成統(tǒng)一的、可識(shí)別的接口并開放出去,以使得第三方的服務(wù)以相應(yīng)形式接入到平臺(tái)之上,第三方開發(fā)者為平臺(tái)提供產(chǎn)品和服務(wù)的同時(shí)能夠與平臺(tái)共享各種資源。24(4)企業(yè)應(yīng)用系統(tǒng)服務(wù)
為了實(shí)現(xiàn)企業(yè)內(nèi)部和企業(yè)間不同應(yīng)用系統(tǒng)之間的互聯(lián)互通,企業(yè)應(yīng)用系統(tǒng)也需要對(duì)外提供服務(wù)。主要實(shí)現(xiàn)方式包括:Web服務(wù)、JCA(JavaConnectionArchitecture)、JMS(JavaMessageService)。Web服務(wù):是部署在Web上的軟件構(gòu)件,常見的Web服務(wù)包括REST服務(wù)和SOAP服務(wù).JCA:提供了一個(gè)應(yīng)用服務(wù)器和企業(yè)信息系統(tǒng)連接的標(biāo)準(zhǔn)Java解決方案,以及把這些系統(tǒng)整合起來實(shí)現(xiàn)最好的工作效率的方法。JMS:是訪問企業(yè)消息系統(tǒng)的標(biāo)準(zhǔn)API,它便于消息系統(tǒng)中的Java應(yīng)用程序進(jìn)行消息交換,并且通過提供標(biāo)準(zhǔn)的產(chǎn)生、發(fā)送、接收消息的接口簡(jiǎn)化企業(yè)應(yīng)用的開發(fā)。25
6.服務(wù)計(jì)算
盡管服務(wù)計(jì)算已經(jīng)成為當(dāng)前學(xué)術(shù)界和工業(yè)界的新寵兒,但到目前為止還尚無統(tǒng)一的概念,并且,服務(wù)計(jì)算也在不斷地發(fā)展,其定義和內(nèi)涵也處于不斷變化之中。不同專家和學(xué)者從不同角度出發(fā),對(duì)服務(wù)計(jì)算有著不同的理解,下面列舉幾個(gè)有代表性的定義。
從軟件系統(tǒng)設(shè)計(jì)與開發(fā)的角度出發(fā),認(rèn)為“服務(wù)計(jì)算是一種以服務(wù)為基本元素進(jìn)行應(yīng)用系統(tǒng)開發(fā)的方式”。
從服務(wù)技術(shù)的應(yīng)用角度出發(fā),認(rèn)為“服務(wù)計(jì)算是集服務(wù)概念、服務(wù)體系架構(gòu)、服務(wù)技術(shù)和服務(wù)基礎(chǔ)設(shè)施于一體,指導(dǎo)如何使用服務(wù)的技術(shù)集合”。
從分布式計(jì)算的角度出發(fā),認(rèn)為“服務(wù)計(jì)算是從面向?qū)ο蠛兔嫦驑?gòu)件的計(jì)算演化而來的一種分布式計(jì)算模式,它使得分布在企業(yè)內(nèi)部或跨越企業(yè)邊界的不同商業(yè)應(yīng)用系統(tǒng)能實(shí)現(xiàn)快捷、靈活的無縫集成與相互協(xié)作”26
從學(xué)科的角度出發(fā),認(rèn)為“服務(wù)計(jì)算是一門跨越計(jì)算機(jī)與信息技術(shù)、商業(yè)管理與咨詢服務(wù)的基礎(chǔ)學(xué)科,其目標(biāo)在于利用服務(wù)科學(xué)和服務(wù)技術(shù)消除商業(yè)服務(wù)和信息技術(shù)服務(wù)之間的鴻溝”.上述定義是在服務(wù)計(jì)算發(fā)展的不同時(shí)期形成的,其側(cè)重點(diǎn)各不相同,但并無沖突。綜合上述觀點(diǎn),服務(wù)計(jì)算是面向動(dòng)態(tài)、多變、復(fù)雜的互聯(lián)網(wǎng)環(huán)境而提出的一門以Web服務(wù)、面向服務(wù)的體系架構(gòu)為基礎(chǔ)支撐技術(shù),以服務(wù)組合為主要軟件開發(fā)方法,以面向服務(wù)的軟件分析與設(shè)計(jì)原則為基本理念的新的計(jì)算學(xué)科。在服務(wù)計(jì)算的技術(shù)體系中,服務(wù)是最重要的核心概念。
值得強(qiáng)調(diào)的是,這里所說的服務(wù)是指基于網(wǎng)絡(luò)環(huán)境的具有自適應(yīng)、自描述、模塊化和良好互操作能力等特點(diǎn)的軟件實(shí)體,而Web服務(wù)是符合這一要求的一種具體表現(xiàn)形式和功能載體。27服務(wù)計(jì)算作為一門獨(dú)立的計(jì)算學(xué)科,是建立在一整套技術(shù)體系之上的,我們稱其為服務(wù)計(jì)算技術(shù)體系。該技術(shù)體系為服務(wù)計(jì)算解決動(dòng)態(tài)、多變、復(fù)雜的互聯(lián)網(wǎng)環(huán)境下的系統(tǒng)設(shè)計(jì)、軟件開發(fā)、應(yīng)用整合、業(yè)務(wù)集成等問題提供了相應(yīng)的解決方案.服務(wù)計(jì)算技術(shù)體系涵蓋了服務(wù)建模、服務(wù)描述、服務(wù)開發(fā)、服務(wù)實(shí)現(xiàn)、服務(wù)管理、服務(wù)發(fā)現(xiàn)、服務(wù)組合、服務(wù)協(xié)作、服務(wù)流程、服務(wù)執(zhí)行、服務(wù)監(jiān)控、企業(yè)服務(wù)總線(EnterpriseServiceBus,ESB)等技術(shù),這些技術(shù)分為如下圖所示的自底向上的四個(gè)層次:服務(wù)資源層、服務(wù)匯聚層、服務(wù)應(yīng)用層和服務(wù)系統(tǒng)層。計(jì)算技術(shù)體系如下圖所示:28
服務(wù)計(jì)算技術(shù)體系圖:29服務(wù)計(jì)算的研究方向
面向服務(wù)計(jì)算作為一個(gè)新的分布式計(jì)算研究方向,國(guó)內(nèi)外的研究機(jī)構(gòu)、標(biāo)準(zhǔn)化組織和工業(yè)界在服務(wù)計(jì)算上做了大量的研究工作。可以將服務(wù)計(jì)算的研究領(lǐng)域大致劃分為以下子方向:●服務(wù)計(jì)算的理論基礎(chǔ);●面向服務(wù)應(yīng)用的需求工程:●服務(wù)計(jì)算的體系結(jié)構(gòu);◆服務(wù)計(jì)算中的資源組織和管理;●基于服務(wù)的業(yè)務(wù)流程集成和管理;●服務(wù)組合;●服務(wù)語(yǔ)義;301.什么是SOA?2.
SOA與
Webservice的關(guān)系3.為什么要使用SOA4.SOA工作原理5.使用SOA進(jìn)行服務(wù)組合實(shí)例
二.面向服務(wù)的架構(gòu)SOA(Service-OrientedArchitecture)
1.什么是SOA?
面向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個(gè)組件模型。
組件模型它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來;接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言;構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用的方式進(jìn)行交互。
Webservice平臺(tái)是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性。你可以用任何你喜歡的語(yǔ)言,在任何你喜歡的平臺(tái)上寫Webservice,只要我們可以通過Webservice標(biāo)準(zhǔn)對(duì)這些服務(wù)進(jìn)行查詢和訪問。
Webservice是技術(shù)規(guī)范,SOA是設(shè)計(jì)原則。從本質(zhì)上講,SOA是一種架構(gòu)模式,而webservice是利用一組標(biāo)準(zhǔn)實(shí)現(xiàn)的服務(wù)。Webservice是實(shí)現(xiàn)SOA的方式之一。用webservice實(shí)現(xiàn)SOA的好處是:可以實(shí)現(xiàn)一個(gè)中立平臺(tái),來獲取服務(wù),獲取更好的通用性。
WebServices的目標(biāo)是即時(shí)裝配、松散耦合以及自動(dòng)集成。
2.
SOA與
Webservice的關(guān)系
3.為什么要使用SOA
傳統(tǒng)的架構(gòu),軟件包是被編寫為獨(dú)立的(self-contained)軟件,即在一個(gè)完整的軟件包中將許多應(yīng)用程序功能整合在一起。實(shí)現(xiàn)整合應(yīng)用程序功能的代碼通常與功能本身的代碼混合在一起。我們將這種方式稱作軟件設(shè)計(jì)“單一應(yīng)用程序”.
與此密切相關(guān)的是,更改一部分代碼將對(duì)使用該代碼的代碼具有重大影響,這會(huì)造成系統(tǒng)的復(fù)雜性,并增加維護(hù)系統(tǒng)的成本。而且還使重新使用應(yīng)用程序功能變得較困難,因?yàn)檫@些功能不是為了重新使用而打的包。
傳統(tǒng)的架構(gòu)缺點(diǎn):代碼冗余不能重用緊耦合成本高
SOA旨在將單個(gè)應(yīng)用程序功能彼此分開,以便這些功能可以單獨(dú)用作單個(gè)的應(yīng)用程序功能或“組件”。
這些組件可以用于在企業(yè)內(nèi)部創(chuàng)建各種其他的應(yīng)用程序,或者如有需要,對(duì)外向合作伙伴公開,以便用于合作伙伴的應(yīng)用程序。SOA優(yōu)點(diǎn):代碼重用松耦合平臺(tái)獨(dú)立語(yǔ)言無關(guān)
為什么要使用SOA
4.SOA工作原理
SOA架構(gòu)中有三種角色:服務(wù)提供者:
發(fā)布自己的服務(wù),并且對(duì)服務(wù)請(qǐng)求進(jìn)行響應(yīng)。服務(wù)注冊(cè)中心:注冊(cè)已經(jīng)發(fā)布的webservice,對(duì)其進(jìn)行分類,并提供搜索服務(wù)。服務(wù)請(qǐng)求者:利用服務(wù)中心查找所需要的服務(wù),然后使用該服務(wù)。
SOA角色
SOA操作SOA的三種操作:
發(fā)布操作:
為了使服務(wù)可訪問,需要發(fā)布服務(wù)描述以使服務(wù)使用者可以發(fā)現(xiàn)它。
查找操作:
服務(wù)請(qǐng)求者定位服務(wù),方法是查詢服務(wù)注冊(cè)中心來找到滿足其標(biāo)準(zhǔn)的服務(wù)。
綁定操作:
在檢索到服務(wù)描述之后,服務(wù)使用者繼續(xù)根據(jù)服務(wù)描述中的信息來調(diào)用服務(wù)。假設(shè)股票行業(yè)存在以下6個(gè)服務(wù):Country()
輸入?yún)?shù):國(guó)家編碼。輸出項(xiàng):國(guó)家名稱和其他信息。YellowPages()
輸入?yún)?shù):公司名稱;輸出項(xiàng):企業(yè)代碼,所在國(guó)家等其他信息。NewYorkStock()
輸入?yún)?shù):公司代碼,時(shí)間;輸出項(xiàng):該公司在紐約的股票價(jià)格(美元)。LondonStock()
輸入?yún)?shù):公司代碼,時(shí)間;輸出項(xiàng):該公司在倫敦的股票價(jià)格。USToRMB()
輸入?yún)?shù):美元價(jià)格,時(shí)間;輸出項(xiàng):對(duì)應(yīng)的人民幣價(jià)格。UKToRMB()
輸入?yún)?shù):英鎊價(jià)格,時(shí)間;輸出項(xiàng):對(duì)應(yīng)的人民幣價(jià)格。
5.使用SOA進(jìn)行服務(wù)組合實(shí)例用戶想通過“跨國(guó)公司名稱”和“時(shí)間”找出該跨國(guó)公司在紐約的股票折合成人民幣的價(jià)格以及該公司所在國(guó)家的信息。
分析:
輸入?yún)?shù):跨國(guó)公司的名稱、時(shí)間
如何實(shí)現(xiàn)對(duì)給定服務(wù)的組合,找出滿足用戶的信息?
使用SOA進(jìn)行服務(wù)組合實(shí)例
使用SOA進(jìn)行服務(wù)組合實(shí)例查詢過程流程圖
三.SOA實(shí)現(xiàn)實(shí)例:Web服務(wù)
1.什么是Web服務(wù)(WebService)
2.Web服務(wù)如何工作?3.Web服務(wù)的體系結(jié)構(gòu)4.Web服務(wù)的工作原理
1.什么是Web服務(wù)(WebService)
問題引入:Web服務(wù)能夠采用普適的方法將異構(gòu)的資源以一種標(biāo)準(zhǔn)的形式方便地接入進(jìn)來,并通過網(wǎng)絡(luò)以標(biāo)準(zhǔn)的、方便的形式提供給用戶訪問關(guān)鍵:普適、標(biāo)準(zhǔn)、方便用戶資源網(wǎng)絡(luò)Web服務(wù)技術(shù)Web服務(wù)技術(shù)什么是Web服務(wù)(WebService)
WebServices是應(yīng)用程序組件WebServices使用開放協(xié)議進(jìn)行通信WebServices是獨(dú)立的(self-contained)并可自我描述WebServices可通過使用UDDI來發(fā)現(xiàn)WebServices可被其他應(yīng)用程序使用XML
是WebServices的基礎(chǔ)45
2.Web服務(wù)如何工作?
基礎(chǔ)的WebServices平臺(tái)是XML+HTTP。HTTP協(xié)議是最常用的因特網(wǎng)協(xié)議。XML提供了一種可用于不同的平臺(tái)和編程語(yǔ)言之間的語(yǔ)言。Webservices平臺(tái)的元素:SOAP(簡(jiǎn)易對(duì)象訪問協(xié)議)UDDI(通用描述、發(fā)現(xiàn)及整合)WSDL(Webservices描述語(yǔ)言)46
3.Web服務(wù)的
體系結(jié)構(gòu)
Web服務(wù)(WebService)是基于XML和HTTPS的一種服務(wù),其通信協(xié)議主要基于SOAP,服務(wù)的描述通過WSDL,通過UDDI來發(fā)現(xiàn)和獲得服務(wù)的元數(shù)據(jù)。Web服務(wù)的體系結(jié)構(gòu)如下:
WebService的體系結(jié)構(gòu)由簡(jiǎn)單對(duì)象訪問模型而來,把所有的應(yīng)用實(shí)體都抽象成服務(wù),包括三個(gè)角色和三種基本此操作.47
4.
Web服務(wù)的工作原理
基于“簡(jiǎn)單對(duì)象訪問協(xié)議”(SOAP:SimpleObjectAccessProtocol)。這是一種基于XML的信息格式協(xié)議標(biāo)準(zhǔn),用來在兩個(gè)終端之間傳遞信息。這些信息以SOAP信封(envelope,類似于數(shù)據(jù)包)的方式在發(fā)送方和接收方之間傳送。
返回?cái)?shù)據(jù),而不是返回頁(yè)面
WebService的特點(diǎn)WebService技術(shù)的特點(diǎn)基于標(biāo)準(zhǔn)、通用協(xié)議、語(yǔ)言不相關(guān)廣域、跨平臺(tái)、屏蔽異構(gòu)性使用簡(jiǎn)單、易于擴(kuò)展WebService的長(zhǎng)項(xiàng)跨越防火墻的通訊、應(yīng)用程序集成、B2B的集成、軟件和數(shù)據(jù)重用
Webservices把Web應(yīng)用程序提升到了另外一個(gè)層面
通過使用Webservices,您的應(yīng)用程序可向全世界發(fā)布功能或消息。Webservices使用XML來編解碼數(shù)據(jù),并使用SOAP借由開放的協(xié)議來傳輸數(shù)據(jù)。通過Webservices,您的會(huì)計(jì)部門的Win2k服務(wù)器可與IT供應(yīng)商的UNIX服務(wù)器進(jìn)行連接。51
Webservices有兩種類型的應(yīng)用
(1)可重復(fù)使用的應(yīng)用程序組件有一些功能是不同的應(yīng)用程序常常會(huì)用到的。那么為什么要周而復(fù)始地開發(fā)它們呢?Webservices可以把應(yīng)用程序組件作為服務(wù)來提供,比如匯率轉(zhuǎn)換、天氣預(yù)報(bào)或者甚至是語(yǔ)言翻譯等等。比較理想的情況是,每種應(yīng)用程序組件只有一個(gè)最優(yōu)秀的版本,這樣任何人都可以在其應(yīng)用程序中使用它。(2)連接現(xiàn)有的軟件通過為不同的應(yīng)用程序提供一種鏈接其數(shù)據(jù)的途徑,Webservices有助于解決協(xié)同工作的問題。通過使用Webservices,您可以在不同的應(yīng)用程序與平臺(tái)之間來交換數(shù)據(jù)。52
WebService的意義WebService的意義信息化:異構(gòu)資源接入系統(tǒng):面向服務(wù)的體系結(jié)構(gòu)編程:面向服務(wù)的編程模型商業(yè):面向服務(wù)的商業(yè)應(yīng)用模式
WebServices小結(jié)WebServices可以將應(yīng)用程序轉(zhuǎn)換為網(wǎng)絡(luò)應(yīng)用程序。通過使用WebServices,您的應(yīng)用程序可以向全世界發(fā)布信息,或提供某項(xiàng)功能。WebServices可以被其他應(yīng)用程序利用。通過WebServices,您的會(huì)計(jì)部門的Win2k服務(wù)器可以與IT供應(yīng)商的UNIX服務(wù)器相連接?;镜腤ebServices平臺(tái)是XML+HTTP。
Webservices使用XML來編解碼數(shù)據(jù),并使用SOAP來傳輸數(shù)據(jù)54
四.
Web服務(wù)的主流實(shí)現(xiàn)技術(shù):SOAP服務(wù)
1.簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)
(SimpleObjectAccessProtocol)2.Web服務(wù)描述語(yǔ)言
(WSDL)
(WebServicesDescriptionLanguage)3.統(tǒng)一描述、發(fā)現(xiàn)和集成(UDDI)
(UniversalDiscover、DescriptionIntegration)55
Web服務(wù)(WebService)是基于XML和HTTPS的一種服務(wù),其通信協(xié)議主要基于SOAP,服務(wù)的描述通過WSDL,通過UDDI來發(fā)現(xiàn)和獲得服務(wù)的元數(shù)據(jù)。Web服務(wù)模型如下:56
對(duì)應(yīng)Web服務(wù)中的三種操作,給出了三種標(biāo)準(zhǔn)如下:
SOAP(SimpleObjectAccessProtocol,簡(jiǎn)單對(duì)象訪問協(xié)議),它實(shí)現(xiàn)的是低層協(xié)議,定義了服務(wù)請(qǐng)求者和服務(wù)提供者之間的消息傳輸規(guī)范。是一種輕量的、簡(jiǎn)單的、基于XML的協(xié)議,它被設(shè)計(jì)成在WEB上交換結(jié)構(gòu)化的和固化的信息。SOAP用XML描述信息,用HTTP承載消息。WSDL(WebServiceDescriptionLanguage)也遵循XML格式,用來描述哪個(gè)服務(wù)器提供什么服務(wù),怎樣找到它,以及該服務(wù)使用怎樣的接口規(guī)范。使用WebService的過程變成,獲得該服務(wù)的WSDL描述,根據(jù)WSDL構(gòu)造一條格式化的SOAP請(qǐng)求發(fā)送給服務(wù)器,然后接收一條同樣SOAP格式的應(yīng)答,最后根據(jù)先前的WSDL解碼數(shù)據(jù)。絕大多數(shù)情況下,請(qǐng)求和應(yīng)答使用HTTP協(xié)議傳輸,那么發(fā)送請(qǐng)求就使用HTTP的POST方法。
UDDI(UniversalDiscover、Description、Integration通用發(fā)現(xiàn)、描述、集成)。它是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊(cè)以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。57
1.SOAP簡(jiǎn)介
(1)
什么是SOAP?
SOAP指簡(jiǎn)易對(duì)象訪問協(xié)議;SOAP是一種通信協(xié)議;SOAP用于應(yīng)用程序之間的通信;SOAP是一種用于發(fā)送消息的格式;SOAP被設(shè)計(jì)用來通過因特網(wǎng)進(jìn)行通信;SOAP獨(dú)立于平臺(tái);SOAP獨(dú)立于語(yǔ)言;SOAP基于XML;SOAP很簡(jiǎn)單并可擴(kuò)展;SOAP允許您繞過防火墻;SOAP將被作為W3C標(biāo)準(zhǔn)來發(fā)展.58
(2)為什么要用SOAP?
對(duì)于應(yīng)用程序開發(fā)來說,使程序之間進(jìn)行因特網(wǎng)通信是很重要的。目前的應(yīng)用程序通過使用遠(yuǎn)程過程調(diào)用(RPC)在諸如DCOM與CORBA等對(duì)象之間進(jìn)行通信,但是HTTP不是為此設(shè)計(jì)的。RPC會(huì)產(chǎn)生兼容性以及安全問題;防火墻和代理服務(wù)器通常會(huì)阻止此類流量。通過HTTP在應(yīng)用程序間通信是更好的方法,因?yàn)镠TTP得到了所有的因特網(wǎng)瀏覽器及服務(wù)器的支持。SOAP就是被創(chuàng)造出來完成這個(gè)任務(wù)的。
SOAP提供了一種標(biāo)準(zhǔn)的方法,使得運(yùn)行在不同的操作系統(tǒng)并使用不同的技術(shù)和編程語(yǔ)言的應(yīng)用程序可以互相進(jìn)行通信。
Microsoft和SOAP:SOAP是微軟.net架構(gòu)的關(guān)鍵元素,用于未來的因特網(wǎng)應(yīng)用程序開發(fā)。
59
(3)SOAP語(yǔ)法SOAP構(gòu)建模塊:一條SOAP消息就是一個(gè)普通的XML文檔,包含下列元素:必需的
Envelope元素,可把此XML文檔標(biāo)識(shí)為一條SOAP消息可選的Header元素,包含頭部信息必需的Body元素,包含所有的調(diào)用和響應(yīng)信息可選的Fault元素,提供有關(guān)在處理此消息所發(fā)生錯(cuò)誤的信息語(yǔ)法規(guī)則:SOAP消息必須用XML來編碼SOAP消息必須使用SOAPEnvelope命名空間SOAP消息必須使用SOAPEncoding命名空間SOAP消息不能包含DTD引用SOAP消息不能包含XML處理指令60
(4)SOAP消息的基本結(jié)構(gòu)<?xmlversion="1.0"?><soap:Envelopexmlns:soap=/2001/12/soap-envelopesoap:encodingStyle="/2001/12/soap-encoding"><soap:Header>......</soap:Header><soap:Body>......<soap:Fault>......</soap:Fault></soap:Body></soap:Envelope>61(5)SOAPEnvelope元素
必需的SOAP的Envelope元素是SOAP消息的根元素。它可把XML文檔定義為SOAP消息。<?xmlversion="1.0"?><soap:Envelopexmlns:soap="/2001/12/soap-envelope"soap:encodingStyle="/2001/12/soap-encoding">...Messageinformationgoeshere...</soap:Envelope>
xmlns:soap命名空間SOAP消息必須擁有與命名空間"/2001/12/soap-envelope"相關(guān)聯(lián)的一個(gè)Envelope元素。encodingStyle屬性SOAP的encodingStyle屬性用于定義在文檔中使用的數(shù)據(jù)類型。此屬性可出現(xiàn)在任何SOAP元素中,并會(huì)被應(yīng)用到元素的內(nèi)容及元素的所有子元素上。
語(yǔ)法:soap:encodingStyle="URI"62(5)SOAPHeader元素
可選的SOAPHeader元素可包含有關(guān)SOAP消息的應(yīng)用程序?qū)S眯畔ⅲū热缯J(rèn)證、支付等)。如果Header元素被提供,則它必須是Envelope元素的第一個(gè)子元素SOAP在默認(rèn)的命名空間中("/2001/12/soap-envelope")定義了三個(gè)屬性。這三個(gè)屬性是:actor、mustUnderstand
以及encodingStyle。這些被定義在SOAP頭部的屬性可定義容器如何對(duì)SOAP消息進(jìn)行處理。actor屬性通過沿著消息路徑經(jīng)過不同的端點(diǎn),SOAP消息可從某個(gè)發(fā)送者傳播到某個(gè)接收者。SOAP的actor屬性可被用于將Header元素尋址到一個(gè)特定的端點(diǎn)。
語(yǔ)法
soap:actor="URI“mustUnderstand屬性
SOAP的mustUnderstand屬性可用于標(biāo)識(shí)標(biāo)題項(xiàng)對(duì)于要對(duì)其進(jìn)行處理的接收者來說是強(qiáng)制的還是可選的。假如您向Header元素的某個(gè)子元素添加了"mustUnderstand="1",則它可指示處理此頭部的接收者必須認(rèn)可此元素。假如此接收者無法認(rèn)可此元素,則在處理此頭部時(shí)必須失效。
語(yǔ)法:soap:mustUnderstand="0|1"63(6)SOAPBody元素
必需的SOAPBody元素可包含打算傳送到消息最終端點(diǎn)的實(shí)際SOAP消息。SOAPBody元素的直接子元素可以是合格的命名空間??聪旅鎸?shí)例:<?xmlversion="1.0"?><soap:Envelopexmlns:soap="/2001/12/soap-envelope"soap:encodingStyle="/2001/12/soap-encoding"><soap:Body><m:GetPricexmlns:m="/prices"><m:Item>Apples</m:Item></m:GetPrice></soap:Body></soap:Envelope>
上面的例子請(qǐng)求蘋果的價(jià)格。請(qǐng)注意,上面的m:GetPrice
和Item元素是應(yīng)用程序?qū)S玫脑?。它們并不是SOAP標(biāo)準(zhǔn)的一部分。64
而一個(gè)SOAP響應(yīng)應(yīng)該類似這樣:<?xmlversion="1.0"?><soap:Envelopexmlns:soap="/2001/12/soap-envelope"soap:encodingStyle="/2001/12/soap-encoding"><soap:Body><m:GetPriceResponsexmlns:m="/prices"><m:Price>1.90</m:Price></m:GetPriceResponse></soap:Body></soap:Envelope>65
(7)SOAPFault元素SOAPFault元素用于存留SOAP消息的錯(cuò)誤和狀態(tài)信息。SOAPFault元素可選的SOAPFault元素用于指示錯(cuò)誤消息。如果已提供了Fault元素,則它必須是Body元素的子元素。在一條SOAP消息中,F(xiàn)ault元素只能出現(xiàn)一次。SOAP的Fault元素?fù)碛邢铝凶釉兀?6
(7)SOAPFault元素SOAPFault元素用于存留SOAP消息的錯(cuò)誤和狀態(tài)信息。SOAPFault元素可選的SOAPFault元素用于指示錯(cuò)誤消息。如果已提供了Fault元素,則它必須是Body元素的子元素。在一條SOAP消息中,F(xiàn)ault元素只能出現(xiàn)一次。SOAP的Fault元素?fù)碛邢铝凶釉兀?7(8)SOAPHTTPBindingHTTP協(xié)議HTTP在TCP/IP之上進(jìn)行通信。HTTP客戶機(jī)使用TCP連接到HTTP服務(wù)器。在建立連接之后,客戶機(jī)可向服務(wù)器發(fā)送HTTP請(qǐng)求消息:POST/itemHTTP/1.1Host:189.123.345.239Content-Type:text/plainContent-Length:200
隨后服務(wù)器會(huì)處理此請(qǐng)求,然后向客戶機(jī)發(fā)送一個(gè)HTTP響應(yīng)。此響應(yīng)包含了可指示請(qǐng)求狀態(tài)的狀態(tài)代碼:200OKContent-Type:text/plainContent-Length:200在上面的例子中,服務(wù)器返回了一個(gè)200的狀態(tài)代碼。這是HTTP的標(biāo)準(zhǔn)成功代碼。假如服務(wù)器無法對(duì)請(qǐng)求進(jìn)行解碼,它可能會(huì)返回類似這樣的信息:400BadRequestContent-Length:068(9)一個(gè)SOAP實(shí)例在下面的例子中,一個(gè)GetStockPrice請(qǐng)求被發(fā)送到了服務(wù)器。此請(qǐng)求有一個(gè)StockName參數(shù),而在響應(yīng)中則會(huì)返回一個(gè)Price參數(shù)。此功能的命名空間被定義在此地址中:"/stock".69
2.WSDL簡(jiǎn)介(1)什么是WSDL?WSDL是一種使用XML編寫的文檔。這種文檔可描述某個(gè)Webservice。它可規(guī)定服務(wù)的位置,以及此服務(wù)提供的操作(或方法)。WSDL指網(wǎng)絡(luò)服務(wù)描述語(yǔ)言;WSDL使用XML編寫;WSDL是一種XML文檔;WSDL用于描述網(wǎng)絡(luò)服務(wù);WSDL也可用于定位網(wǎng)絡(luò)服務(wù);WSDL還不是W3C標(biāo)準(zhǔn)。
W3C指萬維網(wǎng)聯(lián)盟(WorldWideWebConsortium)W3C標(biāo)準(zhǔn)不是某一個(gè)標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁(yè)主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。70
(2)WSDL文檔WSDL文檔僅僅是一個(gè)簡(jiǎn)單的XML文檔。它包含一系列描述某個(gè)webservice的定義。71WSDL端口<portType>元素是最重要的WSDL元素。它可描述一個(gè)webservice、可被執(zhí)行的操作,以及相關(guān)的消息??梢园?lt;portType>元素比作傳統(tǒng)編程語(yǔ)言中的一個(gè)函數(shù)庫(kù)(或一個(gè)模塊、或一個(gè)類)。WSDL消息<message>元素定義一個(gè)操作的數(shù)據(jù)元素。每個(gè)消息均由一個(gè)或多個(gè)部件組成??梢园堰@些部件比作傳統(tǒng)編程語(yǔ)言中一個(gè)函數(shù)調(diào)用的參數(shù)。WSDLtypes<types>元素定義webservice使用的數(shù)據(jù)類型。為了最大程度的平臺(tái)中立性,WSDL使用XMLSchema語(yǔ)法來定義數(shù)據(jù)類型。WSDLBindings<binding>元素為每個(gè)端口定義消息格式和協(xié)議細(xì)節(jié)。72(3)WSDL實(shí)例
這是某個(gè)WSDL文檔的簡(jiǎn)化的片段:
在這個(gè)例子中,<portType>元素把“glossaryTerms”定義為某個(gè)端口的名稱,把“getTerm”定義為某個(gè)操作的名稱。操作“getTerm”擁有一個(gè)名為“getTermRequest”的輸入消息,以及一個(gè)名為“getTermResponse”的輸出消息。<message>元素可定義每個(gè)消息的部件,以及相關(guān)聯(lián)的數(shù)據(jù)類型。
對(duì)比傳統(tǒng)的編程,glossaryTerms是一個(gè)函數(shù)庫(kù),而"getTerm"是帶有輸入?yún)?shù)"getTermRequest"和返回參數(shù)getTermResponse的一個(gè)函數(shù)。
73
3.UDDI簡(jiǎn)介UDDI,英文為“UniversalDescription,DiscoveryandIntegration”,可譯為“通用描述、發(fā)現(xiàn)與集成服務(wù)”。UDDI是一種目錄服務(wù),企業(yè)可以使用它對(duì)Webservices進(jìn)行注冊(cè)和搜索。(1)什么是UDDI?UDDI是一個(gè)獨(dú)立于平臺(tái)的框架,用于通過使用Internet來描述服務(wù),發(fā)現(xiàn)企業(yè),并對(duì)企業(yè)服務(wù)進(jìn)行集成;UDDI指的是通用描述、發(fā)現(xiàn)與集成服務(wù);UDDI是一種用于存儲(chǔ)有關(guān)webservices的信息的目錄;UDDI是一種由WSDL描述的webservices界面的目錄;UDDI經(jīng)由SOAP進(jìn)行通信;UDDI被構(gòu)建入了微軟的.NET平臺(tái)。
(2)UDDI基于什么?UDDI使用W3C和IETF*的因特網(wǎng)標(biāo)準(zhǔn),比如XML、HTTP和DNS協(xié)議。UDDI使用WSDL來描述到達(dá)webservices的界面。此外,通過采用SOAP,還可以實(shí)現(xiàn)跨平臺(tái)的編程特性,SOAP是XML的協(xié)議通信規(guī)范,可在W3C的網(wǎng)站找到相關(guān)的信息。74(3)UDDI的好處任何規(guī)模的行業(yè)或企業(yè)都能得益于UDDI。在UDDI之前,還不存在一種Internet標(biāo)準(zhǔn),可以供企業(yè)為它們的企業(yè)和伙伴提供有關(guān)其產(chǎn)品和服務(wù)的信息。也不存在一種方法,來集成到彼此的系統(tǒng)和進(jìn)程中。(4)UDDI規(guī)范幫助我們解決的問題使得在成百萬當(dāng)前在線的企業(yè)中發(fā)現(xiàn)正確的企業(yè)成為可能;定義一旦首選的企業(yè)被發(fā)現(xiàn)后如何啟動(dòng)商業(yè);擴(kuò)展新客戶并增加對(duì)目前客戶的訪問;擴(kuò)展銷售并延伸市場(chǎng)范圍;滿足用戶驅(qū)動(dòng)的需要,為在全球Internet經(jīng)濟(jì)中快速合作的促進(jìn)來清除障礙.(5)UDDI如何被使用假如行業(yè)發(fā)布了一個(gè)用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年血液透析機(jī)(人工腎)合作協(xié)議書
- 2025年基因工程乙型肝炎疫苗(酵母)合作協(xié)議書
- 2024-2025學(xué)年河南省鄭州市管城區(qū)四年級(jí)(上)期末數(shù)學(xué)試卷
- 2025年排氣系統(tǒng)管件合作協(xié)議書
- 人教版期中測(cè)試卷-四年級(jí)數(shù)學(xué)下冊(cè)(培優(yōu)卷)(含解析)
- 2025年九年級(jí)教研組年終總結(jié)樣本(3篇)
- 2025年乳膠漆粉刷施工合同協(xié)議(2篇)
- 2025年產(chǎn)品買賣合同范文(2篇)
- 2025年二手房分期購(gòu)房合同(三篇)
- 2025年個(gè)人車位租賃合同參考模板(三篇)
- YS/T 34.1-2011高純砷化學(xué)分析方法電感耦合等離子體質(zhì)譜法(ICP-MS)測(cè)定高純砷中雜質(zhì)含量
- LY/T 2016-2012陸生野生動(dòng)物廊道設(shè)計(jì)技術(shù)規(guī)程
- 松下panasonic-視覺說明書pv200培訓(xùn)
- 單縣煙草專賣局QC課題多維度降低行政處罰文書出錯(cuò)率
- 健康養(yǎng)生課件
- 混雜控制系統(tǒng)課件
- 運(yùn)動(dòng)技能學(xué)習(xí)原理課件
- 《QHSE體系培訓(xùn)》課件
- 公共關(guān)系學(xué)完整教學(xué)課件
- 原子物理學(xué)第五章-多電子原子:泡利原理
- 35kV輸電線路工程旋挖鉆孔專項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論