當(dāng)前位置首頁 > 計(jì)算機(jī) > WEB服務(wù)/網(wǎng)站/SEO
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

企業(yè)級開發(fā)WEB服務(wù)應(yīng)用

文檔格式:PPT| 46 頁|大小 2.11MB|積分 10|2024-10-05 發(fā)布|文檔ID:244715384
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 46
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第六章,WEB服務(wù)(WEB SERVICE)開發(fā)和應(yīng)用,課程內(nèi)容,WebService的各種創(chuàng)建和查看,實(shí)現(xiàn)WebService客戶端,WebService的應(yīng)用場合,WebService的優(yōu)點(diǎn)和缺點(diǎn),WebService的性能優(yōu)化,創(chuàng)建和查看WEB服務(wù),Web Service軟件的支持,Web Service構(gòu)建工具如下:,微軟,.NET,IBM,的,WebSphere,Borland,的,JBuilder,開源的,Eclipse,總之,在Web Service開發(fā)上,.NET 和Java都是很好的選擇,盡管兩者現(xiàn)在都有一些需要完善的地方,但是就目前來說,它們還是最好的開發(fā)手段和技術(shù)具體選擇哪種開發(fā)工具,也是仁者見仁,智者見智的問題使用XFire開發(fā)Web服務(wù),一個Demo:,一個銀行業(yè)應(yīng)用程序,將資金從一個賬戶轉(zhuǎn)到另外一個賬戶上它需要四個輸入?yún)?shù):,String fromAccount:轉(zhuǎn)帳的帳戶帳號String toAccount,:被轉(zhuǎn)到的帳戶帳號double amount,:轉(zhuǎn)帳的資金數(shù)目。

    String bankName,:服務(wù)的銀行名稱XFire是一個免費(fèi)的開源SOAP框架,它不僅可以極大方便地實(shí)現(xiàn)這樣一個環(huán)境,并且可以提供許多Web Services規(guī)范中的高級特征,這些特征在多數(shù)的商業(yè)或者開源工具都沒有提供下面你將會看到使用XFire創(chuàng)建Web Services是多么的簡單接口的設(shè)計(jì):,package;,public interface IBankService,public String transferFunds(String fromAccount,String toAccount,double amount,String bankName);,編寫Java類簡單的實(shí)現(xiàn)以上接口(代碼省略),Web應(yīng)用的部署描述符,首先,修改web.xml我們需要增加下面的XFire servlet相關(guān)的條目,部分代碼如下:,XFireServlet,/servlet/XFireServlet/*,XFireServlet,/services/*,在Java中,Web應(yīng)用程序通常需要至少一個部署描述符對其進(jìn)行配置XFire本身是一個基于Servlet的應(yīng)用程序因此,我們需要增加必要的引用到描述符文件中。

    然后我們還必須配置將要創(chuàng)建的Web Services我們使用一個稱為services.xml的新文件來完成這件事services.xml,Web Services是由一個叫做services.xml的文件組成的,存放在META-INF/xfire目錄下該文件的部分配置代碼如下:,BankService,wrapped,literal,application,分析service.xml文件中的元素,,它可以是你提供任何的合法名字這將會被客戶端程序和其它需要定位你的服務(wù)的組件用到可以在瀏覽器上使用這個名字來查看WSDL任何合法的XML名字都是可以的用來唯一標(biāo)識你的服務(wù)的各個參數(shù)元素包含了Java類的名字,它指定了方法簽名在我們的例子中,它是接口IBankingService如果Java類沒有實(shí)現(xiàn)任何接口,就需要把類的名字放在這里在你的Java類或者接口中可能有幾個方法只需要一個入口把它們?nèi)堪l(fā)布為Web Services保存了實(shí)現(xiàn)方法的Java類名這是一個可選元素如果上一個元素包含了一個接口,那么相應(yīng)的實(shí)現(xiàn)類必須在這里指定基本的Web Services開發(fā)步驟,基本的Web Services開發(fā)步驟 如下:,1編寫Java類,類中的方法和默認(rèn)構(gòu)造函數(shù)確保為public。

    2增加XFire servlet相關(guān)條目到web.xml中3創(chuàng)建services.xml,把它放到WEB-INF/classes/META-INF/xfire目,錄下4增加XFire和第三方包到你的Web應(yīng)用的WEB-INF/lib文件夾中XFire的其他高級特性,本地?cái)?shù)據(jù)綁定支持,POJOs,(,plain-old Java objects,)、,XMLBeans,、,JAXB,(,Java Architecture for XML Binding,)、,Castor,等等使用,StAX(Streaming,API for XML),處理,XML,文檔支持多種傳輸協(xié)議,如,HTTP,、,JMS,(,Java Message Service,)和,JVM,內(nèi)部傳輸嵌入式,這是,XFire,的核心功能之一豐富的,API,,它使,XFire,可高度自定義兼容最新的標(biāo)準(zhǔn)例如,SOAP1.1,(沒有加密遠(yuǎn)程工程調(diào)用,或者,RPC,)和,1.2,、,WSDL1.1,等其他開發(fā)Web服務(wù)的途徑,一:使用EJB來暴露Web服務(wù),二:將Web工程發(fā)布為Web服務(wù),查看Web服務(wù),假如我們的Web服務(wù)是發(fā)布在JBoss服務(wù)器中的,我們可以通過JBoss管理平臺查看剛才發(fā)布的Web Service,我們可以輸入:“http:/localhost:8080/jbossws/”進(jìn)入JBossWS的查看界面,點(diǎn)擊“View”連接后,可以查看已經(jīng)發(fā)布的Web服務(wù),兩種實(shí)現(xiàn)Web服務(wù)的方法,1開始編寫Java類,并讓容器去生成WSDL及其它所需要的XML文檔;,2開始編寫(或直接使用現(xiàn)成的)WSDL文件,并借助于開發(fā)工具生成所需要的Java類。

    其他開發(fā)Web服務(wù)的途徑,實(shí)現(xiàn)WEB服務(wù)客戶,調(diào)用WebService的方法,在J2EE平臺中,Web服務(wù)客戶同EJB客戶類似如以下兩種方式能夠訪問到Web服務(wù):,1單獨(dú)的JAX-WS客戶它們不借助于JNDI來訪問Web服務(wù)2J2EE客戶(比如Web客戶、J2EE應(yīng)用客戶)它們借助于客戶端的JNDI上下文訪問Web服務(wù)分析:,第一種方式:不借助于JNDI,即單獨(dú)客戶,比如那些未運(yùn)行在應(yīng)用服務(wù)器中的遠(yuǎn)程Java客戶能夠訪問到Web服務(wù)第二種方式:依賴于Dispatch對象它在運(yùn)行的時候以來動態(tài)調(diào)用接口(Dynamic Invocation Interface,DII)創(chuàng)建調(diào)用對象開發(fā)一個客戶端,如以下代碼:,/創(chuàng)建一個服務(wù)模型,Service serviceModel=new,ObjectServiceFactory().create(IBankService.class);,/獲得服務(wù)的代理工廠,XFire xfire=XFireFactory.newInstance().getXFire();,XFireProxyFactory factory=new XFireProxyFactory(xfire);,可以使用任何的SOAP工具創(chuàng)建客戶端,例如,.Net或者Apache Axis,有很多種方法,使用從WSDL產(chǎn)生的stubs,使用動態(tài)代理等等。

    下面這個例子中,我們使用一個動態(tài)代理,以一個簡單的Servlet形式,叫做WsClient.java為了保持代碼量最小,所有在屏幕顯示的元素都放在了doGet()方法中String serviceUrl=,http:/localhost:8080/BankWebService/services/BankService;,IBankService client=null;,try,client=(IBankService)factory.create(serviceModel,serviceUrl);,catch(MalformedURLException e),log.error(WsClient.callWebService():出現(xiàn)異常:+e.toString();,/調(diào)用服務(wù),String serviceResponse=;,try,serviceResponse=client.transferFunds(fromAccount,toAccount,amount,currency);,catch(Exception e),/返回服務(wù)的調(diào)用結(jié)果,return serviceResponse;,WEB服務(wù)的應(yīng)用探討,WebService的缺點(diǎn),XML,限制,無狀態(tài)(,stateless,)的服務(wù),數(shù)據(jù)綁定也存在一些不足,技術(shù)要求高,學(xué)習(xí)曲線較長,在體會到WebService自身的優(yōu)點(diǎn)的同時,不要忘了WebService也存在很多的缺點(diǎn):,什么應(yīng)用適合Web Services?,基于,WAN,和,Internet,的應(yīng)用,基于異構(gòu)平臺的應(yīng)用,需要強(qiáng)安全特性的應(yīng)用,EAI,(企業(yè)應(yīng)用集成),行業(yè)內(nèi)部,B2B,應(yīng)用,就目前來說,Web Services比較適合用于下列形式的應(yīng)用:,提高Web Services的性能,要想提高Web Services應(yīng)用的性能,需要對整個系統(tǒng)做全盤的考慮。

    一般來說,有以下幾點(diǎn)需要注意:,(,1,),Web Services,的顆粒度,,,Web Services,比較適用于大顆粒度的應(yīng)用,在一個調(diào)用中便獲得所有的信息,(,2,)謹(jǐn)慎使用,XML,接口,,避免不必要的,XML,文檔的解析和效驗(yàn);在處理,XML,的時候,盡量將,XML,轉(zhuǎn)換成內(nèi)部對象,,XML,的傳遞只會增加系統(tǒng)的開銷3,)最大可能性使用,CACHE,,,可以使用,CACHE(,緩沖技術(shù),),無論是客戶端的,CACHE,還是服務(wù)器端的,CACHE,,都能大大提高系統(tǒng)的性能本章總結(jié),WebService的各種創(chuàng)建和查看,實(shí)現(xiàn)WebService客戶端,WebService的應(yīng)用場合,WebService的優(yōu)點(diǎn)和缺點(diǎn),WebService的性能優(yōu)化,動手實(shí)踐:人數(shù)計(jì)算器,人數(shù)計(jì)數(shù)器,要開始本章的體驗(yàn)項(xiàng)目首先要做以下的準(zhǔn)備工作:,(1)首先將本章體驗(yàn)項(xiàng)目下配置文件按照指定要求放到指定目錄,下:C盤根目錄下2)之后將體驗(yàn)項(xiàng)目部署到服務(wù)器中,并啟動服務(wù)器3)最后在瀏覽器中輸入以下地址:,http:/localhost:8080/CounterWebService/counter.jsp,如果成功運(yùn)行則會看到類似以下的畫面,如圖6-1所示:,圖6-1 計(jì)數(shù)器頁面,可以看到頁面中成功的輸出了當(dāng)天的訪問量以及當(dāng)周的訪問量和總訪問量,當(dāng)刷新頁面的時候,會看到統(tǒng)計(jì)的數(shù)字依次加一。

    實(shí)現(xiàn)步驟,(1)新建一個WebService工程,之后編寫業(yè)務(wù)操作的接口類:ICounterSerivce;,(2)實(shí)現(xiàn)該接口的業(yè)務(wù)Bean:CounterServiceImpl,(3)編寫一個簡單客戶端是如何調(diào)用以上Web服務(wù),(4)在工程中新建一個JSP頁面:counter.jsp,通過客戶端Bean應(yīng)用該Web服務(wù),在開始開發(fā)WebSerivce之前,我們首先要做的是在c盤下或者是其它目錄下新建一個文件-counter.xml,用于保存記錄的數(shù)字1)創(chuàng)建一個Web服務(wù),實(shí)現(xiàn)對用戶訪問頁面的次數(shù)進(jìn)行分天或分周進(jìn)行統(tǒng)計(jì)2)在Java中調(diào)用該Web服務(wù),并在JSP頁面中把結(jié)果顯示出來1)在開始開發(fā)Web Serivce之前,我們首先要做的是在C盤下或者是其它目錄下新建一個文件counter.xml,用于保存記錄的數(shù)字,counter.xml文件內(nèi)容如下:,admin,123456,1,24,56,2007-6-18 5:42:58,(2)新建一個Web Services工程,命名為CounterWebSerivce,之后編寫業(yè)務(wù)操作的接口類ICounterSerivce,代碼如下:,package com.test.webserivce;,public interface ICounterSerivce,public String counter(String userName,String password);,(3)編寫實(shí)現(xiàn)類CounterServiceImpl,代。

    點(diǎn)擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護(hù)航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強(qiáng)不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠(yuǎn)離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護(hù)職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會保護(hù)自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進(jìn)會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧幽7侗碚么髸系闹v話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點(diǎn)材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:痛苦女王
    資質(zhì):實(shí)名認(rèn)證