• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Web服務(wù)在軟件開發(fā)中的應(yīng)用

      2015-05-30 15:39:37李超燕周建良
      關(guān)鍵詞:WEB服務(wù)

      李超燕 周建良

      摘 要: Web服務(wù)是在網(wǎng)上發(fā)布的一種服務(wù)。在進行應(yīng)用程序開發(fā)時,可以直接來調(diào)用該服務(wù),而簡化開發(fā)流程。本文對Web服務(wù)所采用的主要技術(shù)進行了闡述,并且通過一個軟件開發(fā)中的實際應(yīng)用讓大家來掌握如何對網(wǎng)上存在的Web服務(wù)進行調(diào)用和調(diào)試。

      關(guān)鍵詞: Web服務(wù); Web引用; 第三方Web服務(wù)

      中圖分類號: TP 319 文獻標志碼: A 文章編號: 1671-2153(2015)04-0072-03

      0 引 言

      Web 服務(wù)是通過Web 進行發(fā)布、定位和調(diào)用的松散耦合組件。由于Web 服務(wù)具有完好的封裝性、松散耦合、高度集成能力等特點,Web 服務(wù)成為越來越多企業(yè)實現(xiàn)大規(guī)模軟件開發(fā)和服務(wù)共享的解決方案[1]。在各大網(wǎng)站中經(jīng)??梢钥吹讲樵兲鞖忸A報、查詢火車班次、查詢IP地址所在地、查詢手機號碼歸屬地等功能。這里的部分功能可以自己編寫代碼來實現(xiàn),而有一些是需要相關(guān)部門來提供接口,如天氣預報。其實,在網(wǎng)上已經(jīng)提供了實現(xiàn)這些功能模塊的Web服務(wù),我們只需直接調(diào)用這些Web服務(wù)的接口就可以了。本文將通過一個實例來介紹如何調(diào)用這些Web服務(wù)。

      1 軟件結(jié)構(gòu)設(shè)計

      這里利用asp.net開發(fā)完成了一個電子商務(wù)的購物網(wǎng)站,在該網(wǎng)站中有用戶登錄購物的這樣一個模塊,如圖1所示。

      如果用戶直接輸入用戶名和密碼進行登錄,那么這樣的登錄模塊非常容易被黑客攻擊。為了防止用戶利用軟件進行惡意登錄,可以提供讓用戶輸入驗證碼。驗證碼可以自己編寫,不過自己編寫代碼來實現(xiàn)驗證碼的功能不是那么容易的,其實可以在網(wǎng)上找到第三方提供的驗證碼Web服務(wù)。本文介紹了如何使用第三方提供的Web服務(wù)來實現(xiàn)登錄模塊中的驗證碼功能。在本項目中要調(diào)用第三方的Web服務(wù)來實現(xiàn)驗證碼功能的軟件執(zhí)行過程如圖2所示。

      2 軟件功能實現(xiàn)

      (1) 為項目添加Web引用

      在asp.net開發(fā)的電子商務(wù)網(wǎng)站開發(fā)項目中添加Web引用,可以尋找一個第三方的Web服務(wù),在此使用http://webservice.webxml.com.cn/WebServ

      ices/ValidateCodeWeb Service.asmx,修改Web的引用名為IdentifyCodeWS,添加成功后的Web引用文件內(nèi)容如下:

      <?xml version="1.0" encoding="utf-8"?>

      xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference"

      url="http://webservice.webxml.com.cn/webservices/validatecodewebservice.asmx?disco"

      filename="validatecodewebservice.disco" />

      filename="validatecodewebservice.wsdl" />

      在以上代碼中可以看出Web引用文件采用的是XML格式的文件,XML滲透到了Web服務(wù)的各個層次。也就是說如果沒有XML就沒有Web服務(wù)。在引用文件內(nèi)容中包含了WSDL文件,該文件是用來對Web服務(wù)的位置、接口和協(xié)議做詳細說明的文檔。WSDL是一種XML應(yīng)用,它將Web 服務(wù)描述定義為一組服務(wù)訪問點,請求者可以通過這些服務(wù)訪問點對服務(wù)進行訪問[3]。這里所引用的Web服務(wù)的地址,最后是以.asmx結(jié)尾的。在瀏覽器中輸入http://webservice.webxml.com.cn/webservic

      es/validatecode webservice.asmx可以發(fā)現(xiàn)在該頁中提供了6種驗證碼服務(wù)。在訪問Web服務(wù)時采用的協(xié)議是SOAP協(xié)議,該協(xié)議是是以XML為基礎(chǔ)的消息傳輸協(xié)議,可以采用XML安全協(xié)議來保證Web 服務(wù)的安全性[2]。

      (2) 在項目中添加IdentifyCode.aspx頁面用于生成驗證碼,在所對應(yīng)的.cs頁面中添加如下的代碼

      IdentifyCodeWS.ValidateCodeWebService vcws = new IdentifyCodeWS.ValidateCodeWebService();

      protected void Page_Load(object sender, EventArgs e)

      {

      if(Request.Params["validateDate"]!=null)

      { int i=Int32.Parse(Request.Params["validateDate"].ToString());

      Response.ContentType="image/png";

      byte[] b=vcws.enValidateByte(i.ToString());

      Response.BinaryWrite(b);

      }

      }

      在IdentifyCode.aspx頁面中實例化Web服務(wù)對象,在此處的Request.Params["validateDate"]代表在登錄頁面login.aspx中隨機生成的對象作為參數(shù)傳遞給IdentifyCode.aspx頁面,并且在該頁面中返回一個二進制字符串,將它寫入HTTP輸出流。

      (3) 在登錄頁面中,添加如下的代碼,實現(xiàn)登錄功能和驗證碼的生成

      protected void Page_Load(object sender, EventArgs e)

      {

      if (!IsPostBack)

      {

      Random rd = new Random();

      string str = rd.Next(1000,9999).ToString();

      Image1.ImageUrl = "IdentifyCode.aspx?validateDate=" + str;

      Session["validateDate"] = str;

      }

      }

      在登錄頁面中,實例化隨機對象,并且生成一個1000-9999之間的隨機數(shù),將隨機數(shù)傳遞給IdentifyCode.aspx頁面, 將Web服務(wù)中返回的隨機圖片驗證碼顯示在登錄頁面的圖片中。

      (4) 驗證碼的測試和運行

      運行登錄頁面,在流覽器中打開該頁面,可以看到有驗證碼的登錄頁面,如圖3所示,該驗證碼的實現(xiàn)就是調(diào)用了網(wǎng)上所存在的Web服務(wù),這樣可以大大簡化我們的開發(fā)工作。利用這種調(diào)用方式可以非常方便的來實現(xiàn)復雜的功能模塊,而不需要知道該功能具體是如何用代碼編寫的,只要知道Web服務(wù)所提供的接口就可以了。

      3 結(jié)束語

      本文介紹了Web服務(wù)的架構(gòu),并且通過登錄時驗證碼的實現(xiàn)介紹了如何調(diào)用Internet上發(fā)布的Web服務(wù),在Internet上發(fā)布了各種功能的Web服務(wù),在進行軟件開發(fā)時,可以調(diào)用這些Web服務(wù)來簡化軟件的開發(fā)過程。

      參考文獻:

      [1] 佘青. 一種語義Web服務(wù)描述語言WSDL-S[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(4):85-86.

      [2] 劉振鵬,周冬冬. 一個基于SOAP消息的Web服務(wù)綜合安全模型[J]. 武漢大學學報,2006,52(5):570-573.

      [3] 林川. 基于UDDI和WSDL的Web 服務(wù)發(fā)布方案[J].計算機工程與設(shè)計,2005(4):993-995.

      (責任編輯:徐興華)

      猜你喜歡
      WEB服務(wù)
      現(xiàn)代SOA架構(gòu)差旅報銷系統(tǒng)的設(shè)計與實現(xiàn)分析
      基于3G技術(shù)的智能水表WEB服務(wù)系統(tǒng)的研究
      基于Web服務(wù)的SPSS與.NET系統(tǒng)集成開發(fā)
      軟件(2016年4期)2017-01-20 09:28:12
      基于線性回歸的航班延誤預測研究與系統(tǒng)開發(fā)
      基于Proteus的嵌入式以太網(wǎng)Web服務(wù)虛擬實驗的設(shè)計與實現(xiàn)
      智慧校園一卡通與圖書館系統(tǒng)對接探究
      軟件(2016年5期)2016-08-30 18:28:31
      教學工作量管理系統(tǒng)的設(shè)計與實現(xiàn)
      一種基于SOA的web異構(gòu)數(shù)據(jù)集成方法研究
      基于Agent的自演化Web服務(wù)機制研究
      軟件導刊(2015年11期)2015-12-07 06:14:42
      基于ARM平臺的嵌入式Web服務(wù)器設(shè)計
      軟件導刊(2015年7期)2015-08-06 12:41:57
      日喀则市| 西贡区| 三台县| 清涧县| 讷河市| 屏东县| 乐至县| 扶沟县| 托克逊县| 金平| 海宁市| 循化| 阿拉善右旗| 图们市| 海南省| 广河县| 昆山市| 平邑县| 同江市| 达孜县| 庐江县| 保康县| 娄底市| 德庆县| 松潘县| 土默特右旗| 靖安县| 宁化县| 文登市| 桦川县| 奇台县| 鹤壁市| 诸暨市| 胶州市| 牡丹江市| 烟台市| 汽车| 荣成市| 浦江县| 乌苏市| 门头沟区|