版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
企業(yè)級信息系統(tǒng)開發(fā)技術(shù)濟南大學(xué)信息學(xué)院劉鹍liukun@第10章WebServices開發(fā)學(xué)習要點:1.掌握WebServices的基礎(chǔ)知識。2.熟悉構(gòu)建WebService的過程。緒:為什么需要分布式EJB:分布式部署應(yīng)用程序客戶端Web端EJB組件1EJB組件2EJB組件3EJB組件nDB緒:為什么需要分布式分布式應(yīng)用中心端服務(wù)器JavaEE地區(qū)端服務(wù)器.net地區(qū)端服務(wù)器.net地區(qū)端服務(wù)器.net地區(qū)端服務(wù)器.net地區(qū)端服務(wù)器JavaEE地區(qū)端服務(wù)器JavaEE地區(qū)端服務(wù)器JavaEE地區(qū)端服務(wù)器JavaEEEJB??情景:為什么要使用WebServices兩個應(yīng)用系統(tǒng)之間需要交互數(shù)據(jù)(通信)如果是同一種語言Java:EJB(RMI/IIOP).Net:.NETRemoting(RPC)如果是使用了不同的語言?Java調(diào)用.Net提供的功能?Java.Net?DB這種方式有什么弊端?情景:為什么要使用WebServices什么是服務(wù)(Services)?傳統(tǒng)上,我們把計算機后臺程序提供的功能,稱為“服務(wù)”(service)。通俗地說,“服務(wù)”就是計算機可以提供的某一種功能。根據(jù)來源的不同,“服務(wù)”又可以分成兩種:本地服務(wù):使用同一臺機器提供的服務(wù),不需要網(wǎng)絡(luò)。網(wǎng)絡(luò)服務(wù):使用另一臺計算機提供的服務(wù),必須通過網(wǎng)絡(luò)才能完成。情景:為什么要使用WebServicesWeb服務(wù)是一種面向服務(wù)的架構(gòu)的技術(shù),通過標準的Web協(xié)議提供服務(wù),目的是保證不同平臺的應(yīng)用服務(wù)可以互操作。根據(jù)W3C的定義,Web服務(wù)應(yīng)當是一個軟件系統(tǒng),用以支持網(wǎng)絡(luò)間不同機器的互動操作。網(wǎng)絡(luò)服務(wù)通常是許多應(yīng)用程序接口(API)所組成的,它們透過網(wǎng)絡(luò),例如國際互聯(lián)網(wǎng)(Internet)的遠程服務(wù)器端,執(zhí)行客戶所提交服務(wù)的請求。WebService架構(gòu)的基本思想,就是盡量把非核心功能交給其他人去做,自己全力開發(fā)核心功能。
Java.Netstub存根skeleton骨架HTTP、XMLSOA與WebServicesSOA是什么SOA是指為了解決在Internet環(huán)境下業(yè)務(wù)集成的需要,通過連接能完成特定任務(wù)的獨立功能實體實現(xiàn)的一種軟件系統(tǒng)架構(gòu)。面向服務(wù)是一種理念,面向服務(wù)的架構(gòu)是基于這種理念的架構(gòu)方法。面向服務(wù)在不少方面是以面向?qū)ο鬄榛A(chǔ),當前典型的面向服務(wù)的解決方案由服務(wù)和面向?qū)ο蟮慕M件構(gòu)成。SOA與WebServices一個典型的電子商務(wù)流程電子商務(wù)門戶訂單銷售商工廠支付寶物流公司下訂單清單瀏覽支付支付確認支付確認支付訂單交貨發(fā)貨SOA與WebServices業(yè)務(wù)層——服務(wù)電子商務(wù)門戶訂單支付確認支付銷售商支付寶瀏覽工廠物流公司組合服務(wù)服務(wù)清單訂單下單發(fā)貨支付確認支付交貨業(yè)務(wù)層(服務(wù))SOA與WebServices服務(wù)之間是松耦合的服務(wù)可獨立存在網(wǎng)購電子商務(wù)門戶訂單支付確認支付銷售商支付寶瀏覽工廠物流公司組合服務(wù)服務(wù)清單訂單下單發(fā)貨支付確認支付交貨服務(wù)可獨立存在:接口和實現(xiàn)可分離的。服務(wù)隱藏了服務(wù)實現(xiàn)內(nèi)部復(fù)雜邏輯和技術(shù)。服務(wù)之間是松散耦合的,服務(wù)之間通過消息交互。SOA與WebServices在架構(gòu)人員眼中:一切皆服務(wù)組合
服務(wù)服務(wù)清單訂單下單發(fā)貨預(yù)支付支付交貨技術(shù)業(yè)務(wù)管理人員業(yè)務(wù)人員設(shè)計人員開發(fā)人員客戶合作伙伴構(gòu)件技術(shù)分布對象技術(shù)應(yīng)用服務(wù)器技術(shù)架構(gòu)人員SOA與WebServicesSOA一個架構(gòu)方法。將應(yīng)用程序的不同功能單元(服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。SOA與WebServicesWebServices從外部的使用者的角度而言,Web服務(wù)是一種部署在Web上的對象/組件,它有一個或多個端口(Port),這些端口用于接收客戶端的請求,并返回響應(yīng)。Web服務(wù)的特點:Web服務(wù)是基于標準的(WSDL,UDDI,SOAP,XML,TCP,HTTP,SMTP)Web服務(wù)是跨平臺、跨語言的Web服務(wù)是面向消息的Web服務(wù)獲得了廣泛的支持SOA與WebServicesWebServices應(yīng)用SOA與WebServicesSOA架構(gòu)第10章WebService開發(fā)10.1Web服務(wù)概述10.2WEBService基礎(chǔ)10.3XML基礎(chǔ)10.4使用JAX-WS構(gòu)建簡單的WebService10.1WebService概述簡單來說,WebService就是一個向外界暴露出接口的能夠通過網(wǎng)絡(luò)進行遠程調(diào)用的應(yīng)用程序。更準確地說:一方面WebService是一種部署在Web上的對象;另一方面WebService是建立在以XML為主的、開放的Web標準協(xié)議規(guī)范的基礎(chǔ)上的分布式應(yīng)用新平臺,也就是說WebService的實質(zhì)是一套標準,它定義了應(yīng)用程序如何在Web上實現(xiàn)互操作。只需要遵守這一套標準,人們可以用任何語言,在任何平臺上實現(xiàn)所需要的WebService,并且可以順利地同網(wǎng)絡(luò)上任何其它亦遵守上述協(xié)議的WebService組件進行互操作,從而可以實現(xiàn)一種高效、低廉的異構(gòu)平臺上應(yīng)用的集成。對于從事企業(yè)應(yīng)用開發(fā)來講,學(xué)習WebService技術(shù)是相當必要的。10.1WebService概述WebServices(Web服務(wù))定義:WebService是一種新的Web應(yīng)用程序分支,它們是自包含、自描述、模塊化的應(yīng)用,可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及通過Web來調(diào)用。使用標準的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議HTTP和XML。Webservice平臺是一套標準,它定義了應(yīng)用程序如何在Web上實現(xiàn)互操作性。你可以用任何你喜歡的語言,在任何你喜歡的平臺上寫Webservice。10.1WebService概述WebService的特點跨平臺的可互操作性跨防火墻的通信應(yīng)用程序集成B2B的集成軟件和數(shù)據(jù)重用普遍、易用性10.1.1WebService的核心標準WebService的核心標準XMLSOAPWSDLUDDI10.1.1WebService的核心標準XML和XMLSchemaXML(eXtensibleMarkupLangugage,即可擴展標記語言)是WebService技術(shù)架構(gòu)的基石,它是WebService中表示數(shù)據(jù)的基本格式。XMLSchema定義了一套標準的數(shù)據(jù)類型,并給出了一種語言來擴展這套數(shù)據(jù)類型,WebService平臺就是用XMLSchema作為其數(shù)據(jù)類型系統(tǒng)的。XMLXMLXMLSchemaXMLSchema10.1.1WebService的核心標準SOAPSOAP(SimpleObjectAccessProtocol,簡單對象訪問協(xié)議)提供了標準的RPC(遠程過程調(diào)用協(xié)議)方法來調(diào)用WebService。SOAP規(guī)范中定義了SOAP消息的格式,以及怎樣通過HTTP協(xié)議來使用SOAP。SOAP是基于XML和XSD(XMLSchemasDefinition)的,其中XML是SOAP的數(shù)據(jù)編碼方式。10.1.1WebService的核心標準WSDLWSDL(WebServicesDescriptionLanguage,WebServices描述語言)是一種基于XML的,用于描述WebService及其操作、參數(shù)和返回值的語言。一些最新的開發(fā)工具既能根據(jù)WebService生成WSDL文檔,又能通過導(dǎo)入WSDL文檔,生成調(diào)用相應(yīng)WebService的代碼。10.1.1WebService的核心標準UDDIUDDI(UniversalDescriptionDiscoveryIntegration,統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議)是WebService架構(gòu)下核心的服務(wù)描述、發(fā)現(xiàn)和集成機制,其目的是在網(wǎng)上自動查找WebService。一旦WebService注冊到UDDI,客戶就可以很方便地查找和定位到所需要的WebService。10.1.2WebService體系架構(gòu)服務(wù)提供者(ServiceProvider)從企業(yè)的角度看,這是服務(wù)的所有者。從體系結(jié)構(gòu)的角度看,這是托管被訪問服務(wù)的平臺。服務(wù)請求者(ServiceRequestor)從企業(yè)的角度看,這是要求滿足特定功能的企業(yè)。從體系結(jié)構(gòu)的角度看,這是尋找并調(diào)用服務(wù),或啟動與服務(wù)交互的應(yīng)用程序。服務(wù)請求者角色可以由瀏覽器來擔當,由人或無用戶界面的程序(例如,另一個WebService)來控制它。服務(wù)注冊中心(ServiceRegistry)
這是可搜索的服務(wù)描述注冊中心,服務(wù)提供者在此發(fā)布他們的服務(wù)描述。10.1.2WebService體系架構(gòu)Bind(綁定)服務(wù)請求者通過綁定調(diào)用服務(wù)提供者提供的服務(wù)。Find(查找)服務(wù)請求者可以通過服務(wù)注冊中心查找特定種類的服務(wù)。Publish(發(fā)布)服務(wù)提供者發(fā)布服務(wù)描述以使服務(wù)可訪問并且服務(wù)請求者可以查找它。第10章WebService開發(fā)10.1Web服務(wù)概述10.2WEBService基礎(chǔ)10.3XML基礎(chǔ)10.4使用JAX-WS構(gòu)建簡單的WebService10.2.1SOAPSOAP(SimpleObjectAccessProtocol,簡單對象訪問協(xié)議)是在分散或分布式的環(huán)境中交換信息的簡單的協(xié)議,是一個基于XML的協(xié)議。SOAP在WebService中作為用于XML消息傳遞的一種非常普遍的協(xié)議,它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當接受并處理它以及如何處理它們的框架;SOAP編碼規(guī)則(encodingrules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例;SOAPRPC表示(RPCrepresentation),表示遠程過程調(diào)用和應(yīng)答的協(xié)定;SOAP綁定(binding),使用底層協(xié)議交換信息。雖然這四個部分都作為SOAP的一部分定義的,但它們在功能上是相交的、彼此獨立的。特別的,信封和編碼規(guī)則是被定義在不同的XML命名空間(namespace)中,這樣使得定義更加簡單。10.2.1SOAPSOAP的兩個主要設(shè)計目標是簡單性和可擴展性。這就意味著有一些傳統(tǒng)消息系統(tǒng)或分布式對象系統(tǒng)中的某些性質(zhì)將不是SOAP規(guī)范的一部分。SOAP可簡單地理解為這樣一個開放協(xié)議的組合SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協(xié)議;RPC作為一致性的調(diào)用途徑;XML作為數(shù)據(jù)傳送的格式,允許服務(wù)提供者和服務(wù)客戶經(jīng)過防火墻在INTERNET進行通訊交互。RPC的描敘可能不太準確,因為SOAP一開始構(gòu)思就是要實現(xiàn)平臺與環(huán)境的無關(guān)性和獨立性,每一個通過網(wǎng)絡(luò)的遠程調(diào)用都可以通過SOAP封裝起來,包括DCE(DistributedComputingEnvironment)、RPCCALLS、COM/DCOMCALLS、CORBACALLS、JAVACALLS等等。10.2.1SOAP客戶發(fā)送請求時,不管客戶是什么平臺,首先把請求轉(zhuǎn)換成XML格式,SOAP網(wǎng)關(guān)可自動執(zhí)行這個轉(zhuǎn)換。為了保證傳送時參數(shù)、方法名、返回值的唯一性,SOAP協(xié)議使用了一個私有標記表,從而服務(wù)器的SOAP網(wǎng)關(guān)可以正確地解析;而使用XML作為編碼表現(xiàn)形式,提供了更高層次上的抽象,從而實現(xiàn)與平臺和環(huán)境的無關(guān)。10.2.2WSDLWSDL(WebServiceDescriptionLanguage,即Web服務(wù)器描述語言)是用XML文檔來描述Web服務(wù)的標準,是Web服務(wù)的接口定義語言,由Ariba、Intel、IBM、Microsoft等共同提出。通過WSDL,可描述Web服務(wù)的三個基本屬性:服務(wù)做些什么——服務(wù)所提供的操作(方法)如何訪問服務(wù)——和服務(wù)交互的數(shù)據(jù)格式以及必要協(xié)議服務(wù)位于何處——協(xié)議相關(guān)的地址,如URL10.2.2WSDLWSDL文檔在WebService的定義中使用下列元素:Types-數(shù)據(jù)類型定義的容器;Message-通信消息的數(shù)據(jù)結(jié)構(gòu)的抽象類型化定義;Operation-對服務(wù)中所支持的操作的抽象描述;PortType-對于某個訪問入口點類型所支持的操作的抽象集合;Binding-特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范的綁定。Port-定義為協(xié)議/數(shù)據(jù)格式綁定與具體Web訪問地址組合的單個服務(wù)訪問;Srvice-相關(guān)服務(wù)結(jié)點的集合。10.2.3UDDIUDDI(UniversalDescription,DiscoveryandIntegration,即統(tǒng)一描述、發(fā)現(xiàn)與集成協(xié)議標準)是一個非常重要的創(chuàng)新。它是第一個由平臺提供者、軟件開發(fā)者、交易市場運營者、電子商務(wù)企業(yè)和全球商務(wù)領(lǐng)頭羊為解決B2B電子商務(wù)的發(fā)展的局限性而一起提出的跨行業(yè)的解決方案。是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊中心的實現(xiàn)標準規(guī)范。同時也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標準。10.2.3UDDIUDDI計劃是一個廣泛的,開放的行業(yè)計劃,它使得商業(yè)實體能夠(1)彼此發(fā)現(xiàn);(2)定義它們怎樣在internet上互相作用,并在一個全球的注冊體系架構(gòu)中共享信息。UDDI是這樣一種基礎(chǔ)的系統(tǒng)構(gòu)筑模塊,它使商業(yè)實體能夠快速、方便地使用它們自身的企業(yè)應(yīng)用軟件來發(fā)現(xiàn)合適的商業(yè)對等實體,并以其實施電子化的商業(yè)貿(mào)易。UDDI同時也是Web服務(wù)集成的一個體系框架。它包含了服務(wù)描述與發(fā)現(xiàn)的標準規(guī)范。UDDI規(guī)范利用了W3C和Internet工程任務(wù)組織(IETF)的很多標準作為其實現(xiàn)基礎(chǔ),比如XML,HTTP和域名服務(wù)(DNS)這些協(xié)議。10.2.3UDDI通過這個開放性的計劃,企業(yè)可以發(fā)布他們所期望的在Web上實現(xiàn)商務(wù)流程對接的方式的相關(guān)信息和技術(shù)規(guī)范,這潛在地為B2B商務(wù)的成長提供了動力。UDDI將通過創(chuàng)建一個全球的、獨立平臺,運用Internet發(fā)現(xiàn)商機、描述服務(wù)和綜合商務(wù)的開放式框架,使所有的貿(mào)易都從中獲利。UDDI計劃不由任何一家現(xiàn)有的公司實際運作。同時它也不是一個標準的實體或者是一個新的公司。UDDI商業(yè)注冊中心被作為一個支持UDDI規(guī)范的Web服務(wù)來運作。最初,Ariba,IBM和Microsoft將運作這個分布式的服務(wù),但是額外的注冊中心的訪問入口仍然被期待著。一個訪問入口的委員會(OperatorCouncil)將協(xié)助制定訪問入口的方針和服務(wù)質(zhì)量等問題。10.2.3UDDI從UDDI可以獲得的直接收益包括:具備UDDI能力的企業(yè)可以在Internet上通過他們首選的企業(yè)應(yīng)用,快速便捷地發(fā)現(xiàn)合適的商業(yè)實體并實現(xiàn)彼此之間的互操作,這將最終推動企業(yè)自身的經(jīng)濟收益。為企業(yè)迅疾地參與全球化的Internet經(jīng)濟提供了一個方便的發(fā)展道路。提供了一個為商業(yè)在一個簡單的開放式環(huán)境中,循序漸進地描述他們的服務(wù)和商業(yè)流程的途徑。提供了一組規(guī)范,使企業(yè)能夠在Internet上調(diào)用服務(wù)并為他們的首選客戶提供增值服務(wù)。小節(jié):Web服務(wù)基礎(chǔ)SOAP:SimpleObjectAccessProtocol,簡單對象訪問協(xié)議WSDL:WebServiceDescriptionLanguage,即Web服務(wù)器描述語言UDDI:UniversalDescription,DiscoveryandIntegration,即統(tǒng)一描述、發(fā)現(xiàn)與集成協(xié)議標準第10章WebService開發(fā)10.1Web服務(wù)概述10.2WEBService基礎(chǔ)10.3XML基礎(chǔ)10.4使用JAX-WS構(gòu)建簡單的WebService10.3XML基礎(chǔ)XML(eXtensibleMakeupLanguage,即可擴展標記語言)是一種簡單靈活的文本格式,可以作為創(chuàng)建新的標記語言的基礎(chǔ),以便在文檔發(fā)布和數(shù)據(jù)交換中使用。XML基于萬維網(wǎng)聯(lián)盟(W3C)的工作小組發(fā)布的一系列標準。因此,非常適合(且不限于)在基于Web的應(yīng)用程序中使用。XML是一套定義語義標記的規(guī)則,這些標記將文檔分成許多部件并對這些部件加以標識。它也是元標記語言,即定義了用于定義其它與特定領(lǐng)域有關(guān)的、語義的、結(jié)構(gòu)化的標記語言的句法語言。10.3XML基礎(chǔ)關(guān)于XML要理解的第一件事是,它不只是像超文本標記語言(HypertextMarkupLanguage,HTML)或是格式化的程序。XML是一種元標記語言。用戶可以定義自己需要的標記。這些標記必須根據(jù)某些通用的原理來創(chuàng)建,但是在標記的意義上,也具有相當?shù)撵`活性。XML定義了一套元句法,與特定領(lǐng)域有關(guān)的標記語言(如MusicML、MathML和CML)都必須遵守。如果一個應(yīng)用程序可以理解這一元句法,那么它也就自動地能夠理解所有的由此元語言建立起來的語言。關(guān)于XML要了解的第二件事是,XML標記描述的是文檔的結(jié)構(gòu)和意義。它不描述頁面元素的格式化。可用樣式單為文檔增加格式化信息。文檔本身只說明文檔包括什么標記,而不是說明文檔看起來是什么樣的。10.3XML基礎(chǔ)<dt>HotCop <dd>byJacquesMoraliHenriBeloloandVictorWillis <ul>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一體化物業(yè)管理與維護服務(wù)協(xié)議范本版A版
- 二零二五年度鮮活農(nóng)產(chǎn)品運輸合同協(xié)議及保鮮技術(shù)要求3篇
- 2025年度智能制造廠房租賃居間服務(wù)協(xié)議4篇
- 2024版有關(guān)服務(wù)的合同匯編
- 專業(yè)技術(shù)資訊檢索服務(wù)協(xié)議范本一
- 2025年度廠房建設(shè)項目工程監(jiān)理合同范本4篇
- 2025年度茶葉產(chǎn)品追溯系統(tǒng)建設(shè)合同4篇
- 專用飲用水品質(zhì)保障合同范本2024版B版
- 2025年度常年法律顧問專項服務(wù)合同7篇
- 2025年度體育健身中心場地租賃及會員服務(wù)合同4篇
- 《流感科普宣教》課件
- 離職分析報告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預(yù)防和處理條例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學(xué)寒假作業(yè)1
- 保險產(chǎn)品創(chuàng)新與市場定位培訓(xùn)課件
- (完整文本版)體檢報告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護理體會
- 鋼結(jié)構(gòu)牛腿計算
評論
0/150
提交評論