我是一名研二的學(xué)生,現(xiàn)在已經(jīng)開題了,前不久剛剛通過開題答辯。我的畢業(yè)設(shè)計(jì)題目是《基于J2EE平臺(tái)的Web服務(wù)復(fù)合技術(shù)的研究與應(yīng)用》,實(shí)際上我對(duì)web服務(wù)認(rèn)識(shí)不是很深,希望在接下來的一年時(shí)間通過對(duì)這個(gè)題目的研究能夠?qū)@方面達(dá)到一定的認(rèn)識(shí)
隨著Internet的迅速發(fā)展,基于各種平臺(tái)的網(wǎng)絡(luò)應(yīng)用程序已廣泛用于各行業(yè)中,但問題也隨之而來,如何使基于各平臺(tái)的異構(gòu)應(yīng)用程序在一起協(xié)同工作,使不同系統(tǒng)能無縫地進(jìn)行通信和數(shù)據(jù)共享。Web Services正是出于這種目的,基于XML技術(shù)上發(fā)展起來的。
Web服務(wù)是對(duì)web的擴(kuò)展,Web原本是為人提供服務(wù)的基礎(chǔ),經(jīng)擴(kuò)展后就能為相互間連接的軟件提供服務(wù)。Web服務(wù)建構(gòu)在簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)之上,并在添加一個(gè)過程和一組協(xié)議之后達(dá)到下一層次。使用這些協(xié)議,業(yè)務(wù)就能通過Web而不是預(yù)先建立的網(wǎng)絡(luò)發(fā)現(xiàn)彼此的存在,并進(jìn)行交互。Web服務(wù)中的關(guān)鍵因素是一個(gè)存儲(chǔ)庫,它可把另一用戶添加到傳統(tǒng)的客戶機(jī)提供者。組件程序集的面向?qū)ο笫呛茈y實(shí)現(xiàn)的夢(mèng)想,除非現(xiàn)在處于松耦合的全球性Web中,其中的詞匯是關(guān)于服務(wù)而不是關(guān)于對(duì)象的。
Web服務(wù)是一種技術(shù),同時(shí)也是一種過程和現(xiàn)象。作為一種技術(shù),它是構(gòu)建在全球連接之上的一組協(xié)議,而這一連接是因?yàn)镾OAP以及XML和HTTP的合作才成為可能的。作為一種過程,它是用于在Web上發(fā)現(xiàn)和連接軟件的一種方法。作為一種現(xiàn)象,整個(gè)行業(yè)都認(rèn)識(shí)到:不能忽略分散的、松耦合的和相互協(xié)作的Web。
如今較流行的分布式對(duì)象模型是OMG的CORBA、Microsoft的DCOM、Sun的RMI,但這些模型都僅僅是本地或本網(wǎng)計(jì)算的模型,它們都有一個(gè)共同的缺陷,就是無法擴(kuò)展到互聯(lián)網(wǎng)上:他們要求客戶端和系統(tǒng)提供的服務(wù)本身之間必須進(jìn)行緊密耦合,即要求一個(gè)同類基本結(jié)構(gòu)。這樣的系統(tǒng)往往十分脆弱,如果一端的執(zhí)行機(jī)制發(fā)生變化,那么另一端便會(huì)崩潰。Web服務(wù)是一種優(yōu)秀的分布式計(jì)算技術(shù)。
當(dāng)前Web Services領(lǐng)域的兩個(gè)主要的應(yīng)用框架J2EE和.NET,兩者都是目前企業(yè)Web Services平臺(tái)市場(chǎng)上兩個(gè)最重要的應(yīng)用框架 (Application Framework),他們是正面競(jìng)爭(zhēng)的兩個(gè)強(qiáng)大的平臺(tái),同時(shí)它們也是能夠互相融合和集成的應(yīng)用部署環(huán)境。
在對(duì)Web Services的支持上,Microsoft的.NET在設(shè)計(jì)之初就緊緊地把平臺(tái)規(guī)范與產(chǎn)品膠合在一起。不過隨著.NET架構(gòu)中的C#、CLI等逐漸標(biāo)準(zhǔn)化,.NET也正在向J2EE的模式靠攏。
J2EE作為一種開放的規(guī)范,從一開始就得到了眾多廠商的支持,如IBM、BEA、HP、Oracle等在J2EE的實(shí)施上都灑下了大筆的投資。目前市場(chǎng)上最好的J2EE Application Server是Bea的WebLogic和IBM的WebShpere。
到目前為止,Web服務(wù)是近十年里出現(xiàn)的最關(guān)鍵的技術(shù)之一。這項(xiàng)技術(shù)所具備的價(jià)值完全有潛力成為繼因特網(wǎng)之后的第二個(gè)重要發(fā)明,并且將對(duì)公司企業(yè)、消費(fèi)者/用戶、以及共同文化產(chǎn)生巨大影響。
Web Services可以從多個(gè)角度來定義。從技術(shù)方面講,一個(gè)Web Services是可以被URI識(shí)別的應(yīng)用軟件,其接口和綁定由XML描述和發(fā)現(xiàn),并可與其他基于XML消息的應(yīng)用程序交互。從功能角度講,Web Services是一種新型的Web發(fā)布、查找和調(diào)用。其實(shí)現(xiàn)的功能可以是響應(yīng)客戶一個(gè)簡(jiǎn)單的請(qǐng)求,也可以是完成一個(gè)復(fù)雜的商務(wù)流程。一個(gè)Web Services配置好后,其他應(yīng)用程序和Web Services就可以直接發(fā)現(xiàn)和調(diào)用該服務(wù)。具體而言,Web Services應(yīng)具有如下特征:
1)可描述,Web服務(wù)描述了自己的功能和屬性,以使其他應(yīng)用程序知道如何使用它;
2)可發(fā)布,Web服務(wù)注冊(cè)存儲(chǔ)庫包含了三種網(wǎng)頁。白色網(wǎng)頁是有關(guān)基本的服務(wù)提供者的信息,黃色網(wǎng)頁分類列出了各種服務(wù),綠色網(wǎng)頁描述了如何使用連接和使用這些服務(wù);
3)可查找,通過向注冊(cè)服務(wù)器發(fā)送查詢請(qǐng)求可以找到滿足查詢條件的服務(wù),獲取服務(wù)的綁定信息;
4)可綁定,通過服務(wù)的描述信息可以生成可調(diào)用的服務(wù)實(shí)例或服務(wù)代理;
5)可調(diào)用,使用服務(wù)描述信息中的綁定細(xì)節(jié)可以實(shí)現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用;
6)可返回,當(dāng)某一服務(wù)被調(diào)用時(shí),結(jié)果就返回給發(fā)出請(qǐng)求的應(yīng)用程序。
7)可組合,可以與其他服務(wù)組合在一起形成新的服務(wù)。
一個(gè)完整的Web Services包括三種邏輯組件:服務(wù)提供者、服務(wù)注冊(cè)庫和服務(wù)請(qǐng)求者,如圖2所示,各組件分別對(duì)應(yīng)不同的角色。服務(wù)是提供給需求者,按一定規(guī)則使用的應(yīng)用程序,其描述信息和訪問規(guī)則被發(fā)布到服務(wù)注冊(cè)庫。服務(wù)提供者是服務(wù)的所有者,它是提供服務(wù)訪問的平臺(tái)。服務(wù)請(qǐng)求者是需要特定功能的以企業(yè)或組織,從體系結(jié)構(gòu)上看是查找和調(diào)用服務(wù)的客戶端應(yīng)用程序。服務(wù)注冊(cè)庫是存儲(chǔ)服務(wù)描述信息的信息庫,服務(wù)提供者在此發(fā)布他們的服務(wù),服務(wù)請(qǐng)求者在此查找服務(wù),獲取服務(wù)的綁定信息。
Web Services涉及的最基本的技術(shù)規(guī)范包XML,SOAP,UDDI和WSDL。SOAP提供了應(yīng)用程序和Web服務(wù)之間的通信手段。Web Services可以通過UDDI來注冊(cè)自己的特性,其他應(yīng)用程序可以通過UDDI找到需要的Web服務(wù)。WSDL是程序員描述Web Services的編程接口。而SOAP,UDDI,WSDL都建立在XML基礎(chǔ)之上。
⒊1 XML
XML作為一種新的數(shù)據(jù)表示格式,已成為Internet上數(shù)據(jù)表示與數(shù)據(jù)交換的新標(biāo)準(zhǔn);它可以把所有的、包括異構(gòu)的信息都存于文檔中,采用HTTP方式傳輸,使網(wǎng)絡(luò)上應(yīng)用程序可以從中提取需要的信息,以實(shí)現(xiàn)不同平臺(tái)間異構(gòu)信息的共享、集成。
XML使用標(biāo)記界定內(nèi)容,允許用戶定義任意復(fù)雜度的結(jié)構(gòu),具有良好的擴(kuò)張性;它具有自描述性,適合數(shù)據(jù)交換和共享;XML另一個(gè)優(yōu)點(diǎn)是無關(guān)性,獨(dú)立于具體的平臺(tái)和廠商,確保了結(jié)構(gòu)化數(shù)據(jù)的統(tǒng)一。目前XML已成為開發(fā)環(huán)境下描述數(shù)據(jù)信息的標(biāo)準(zhǔn)技術(shù),也是Web Services中信息描述和交換的標(biāo)準(zhǔn)手段。
XML使用XML Schema作為建模語言,它具有豐富的數(shù)據(jù)類型,支持類型繼承,能對(duì)XML文件進(jìn)行嚴(yán)格的合法性檢查;使用于XML完全一致的文法,統(tǒng)一了分析和處理方式;引入了命名空間的概念,解決了可能的名稱重復(fù)問題。XML Schema是Web Services中協(xié)議制定的標(biāo)準(zhǔn)語言,它和XML共同構(gòu)成Web Services的基石。
⒊2 SOAP
XML使數(shù)據(jù)易于理解和共享,但應(yīng)用實(shí)體之間要發(fā)送和接收XML文檔,還需對(duì)網(wǎng)絡(luò)協(xié)議、訪問點(diǎn)等細(xì)節(jié)達(dá)成共識(shí)。XML主要的發(fā)展發(fā)展之一就是SOAP,Web Services實(shí)體間交互使用的就是這種簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Protocol,SOAP)。它提供了Internet中交換結(jié)構(gòu)化信息的輕量級(jí)機(jī)制,實(shí)現(xiàn)異構(gòu)應(yīng)用之間的互操作性。
SOAP包括三個(gè)部分:封裝結(jié)構(gòu),編碼規(guī)則和RPC機(jī)制。封裝結(jié)構(gòu)定義了一個(gè)整體框架,描述消息內(nèi)容,內(nèi)容的屬性以及誰負(fù)責(zé)處理。編碼規(guī)則定義了交換應(yīng)用程序數(shù)據(jù)的一系列機(jī)制,它支持XML Schema中全部調(diào)用和應(yīng)答的協(xié)定,通過SOAP綁定,可以將SOAP封在HTTP,SMTP等協(xié)議上進(jìn)行傳送。
⒊3 UDDI
為了使服務(wù)申請(qǐng)者能夠查找需要的服務(wù),業(yè)界制定了注冊(cè)和查找Web服務(wù)的UDDI技術(shù)規(guī)范。UDDI注冊(cè)中心是對(duì)所有提供公共UDDI注冊(cè)服務(wù)站點(diǎn)的統(tǒng)稱,凡是實(shí)現(xiàn)UDDI規(guī)范的站點(diǎn)都可被稱為UDDI操作入口站點(diǎn),站點(diǎn)之間通過復(fù)制機(jī)制保持彼此間的內(nèi)容同步。服務(wù)提供者可以在服務(wù)注冊(cè)中心發(fā)布自己提供的服務(wù),服務(wù)請(qǐng)求者則在注冊(cè)中心查找期望的服務(wù)。
⒊4 WSDL
在應(yīng)用程序調(diào)用一個(gè)Web Services之前,必須知道其調(diào)用接口。Web Services具有松散耦合和自動(dòng)集成的特點(diǎn),要求接口描述方式能夠被機(jī)器自動(dòng)識(shí)別。Web Services采用WSDL(Web Services Description Language)來描述其服務(wù)接口。WSDL采用XML Schema定義,能夠?qū)Ω鞣N語言實(shí)現(xiàn)的服務(wù)接口進(jìn)行描述,具有語言無關(guān)性。WSDL將Web Services定義為網(wǎng)絡(luò)端點(diǎn)的集合,使用類型、消息、端口等元素來描述服務(wù)接口。請(qǐng)求者據(jù)此可以知道服務(wù)要求的數(shù)據(jù)類型、消息結(jié)構(gòu)、傳輸協(xié)議等,從而實(shí)現(xiàn)對(duì)Web Services的調(diào)用。
聯(lián)系客服