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