




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于JAX-WS的成績(jī)查詢服務(wù)設(shè)計(jì)說(shuō)明書(shū)1 Webservice相關(guān)模型及理論1.1 Webservice介紹從表面上看,WebService就是一個(gè)應(yīng)用程序,該應(yīng)用程序向外界提供了一個(gè)能夠通過(guò)Web進(jìn)行調(diào)用的API。即用編程的方法通過(guò)Web調(diào)用來(lái)實(shí)現(xiàn)某個(gè)功能的應(yīng)用程序。如圖:創(chuàng)建Web Service,該Web Service作用是查詢天氣預(yù)報(bào)地信息。接受查詢條件字符串,通過(guò)SOAP協(xié)議將客戶端請(qǐng)求信息發(fā)送到Web Service服務(wù)發(fā)布服務(wù)器上,Web Service服務(wù)端接收用戶請(qǐng)求信息,調(diào)用中間層組件,把結(jié)果格式化為xml數(shù)據(jù)形式,最后還要通過(guò)SOAP協(xié)議將結(jié)果數(shù)據(jù)發(fā)揮客戶端,客戶端通
2、過(guò)瀏覽器即可查看該信息。如圖:從深層次上看,Web Service是一種新的Web應(yīng)用程序分支,它們是自包含、自描述、模塊化的應(yīng)用,可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及通過(guò)Web來(lái)調(diào)用。 Web Service便是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Service能與其他兼容的組件進(jìn)行互操作。它可以使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議HTTP和XML,將功能體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上。Web Service平臺(tái)是一套標(biāo)準(zhǔn),主要目標(biāo)是跨平臺(tái)的可互操作性。為了達(dá)到這一目標(biāo),WebService完全基于XML(可擴(kuò)展標(biāo)記語(yǔ)言)、X
3、SD(XMLSchema)等獨(dú)立于平臺(tái)、獨(dú)立于軟件供應(yīng)商的標(biāo)準(zhǔn),是創(chuàng)建可互操作的、分布式應(yīng)用程序的新平臺(tái)。你可以用你喜歡的任何語(yǔ)言,在你喜歡的任何平臺(tái)上寫(xiě)Web Service。1.2 WebService的技術(shù)支持WebService平臺(tái)需要一套協(xié)議來(lái)實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。要實(shí)現(xiàn)互操作性,平臺(tái)無(wú)關(guān)性,Web Service平臺(tái)必須提供一套標(biāo)準(zhǔn)的類(lèi)型系統(tǒng),用于溝通不同平臺(tái)、編程語(yǔ)言和組件模型中的不同類(lèi)型系統(tǒng)。目前這些協(xié)議有:1.2.1 XML和XSDXML是可擴(kuò)展的標(biāo)記語(yǔ)言,是Web Service平臺(tái)中表示數(shù)據(jù)的基本格式。其易于建立、易于分析和平臺(tái)無(wú)關(guān)。XML是由萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)創(chuàng)建
4、,W3C制定的XML SchemaXSD 定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型,并給出了一種語(yǔ)言來(lái)擴(kuò)展這套數(shù)據(jù)類(lèi)型。XSD是 XML結(jié)構(gòu)定義 ( XML Schemas Definition )。 XML Schema 是DTD的替代品。XML Schema語(yǔ)言也就是XSD。XML Schema描述了XML文檔的結(jié)構(gòu)。可以用一個(gè)指定的XML Schema來(lái)驗(yàn)證某個(gè)XML文檔,以檢查該XML文檔是否符合其要求。文檔設(shè)計(jì)者可以通過(guò)XML Schema指定一個(gè)XML文檔所允許的結(jié)構(gòu)和內(nèi)容,并可據(jù)此檢查一個(gè)XML文檔是否是有效的。XML Schema本身是一個(gè)XML文檔,它符合XML語(yǔ)法結(jié)構(gòu)??梢杂猛ㄓ玫腦ML解
5、析器解析。Web Service平臺(tái)是用XSD來(lái)作為數(shù)據(jù)類(lèi)型系統(tǒng)的。當(dāng)用某種語(yǔ)言如Java、VB.NET或C# 來(lái)構(gòu)造一個(gè)Web Service時(shí),為了符合Web Service標(biāo)準(zhǔn),所使用的數(shù)據(jù)類(lèi)型都必須被轉(zhuǎn)換為XSD類(lèi)型。并使用SOAP協(xié)議使其在不同平臺(tái)和不同軟件的不同組織間傳遞。1.2.2 SOAP協(xié)議SOAP(Simple Object Access Protocol)即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,用于交換XML編碼信息的輕量級(jí)協(xié)議。主要有三個(gè)方面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為XML對(duì)象的規(guī)則,執(zhí)行遠(yuǎn)程過(guò)程調(diào)用(RPC)的約定。SOAP可以運(yùn)
6、行在任何其他傳輸協(xié)議上。例如,可以使用 SMTP(簡(jiǎn)單郵件傳輸協(xié)議)來(lái)傳遞SOAP消息。在傳輸層之間的頭是不同的,但XML的有效負(fù)載保持相同。簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)是一種輕量的、簡(jiǎn)單的、基于 XML 的協(xié)議,它被設(shè)計(jì)成在 Web 上交換結(jié)構(gòu)化的和固化的信息。 SOAP可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議( HTTP),簡(jiǎn)單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。還支持從消息系統(tǒng)到遠(yuǎn)程過(guò)程調(diào)用(RPC)等大量的應(yīng)用程序。 SOAP 包括三個(gè)部分: SOAP 封裝:它定義了一個(gè)框架 , 該框架描述了消息中的內(nèi)容是什么,誰(shuí)應(yīng)當(dāng)處理它以及它是可選的還
7、是必須的。 SOAP 編碼規(guī)則:它定義了一種序列化的機(jī)制,用于交換應(yīng)用程序所定義的數(shù)據(jù)類(lèi)型的實(shí)例。 SOAP RPC 表示:它定義了用于表示遠(yuǎn)程過(guò)程調(diào)用和應(yīng)答的協(xié)定。 SOAP 消息基本上是從發(fā)送端到接收端的單向傳輸,但它們常常結(jié)合起來(lái)執(zhí)行類(lèi)似于請(qǐng)求 / 應(yīng)答的模式。所有的 SOAP 消息都使用 XML 編碼。一條 SOAP 消息就是一個(gè)包含有一個(gè)必需的 SOAP 的封裝包,一個(gè)可選的 SOAP 標(biāo)頭和一個(gè)必需的 SOAP 體塊的 XML 文檔。 把SOAP綁定到 HTTP 提供了同時(shí)利用 SOAP 的樣式和分散的靈活性的特點(diǎn)以及 HTTP 的豐富的特征庫(kù)的優(yōu)點(diǎn)。在 HTTP 上傳送 SOAP
8、 并不是說(shuō) SOAP 會(huì)覆蓋現(xiàn)有的 HTTP 語(yǔ)義,而是 HTTP上的SOAP語(yǔ)義會(huì)自然的映射到 HTTP語(yǔ)義。在使用 HTTP 作為協(xié)議綁定的場(chǎng)合中, RPC 請(qǐng)求映射到 HTTP 請(qǐng)求上,而 RPC 應(yīng)答映射到 HTTP 應(yīng)答。然而,在 RPC 上使用 SOAP 并不僅限于 HTTP 協(xié)議綁定。在本系統(tǒng)中,采用的是基于SOAP協(xié)議的直接的Webservice的調(diào)用。1.2.3 UDDI UDDI(Universal Description, Discovery and Integration)統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,是為解決Web服務(wù)的發(fā)布和發(fā)現(xiàn)問(wèn)題而制訂的新一代基于Internet的電
9、子商務(wù)技術(shù)標(biāo)準(zhǔn)。它包含一組基于Web的、分布式的Web服務(wù)信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn),以及一組使企業(yè)能將自己提供的Web服務(wù)注冊(cè)到該中心的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web Service注冊(cè),以使別的企業(yè)能夠發(fā)現(xiàn)的訪問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。在用戶能夠調(diào)用Web服務(wù)之前,必須確定這個(gè)服務(wù)內(nèi)包含哪些商務(wù)方法,找到被調(diào)用的接口定義,還要在服務(wù)端來(lái)編制軟件。UDDI (Universal Description, Discovery, and Integrat
10、ion) 是一個(gè)主要針對(duì)Web服務(wù)供應(yīng)商和使用者的新項(xiàng)目。UDDI 項(xiàng)目中的成員可以通過(guò)UDDI Business Registry (UBR)來(lái)操作Web服務(wù)的調(diào)用,UBR是一個(gè)全球性的服務(wù)。Web服務(wù)供應(yīng)商可以在UBR中描述并且注冊(cè)他們的服務(wù)。用戶可以在UBR中查找并定位他們所需要的服務(wù)。UDDI是一種根據(jù)描述文檔來(lái)引導(dǎo)系統(tǒng)查找相應(yīng)服務(wù)的機(jī)制。UDDI利用SOAP消息機(jī)制(標(biāo)準(zhǔn)的XML/HTTP)來(lái)發(fā)布、編輯,瀏覽以及查找注冊(cè)信息。采用XML格式來(lái)封裝各種不同類(lèi)型的數(shù)據(jù),并且發(fā)送到注冊(cè)中心或者由注冊(cè)中心來(lái)返回需要的數(shù)據(jù)。1.2.4 WSDLWeb Service描述語(yǔ)言WSDL 就是用機(jī)器
11、能閱讀的方式提供的一個(gè)正式描述文檔而基于XML的語(yǔ)言,用于描述Web Service及其函數(shù)、參數(shù)和返回值。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的。WSDL在UDDI中總是作為一個(gè)接口描述文檔。因?yàn)閁DDI是一個(gè)通用的用來(lái)注冊(cè)WSDL規(guī)范的地方,UDDI的規(guī)范并不限制任何類(lèi)型或者格式描述文檔。這些文檔可能是一個(gè)WSDL文檔,或者是一個(gè)正規(guī)的包含導(dǎo)向文檔的Web頁(yè)面,也可能只是一個(gè)包含聯(lián)系信息的電子郵件地址?,F(xiàn)在Java提供了一個(gè) Java API for WSDL (JWSDL)規(guī)范。WSDL提供了一套能快速處理WSDL文檔的方法,并且不用直接對(duì)XML文檔進(jìn)行操作,它
12、會(huì)比JAXP更方便,更快速。1.2.5遠(yuǎn)程過(guò)程調(diào)用RPC與消息傳遞Web Service本身其實(shí)是在實(shí)現(xiàn)應(yīng)用程序間的通信?,F(xiàn)在有兩種應(yīng)用程序通信的方法:RPC遠(yuǎn)程過(guò)程調(diào)用和消息傳遞。RPC遠(yuǎn)程過(guò)程調(diào)用,客戶端的概念是調(diào)用服務(wù)器上的遠(yuǎn)程過(guò)程,通常方式為實(shí)例化一個(gè)遠(yuǎn)程對(duì)象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達(dá)到一種位置上的透明性:服務(wù)器暴露出遠(yuǎn)程對(duì)象的接口,而客戶端就好像在本地使用的這些對(duì)象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對(duì)象是在哪臺(tái)機(jī)器上。2 當(dāng)前Webservice開(kāi)發(fā)技術(shù)2.1 微軟.NET 微軟的.NET技術(shù)應(yīng)該算是現(xiàn)在最為流行的Web Service 開(kāi)發(fā)技術(shù)。
13、首先因?yàn)槠涔驹谝郧跋鄳?yīng)的產(chǎn)品就占有相當(dāng)大的市場(chǎng)份額,以至使新推出的.NET得以有比較穩(wěn)定的用戶群;其次也是更重要的是 .NET平臺(tái)不僅延續(xù)了微軟一貫的編程風(fēng)格,而且還增加了許多支持Web 服務(wù)的關(guān)鍵性技術(shù),使得.NET在操作的簡(jiǎn)單性和執(zhí)行的穩(wěn)定性,高效性上達(dá)到了一個(gè)非常好的結(jié)合。 微軟的Visual Studio.NET便是一個(gè)便于 Web 服務(wù)的開(kāi)發(fā)工具。微軟的目標(biāo)是,將其新編程語(yǔ)言C#作為Web Service的首選語(yǔ)言。雖然C#看起來(lái)與Java類(lèi)似,但是還有一些Java中沒(méi)有的獨(dú)特的功能。.NET技術(shù)中用于Web Service 開(kāi)發(fā)的主要工具是ASP.NET。ASP 提供了一些超出A
14、SP以前版本的優(yōu)點(diǎn)(例如:代碼和HTML的分離,支持C#語(yǔ)言等)。2.2 Sun的Java WSDP針對(duì)開(kāi)發(fā)Web Services程序的需求,Sun推出了Java Web Services Developer Pack,簡(jiǎn)稱Java WSDP。隨著1.2版本的發(fā)布,Java開(kāi)發(fā)人員現(xiàn)在可以擁有一個(gè)方便的、集所有功能于一身的開(kāi)發(fā)包,用來(lái)幫助在Java平臺(tái)上開(kāi)發(fā)Web服務(wù)。Java WSDP包含Java XML Pack中的所有用于XML的Java API(Java APIs for XML(JAX),還包含有Apache Tomcat服務(wù)器以及為開(kāi)發(fā)與測(cè)試Web服務(wù)提供一個(gè)功能完備的環(huán)境所需的
15、其他組件。Java WSDP Registry Server (UDDI Server)。2.3 IBM的WebSphereIBM公司是業(yè)界第一家能夠提供全面支持Web服務(wù)的電子商務(wù)基礎(chǔ)設(shè)施中間件的公司。通過(guò)多年來(lái)與W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和WebSphere在內(nèi)的所有IBM軟件都實(shí)現(xiàn)了對(duì)SOAP、WSDL、UDDI、Linux、XML、J2EE等開(kāi)放技術(shù)和標(biāo)準(zhǔn)的全面支持。IBM公司的WebSphere也是比較好的基礎(chǔ)架構(gòu)軟件開(kāi)發(fā)平臺(tái)。WebSphere軟件平臺(tái)及開(kāi)發(fā)工具包括WSAD (WebSphe
16、re Studio Application Developer) 基于J2EE、XML 和Web服務(wù)等開(kāi)放標(biāo)準(zhǔn),并具備 IBM 在可靠性、擴(kuò)展性和安全性上的主要優(yōu)勢(shì)。WebSphere 是 IBM 在 Web Services策略中的核心平臺(tái),它支持所有開(kāi)發(fā)、發(fā)布、部署 Web Services應(yīng)用所必需的開(kāi)放標(biāo)準(zhǔn)和技術(shù),包括 UDDI,SOAP,J2EE,WSDL,和對(duì) XML 技術(shù)集成的增強(qiáng),這特使得它在全球有很多用戶。2.4 ApAche的AxisAxis本質(zhì)上就是一個(gè)SOAP引擎,提供創(chuàng)建服務(wù)器端、客戶端和網(wǎng)關(guān)SOAP操作的基本框架。Axis目前版本是為Java語(yǔ)言。Axis是Ecli
17、pse下的Lomboz插件。2.5 JAX-WS開(kāi)發(fā)的相關(guān)技術(shù)3 系統(tǒng)實(shí)現(xiàn)的詳細(xì)過(guò)程在實(shí)際Webservice項(xiàng)目開(kāi)發(fā)中,分為Webservice服務(wù)發(fā)布端和客戶端開(kāi)發(fā),由于本系統(tǒng)的主要是基于Internet上已發(fā)布的Webservice服務(wù)的客戶端開(kāi)發(fā),因此本章主要介紹客戶端的開(kāi)發(fā)過(guò)程,有關(guān)Webservice服務(wù)發(fā)布端的開(kāi)發(fā),將使用ApAche的jax-ws來(lái)進(jìn)行發(fā)布。3.1 創(chuàng)建服務(wù)端創(chuàng)建一個(gè)JAVA項(xiàng)目,并創(chuàng)建一個(gè)包,包里有一個(gè)類(lèi),然后在這個(gè)項(xiàng)目里創(chuàng)建一個(gè)Web Servieces,然后導(dǎo)入相關(guān)包,接著發(fā)布在Tomcat 7.0上。如下圖,3.1.2生成xml文件發(fā)布成功后我們可以在瀏
18、覽器里看到下圖:3.1.3創(chuàng)建客戶端創(chuàng)建一個(gè)Web servers Client,把它與建好的服務(wù)器所關(guān)聯(lián)。3.1.4客戶端實(shí)現(xiàn)查詢關(guān)鍵代碼public class ClientTest public static void main(String args)HelloJaxWsServices services = new HelloJaxWsServices();/ HelloJaxWsDelegate services = new HelloJaxWsService().getHelloJaxWsPort(); System.out.print("請(qǐng)輸入您的姓名:"); Scanner sc=new Scanner(System.in); String strName = sc.next(); System.out.print("請(qǐng)輸入年:"); int strYear = sc.nextInt(); System.out.print("請(qǐng)輸入學(xué)期(1或者2):"); int strMonth = sc.nextInt(); if(strMonth !=1) | ( strMonth !=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 戰(zhàn)略合作方銷(xiāo)售代理合同范本
- 土地使用權(quán)買(mǎi)賣(mài)合同樣本
- 臨時(shí)雇傭合同標(biāo)準(zhǔn)文本
- 高校畢業(yè)生實(shí)習(xí)協(xié)議合同
- 股份合作企業(yè)合同范本
- 婚禮場(chǎng)地租賃合同書(shū)
- 度企業(yè)信用反擔(dān)保合同協(xié)議
- 企業(yè)安全生產(chǎn)責(zé)任協(xié)議合同
- 勞動(dòng)合同樣本:?jiǎn)T工長(zhǎng)期雇傭
- 海濱度假村物業(yè)銷(xiāo)售合同協(xié)議
- 風(fēng)電epc合同模板
- 2024年新人教版一年級(jí)數(shù)學(xué)下冊(cè)《第2單元第5課時(shí) 20以內(nèi)的退位減法解決問(wèn)題(1)》教學(xué)課件
- 2022年陜西省普通高校職業(yè)教育單獨(dú)招生統(tǒng)一考試語(yǔ)文甲(A)試題
- DB11T 212-2017 園林綠化工程施工及驗(yàn)收規(guī)范
- 失業(yè)保險(xiǎn)待遇申領(lǐng)表
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)第二冊(cè)河北大學(xué)版(第3版)教學(xué)設(shè)計(jì)合集
- 期末測(cè)試卷(一)(試題)2023-2024學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 攜程在線能力測(cè)評(píng)真題
- 感知覺(jué)與溝通評(píng)估三明醫(yī)學(xué)科技職業(yè)
- 人教版(2024)六年級(jí)全一冊(cè) 第17課 設(shè)計(jì)我的種植園
- 承包商入廠安全培訓(xùn)試題附參考答案【完整版】
評(píng)論
0/150
提交評(píng)論