微軟認(rèn)證課程系列教材--面向NET的Web應(yīng)用程序設(shè)計(jì)第13章 使用和創(chuàng)建 XML Web S



《微軟認(rèn)證課程系列教材--面向NET的Web應(yīng)用程序設(shè)計(jì)第13章 使用和創(chuàng)建 XML Web S》由會(huì)員分享,可在線閱讀,更多相關(guān)《微軟認(rèn)證課程系列教材--面向NET的Web應(yīng)用程序設(shè)計(jì)第13章 使用和創(chuàng)建 XML Web S(48頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、面向面向.NET 的的 Web 應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n第第1章章 Microsoft.NET Framework 概述概述n第第2章章 使用使用 Microsoft Visual Studio.NETn第第3章章 使用使用基基于于 Microsoft.NET 的開發(fā)語(yǔ)言的開發(fā)語(yǔ)言n第第4章章 創(chuàng)建創(chuàng)建 Microsoft ASP.NET Web 窗體窗體n第第5章章 在在 Microsoft ASP.NET Web 窗體中添加代碼窗體中添加代碼n第第6章章 Microsoft ASP.NET Web 應(yīng)用程序的跟蹤機(jī)制應(yīng)用程序的跟蹤機(jī)制n第第7章章 驗(yàn)證用戶輸入驗(yàn)證用戶輸入n第第8章章 創(chuàng)
2、建用戶控件創(chuàng)建用戶控件n第第9章章 使用使用 Microsoft Visual Studio.NET 訪問關(guān)系型數(shù)據(jù)訪問關(guān)系型數(shù)據(jù)n第第10章章 使用使用 Microsoft ADO.NET 訪問數(shù)據(jù)訪問數(shù)據(jù)n第第11章章 通過通過 Microsoft ADO.NET 調(diào)用存儲(chǔ)過程調(diào)用存儲(chǔ)過程n第第12章章 讀寫讀寫 XML 數(shù)據(jù)數(shù)據(jù)n第第13章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Servicen第第14章章 狀態(tài)管理狀態(tài)管理n第第15章章 配置、優(yōu)化和部配置、優(yōu)化和部署署 Microsoft ASP.NET Web 應(yīng)用程序應(yīng)用程序n第第16章章 Web 安全性介紹安全性介紹n第第17
3、章章 Web 應(yīng)用程序安應(yīng)用程序安全性規(guī)劃全性規(guī)劃n第第18章章 驗(yàn)證用戶輸入驗(yàn)證用戶輸入n第第19章章 Internet 信息服務(wù)信息服務(wù)身份驗(yàn)證身份驗(yàn)證n第第20章章 保護(hù)保護(hù) Web 頁(yè)面頁(yè)面安安全全n第第21章章 保護(hù)文件系統(tǒng)數(shù)據(jù)保護(hù)文件系統(tǒng)數(shù)據(jù)的安全的安全n第第22章章 保護(hù)保護(hù)Microsoft SQL Server的安全的安全n第第23章章 保證通信中的機(jī)密保證通信中的機(jī)密信息信息和數(shù)據(jù)完整性和數(shù)據(jù)完整性 n第第24章章 加密、散列和數(shù)據(jù)加密、散列和數(shù)據(jù)簽名簽名n第第25章章 測(cè)試測(cè)試 Web 站點(diǎn)的站點(diǎn)的安全性安全性面向面向.NET 的的 Web 應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)第第1
4、3章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Servicen使用使用 XML Web Service概述概述n使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Servicen擴(kuò)展擴(kuò)展 XML Web Service使用使用 XML Web Service概述概述nXML Web Servicen使用使用 XML Web Service的原因的原因n查找查找 XML Web Service13.1 使用使用 XML Web Service概述概述XML Web ServicenXML Web Se
5、rvicel向其他應(yīng)用程序提供數(shù)據(jù)和服務(wù)的應(yīng)用程序邏輯單元l可通過標(biāo)準(zhǔn)的 Web 協(xié)議訪問的程序邏輯單元n跨跨 Internet 應(yīng)用程序間通訊應(yīng)用程序間通訊l允許應(yīng)用程序間跨 Internet 發(fā)送和接收信息lXML Web Service直接與 Internet 上的其他應(yīng)用程序交互lXML Web Service不提供用戶界面,而使用協(xié)定(Contract)描述自身提供的服務(wù)l可由本地或 Internet 上的多個(gè)應(yīng)用程序使用13.1.1 XML Web ServiceXML Web Servicen語(yǔ)言、協(xié)議和平臺(tái)無關(guān)性語(yǔ)言、協(xié)議和平臺(tái)無關(guān)性l可以使用任何基于.NET 的開發(fā)語(yǔ)言開發(fā)
6、XML Web ServicelXML Web Service使用標(biāo)準(zhǔn)的 Web 協(xié)議和數(shù)據(jù)格式進(jìn)行通訊l所有支持標(biāo)準(zhǔn) Web 協(xié)議的服務(wù)器都能訪問或部署 XML Web Servicel可在任何平臺(tái)上實(shí)現(xiàn) XML Web Servicen無狀態(tài)架構(gòu)無狀態(tài)架構(gòu)lXML Web Service服務(wù)器不保存每一個(gè)響應(yīng)的狀態(tài)l對(duì) XML Web Service的每一次請(qǐng)求都創(chuàng)建新的對(duì)象,產(chǎn)生新的狀態(tài)l可以使用 ASP.NET 狀態(tài)管理技術(shù)保存不同請(qǐng)求間的狀態(tài)13.1.1 XML Web ServiceXML Web Servicen支持異步編程支持異步編程l異步編程允許 ASP.NET 線程運(yùn)行到結(jié)
7、束l異步編程允許 ASP.NET 線程啟動(dòng)另一線程l異步編程避免 ASP.NET 線程受到阻塞,提高系統(tǒng)的性能和加強(qiáng)系統(tǒng)的可伸縮性l異步編程允許 ASP.NET Web 窗體和 XML Web Service異步執(zhí)行n基于不斷發(fā)展的基于不斷發(fā)展的 W3C 標(biāo)準(zhǔn)標(biāo)準(zhǔn)lW3C 的標(biāo)準(zhǔn)在不斷地發(fā)展l新的特征可以不斷地添加到 XML Web Service13.1.1 XML Web Service選擇目的地:天氣預(yù)報(bào):匯率:飛機(jī)票價(jià):雨雨Redmond$1.56$1,999.98Northwind 商務(wù)旅游網(wǎng)商務(wù)旅游網(wǎng)使用使用 XML Web Service的原因的原因Internet天氣預(yù)報(bào)天氣預(yù)
8、報(bào)XML Web Service匯率匯率XML Web Service飛機(jī)票價(jià)飛機(jī)票價(jià)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)飛機(jī)票價(jià)飛機(jī)票價(jià)XML Web Service13.1.2 使用使用 XML Web Service的原因的原因發(fā)布發(fā)布 XML Web Service URL 和描述和描述查找查找 XML Web Service.disco.wsdlWeb 服務(wù)服務(wù)代理代理Web窗體窗體UDDI發(fā)現(xiàn)發(fā)現(xiàn) XML Web Service定位到定位到 XML Web Service的的 URL閱讀閱讀.wsdl 描述描述將將 XML Web Service綁定到代理綁定到代理通過代理從通過代理從 Web 窗體調(diào)窗體
9、調(diào)用用 Web 服務(wù)服務(wù)13.1.3 查找查找 XML Web Service查找查找 XML Web Servicen通用說明、發(fā)現(xiàn)和集成通用說明、發(fā)現(xiàn)和集成(Universal Description,Discovery,and Integration,UDDI)l一種功能上類似于目錄(與電話簿相似)而且獨(dú)立于平臺(tái)的框架,可提供在 Internet 上定位和注冊(cè) Web Service的方法n發(fā)現(xiàn)文件(發(fā)現(xiàn)文件(DISCO 文件)文件)l對(duì) Web 服務(wù)器上的公共 Web Service進(jìn)行分組l靜態(tài)發(fā)現(xiàn):.disco 文件l動(dòng)態(tài)發(fā)現(xiàn):.vsdisco 文件nWeb 服務(wù)描述語(yǔ)言服務(wù)描述語(yǔ)
10、言(Web Services Description Language,WSDL)l基于 XML 的協(xié)定語(yǔ)言,用于描述服務(wù)器提供的網(wǎng)絡(luò)服務(wù)l包含 Web Service的 URL、Web Service提供的方法和屬性、Web Service使用的數(shù)據(jù)類型、Web Service使用的通信協(xié)議13.1.3 查找查找 XML Web Service多媒體演示多媒體演示 XML Web Service的執(zhí)行模型的執(zhí)行模型第第13章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Servicen使用使用 XML Web Service概述概述n使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen
11、使用代理調(diào)用使用代理調(diào)用 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Servicen擴(kuò)展擴(kuò)展 XML Web Service使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen使用使用 HTTP 協(xié)議調(diào)用協(xié)議調(diào)用 XML Web Servicen課堂練習(xí)課堂練習(xí) 使用使用 HTTP 調(diào)用調(diào)用 XML Web Service13.2 使用使用 HTTP 協(xié)議調(diào)用協(xié)議調(diào)用 XML Web Service使用使用 HTTP 協(xié)議調(diào)用協(xié)議調(diào)用 XML Web Service1.瀏覽瀏覽 XML Web Service的的 URL2.選擇一種選擇一種 XMLWeb 服務(wù)方法服務(wù)
12、方法3.調(diào)用調(diào)用 XML Web 服務(wù)方法服務(wù)方法4.查看查看 XML 響應(yīng)響應(yīng)13.2.1 使用使用 HTTP 協(xié)議調(diào)用協(xié)議調(diào)用 XML Web Service課堂練習(xí)課堂練習(xí) 使用使用 HTTP 調(diào)用調(diào)用 XML Web Service在本練習(xí)中,你將在本練習(xí)中,你將n輸入教師計(jì)算機(jī)上的 XML Web Service URLn選擇需要調(diào)用的 XML Web Service方法n輸入?yún)?shù)的值n查看返回的 XML時(shí)間:時(shí)間:5 分鐘分鐘13.2.2 課堂練習(xí)課堂練習(xí) 使用使用 HTTP 調(diào)用調(diào)用 XML Web Service第第13章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Service
13、n使用使用 XML Web service概述概述n使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Servicen擴(kuò)展擴(kuò)展 XML Web Service使用代理調(diào)用使用代理調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Service的方法的方法n課堂練習(xí)課堂練習(xí) 使用代理調(diào)用使用代理調(diào)用 XML Web ServicenXML Web Service錯(cuò)誤處理錯(cuò)誤處理n演示演示 測(cè)試測(cè)試 XML Web
14、Service的可用性的可用性 n使用使用 WSDL 工具生成代理代碼工具生成代理代碼13.3 使用代理調(diào)用使用代理調(diào)用 XML Web Service使用代理調(diào)用使用代理調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicel客戶端瀏覽器請(qǐng)求 Web 窗體lWeb 窗體在代碼中實(shí)例化代理類并使用代理調(diào)用 XML Web Servicel代理使用 SOAP 向 XML Web Service發(fā)送請(qǐng)求lXML Web Service使用 SOAP 向代理發(fā)送響應(yīng)lWeb 窗體使用來自 XML Web Service的響應(yīng)InternetXML Web服務(wù)服
15、務(wù)代理代理Web窗體窗體SOAP13.3.1 使用代理調(diào)用使用代理調(diào)用 XML Web Service使用代理調(diào)用使用代理調(diào)用 XML Web Servicen代理類代理類lVisual Studio 使用 Web 服務(wù)描述語(yǔ)言(WSDL)來創(chuàng)建代理類l代理類公開 XML Web Service的方法,并配置在 XML Web Service和應(yīng)用程序之間往返的參數(shù)l從 SoapHttpClientProtocol 類繼承l(wèi)與原始 XML Web Service類相似,但不包含應(yīng)用程序邏輯,但添加了一些用于支持異步調(diào)用的方法l使用 SOAP 與 XML Web Service交互13.3.1
16、使用代理調(diào)用使用代理調(diào)用 XML Web Service使用代理調(diào)用使用代理調(diào)用 XML Web Service的方法的方法1.為為 XML Web Service創(chuàng)建創(chuàng)建 Web 引用引用2.創(chuàng)建創(chuàng)建 XML Web Service代理的實(shí)例代理的實(shí)例3.調(diào)用調(diào)用 XML Web Service的的 Web 方法方法4.生成生成 ASP.NET Web 應(yīng)用程序應(yīng)用程序Sub Button1_Click(s As Object,e As EventArgs).Dim ProxyGetStocks As New _ GetStocks.localhost.Service1()lblResult
17、s.Text=_ProxyGetStocks.GetRating(Contoso)End SubC#示例13.3.2 使用代理調(diào)用使用代理調(diào)用 XML Web Service的方法的方法課堂練習(xí)課堂練習(xí) 使用代理調(diào)用使用代理調(diào)用 XML Web Servicen新建新建 ASP.NET Web 應(yīng)用程序應(yīng)用程序n創(chuàng)建創(chuàng)建 XML Web Service代理類代理類n使用瀏覽器測(cè)試使用瀏覽器測(cè)試 XML Web Servicen查看查看 reference.vb 或或 reference.cs 文件文件13.3.3 課堂練習(xí)課堂練習(xí) 使用代理調(diào)用使用代理調(diào)用 XML Web ServiceXML
18、 Web Service錯(cuò)誤處理錯(cuò)誤處理n使用使用 XML Web Service可能遇到的錯(cuò)誤可能遇到的錯(cuò)誤l不可用的 XML Web Servicel超時(shí)錯(cuò)誤lXML Web Service內(nèi)部錯(cuò)誤n在在 Web 窗體中測(cè)試服務(wù)是否可用窗體中測(cè)試服務(wù)是否可用l設(shè)置 XML Web Service代理類的超時(shí)參數(shù)l使用 TryCatchFinally 語(yǔ)句處理超時(shí)異常Visual Basic.NET 示例GetStocks.StockWebRef.Service1 ProxyGetStocks=new GetStocks.StockWebRef.Service1();ProxyGetStoc
19、ks.Timeout=10000;try lblMessage.Text=ProxyGetStocks.GetRating(TextBox1.Text);catch(Exception err)lblMessage.Text=err.Message;13.3.4 XML Web Service錯(cuò)誤處理錯(cuò)誤處理XML Web Service錯(cuò)誤處理錯(cuò)誤處理n處理處理 XML Web Service產(chǎn)生的產(chǎn)生的 SOAP 異常異常l當(dāng) XML Web Service不能處理請(qǐng)求時(shí),拋出 SoapException 異常l使用 TryCatchFinally 語(yǔ)句處理 SoapException 異
20、常Try調(diào)用 XML Web ServiceCatch err As SoapExceptionLabel1.Text=Unable to process your requestEnd Trytry/調(diào)用 XML Web Servicecatch(SoapException err)Label1.Text=Unable to process your request;13.3.4 XML Web Service錯(cuò)誤處理錯(cuò)誤處理演示演示 測(cè)試測(cè)試 XML Web Service的可用性的可用性n編寫超時(shí)錯(cuò)誤處理語(yǔ)句:編寫超時(shí)錯(cuò)誤處理語(yǔ)句:TryCatch 語(yǔ)句語(yǔ)句n掛起掛起 Web 服務(wù)服務(wù)n
21、測(cè)試異常處理測(cè)試異常處理13.3.5 演示演示 測(cè)試測(cè)試 XML Web Service的可用性的可用性使用使用 WSDL 工具生成代理代碼工具生成代理代碼nWeb 服務(wù)描述語(yǔ)言工具服務(wù)描述語(yǔ)言工具(wsdl.exe)l從 WSDL 協(xié)定文件、XSD 架構(gòu)和.discomap 發(fā)現(xiàn)文檔為 XML Web Service和 XML Web Service客戶端生成代碼n為處于指定為處于指定 URL 處的處的 XML Web Service創(chuàng)建創(chuàng)建.wsdl 文件,并用文件,并用 C#語(yǔ)言語(yǔ)言為為 XML Web Service創(chuàng)建代理類創(chuàng)建代理類n為位于指定為位于指定 URL 處的處的 XML
22、Web Service創(chuàng)建代理類并將代理類保存在創(chuàng)建代理類并將代理類保存在 myProxy.cs 或或 myProxy.vb 文件中文件中n為多個(gè)為多個(gè) XML Web Service創(chuàng)建代理類創(chuàng)建代理類l將目標(biāo) URL 指定為.disco 文件http:/servername/webservice1/service1.asxm?wsdlwsdl/out:myProxy.cs http:/servername/webservice1/WebServiceName.asmx?WSDLwsdl/language:VB/out:myProxyClass.vbhttp:/servername/webs
23、ervice1/WebServiceName.asmx?WSDL13.3.6 使用使用 WSDL 工具生成代理代碼工具生成代理代碼第第13章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Servicen使用使用 XML Web service概述概述n使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Servicen擴(kuò)展擴(kuò)展 XML Web Service創(chuàng)建創(chuàng)建 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Service 的方法的方法nXML Web Service的代碼的代碼n課堂練習(xí)
24、課堂練習(xí) 創(chuàng)建創(chuàng)建 XML Web ServicenXML Web Service文檔文檔nXML Web Service和接口繼承和接口繼承13.4 創(chuàng)建創(chuàng)建 XML Web Service創(chuàng)建創(chuàng)建 XML Web Service 的方法的方法1.在在 Visual Studio.NET 中新建中新建 XML Web Service項(xiàng)目項(xiàng)目2.聲明聲明 WebMethod 函數(shù)函數(shù)3.生成生成 XML Web Service項(xiàng)目項(xiàng)目4.使用瀏覽器測(cè)試生成的使用瀏覽器測(cè)試生成的 XML Web Service13.4.1 創(chuàng)建創(chuàng)建 XML Web Service 的方法的方法XML Web S
25、ervice的代碼的代碼n.asmx 文件文件n.asmx.vb 文件文件Imports SystemImports System.Web.Services _Class Service1 Public Function function1()As type在此處編寫函數(shù)代碼End FunctionEnd ClassC#示例13.4.2 XML Web Service的代碼的代碼XML Web Service的代碼的代碼nWebMethod 屬性屬性nnWebService 屬性屬性13.4.2 XML Web Service的代碼的代碼 課堂練習(xí)課堂練習(xí) 創(chuàng)建創(chuàng)建 XML Web Servi
26、cen創(chuàng)建創(chuàng)建 XML Web Servicen測(cè)試測(cè)試 XML Web Servicen更改命名空間更改命名空間13.4.3 課堂練習(xí)課堂練習(xí) 創(chuàng)建創(chuàng)建 XML Web ServiceXML Web Service文檔文檔nASP.NET 運(yùn)行庫(kù)生成兩類文檔運(yùn)行庫(kù)生成兩類文檔l基于 HTML 的文檔l客戶端應(yīng)用程序與 XML Web Service交互時(shí)使用的文檔(WSDL 文檔)n自定義自定義 XML Web Service文檔文檔lWebMethod 屬性lWebService 屬性n對(duì)對(duì) WebMethod 屬性和屬性和 WebService 屬性的修改,屬性的修改,立即反映到立即反映
27、到 WSDL 文檔中文檔中13.4.4 XML Web Service文檔文檔Description 參數(shù)的內(nèi)容XML Web Service和接口繼承和接口繼承n接口接口l類所公開的一組屬性和方法的集合nXML Web Service接口繼承接口繼承l(wèi)XML Web Service可以使用引用端口的類型或者引用由另一個(gè) XML Web Service定義的綁定來繼承接口lASP.NET 不支持協(xié)議未知的接口繼承n解決方案解決方案l手動(dòng)創(chuàng)建 WSDL 文檔以引用其他命名空間中定義的端口類型l使用 WebServiceBinding 屬性引用其他命名空間中定義的綁定13.4.5 XML Web
28、Service和和接口繼承接口繼承XML Web Service和接口繼承和接口繼承nWebServiceBinding 屬性屬性13.4.5 XML Web Service和和接口繼承接口繼承using System;using System.Web.Services;using System.Web.Services.Protocols;namespace BrokerageFirmSoapRpcService WebServiceBinding(SecuritiesSoap,http:/ class Securities:WebServiceWebMethod SoapRpcMethod
29、(Binding=SecuritiesSoap)public double InstantQuote(string symbol)double price=0;/實(shí)現(xiàn)代碼 return price;XML Web Service方法為其實(shí)現(xiàn)操作的綁定的名稱 與該綁定關(guān)聯(lián)的命名空間定義綁定的位置,即 wsdl 文檔的位置第第13章章 使用和創(chuàng)建使用和創(chuàng)建 XML Web Servicen使用使用 XML Web service概述概述n使用使用 HTTP 調(diào)用調(diào)用 XML Web Servicen使用代理調(diào)用使用代理調(diào)用 XML Web Servicen創(chuàng)建創(chuàng)建 XML Web Servicen
30、擴(kuò)展擴(kuò)展 XML Web Service擴(kuò)展擴(kuò)展 XML Web Servicen上擴(kuò)上擴(kuò)n外擴(kuò)外擴(kuò)n克服伸縮性瓶頸克服伸縮性瓶頸n維持高可用性維持高可用性n高可用性的上擴(kuò)資源高可用性的上擴(kuò)資源n高可用性的外擴(kuò)資源高可用性的外擴(kuò)資源n高可用性資源編程高可用性資源編程n第三方第三方 XML Web Service 與可用性與可用性13.5 擴(kuò)展擴(kuò)展 XML Web Service上擴(kuò)上擴(kuò)n上擴(kuò)上擴(kuò)l將 XML Web Service升遷到更大、更快、功能更強(qiáng)大的計(jì)算機(jī),以提高工作載荷量n優(yōu)點(diǎn)優(yōu)點(diǎn)l服務(wù)器比較容易管理l不需要增加服務(wù)器和系統(tǒng)管理員n缺點(diǎn)缺點(diǎn)l性價(jià)比較低,投入與獲得的性能提高不成正比
31、l擴(kuò)展空間有限,最大的擴(kuò)展也只能是將服務(wù)器升級(jí)為當(dāng)前最快的計(jì)算機(jī)n上擴(kuò)的場(chǎng)合上擴(kuò)的場(chǎng)合l一般只有外擴(kuò)不可行的情況下使用13.5.1 上擴(kuò)上擴(kuò)外擴(kuò)外擴(kuò)n外擴(kuò)外擴(kuò)l將資源部署在計(jì)算機(jī)群集中,以分散對(duì)資源的請(qǐng)求n優(yōu)點(diǎn)與缺點(diǎn)優(yōu)點(diǎn)與缺點(diǎn)l性能的提高與投入成正比,每事務(wù)的處理成本基本保持不變l服務(wù)器群集的管理比較復(fù)雜n外擴(kuò)技術(shù)外擴(kuò)技術(shù)l計(jì)算機(jī)群集l網(wǎng)絡(luò)負(fù)載平衡(Network Load Balance,NLB)l資源分組技術(shù)l資源冗余技術(shù)13.5.2 外擴(kuò)外擴(kuò)外擴(kuò)外擴(kuò)n計(jì)算機(jī)群集計(jì)算機(jī)群集l在計(jì)算機(jī)網(wǎng)絡(luò)中,一組協(xié)同工作以提供公用服務(wù)集并為客戶端提供單個(gè)系統(tǒng)映像的獨(dú)立計(jì)算機(jī)n網(wǎng)絡(luò)負(fù)載平衡網(wǎng)絡(luò)負(fù)載平衡l使用分
32、布式算法來負(fù)荷平衡許多主機(jī)間的 IP 通訊l提高基于 IP 的重要服務(wù)(如終端服務(wù)、XML Web Service、虛擬專用網(wǎng)和流媒體)的可調(diào)整性和可用性l檢測(cè)主機(jī)故障并自動(dòng)向剩余主機(jī)重新分發(fā)通信,提高可用性l網(wǎng)絡(luò)負(fù)載平衡的常見應(yīng)用:Web Farmn網(wǎng)絡(luò)負(fù)載平衡維持高可用性的條件網(wǎng)絡(luò)負(fù)載平衡維持高可用性的條件l群集中的節(jié)點(diǎn)相互獨(dú)立l任何節(jié)點(diǎn)都能處理各種請(qǐng)求l請(qǐng)求平均分布到群集中的各個(gè)節(jié)點(diǎn)13.5.2 外擴(kuò)外擴(kuò)克服伸縮性瓶頸克服伸縮性瓶頸n克服伸縮性瓶頸的方法克服伸縮性瓶頸的方法l分析并找出擴(kuò)展瓶頸l分析造成擴(kuò)展瓶頸的原因l不同類型的擴(kuò)展瓶頸需要采用不同的方法解決l重復(fù)上述步驟,直到獲得較滿意
33、的性能n克服伸縮性瓶頸舉例克服伸縮性瓶頸舉例l處理 XML Web Service訪問一些難以擴(kuò)展的資源時(shí)遇到的瓶頸l使用隊(duì)列的方式分散處理請(qǐng)求13.5.3 克服伸縮性瓶頸克服伸縮性瓶頸維持高可用性維持高可用性n可用性可用性l通常以在計(jì)劃的操作時(shí)間內(nèi)系統(tǒng)處于可用狀態(tài)的時(shí)間百分比n維持高可用性的方法維持高可用性的方法l確保 XML Web Service使用的所有資源,如服務(wù)器、電源都正常工作l如果一個(gè)或多個(gè)組件出現(xiàn)錯(cuò)誤,系統(tǒng)能確保 XML Web Service仍然能夠處理全部負(fù)載l災(zāi)難恢復(fù)計(jì)劃、服務(wù)器配置文檔、詳細(xì)的服務(wù)器變更管理策略l優(yōu)秀的系統(tǒng)管理員13.5.4 維持高可用性維持高可用性高
34、可用性的上擴(kuò)資源高可用性的上擴(kuò)資源n上擴(kuò)存在的問題上擴(kuò)存在的問題l單點(diǎn)錯(cuò)誤,如所請(qǐng)求資源所在服務(wù)器不能正常工作,將導(dǎo)致資源不可用n解決方案解決方案l故障轉(zhuǎn)移群集lMicrosoft 群集服務(wù)n故障轉(zhuǎn)移群集故障轉(zhuǎn)移群集l一臺(tái)計(jì)算機(jī)作為活動(dòng)計(jì)算機(jī)l一臺(tái)或多臺(tái)計(jì)算機(jī)作為備份計(jì)算機(jī)nMicrosoft 群集服務(wù)組件(群集服務(wù)組件(Microsoft Cluster Component Service,MSCS)l群集服務(wù)l資源監(jiān)視器l資源動(dòng)態(tài)鏈接庫(kù)13.5.5 高可用性的上擴(kuò)資源高可用性的上擴(kuò)資源高可用性的外擴(kuò)資源高可用性的外擴(kuò)資源n外擴(kuò)需要注意的問題外擴(kuò)需要注意的問題l必須為每一節(jié)點(diǎn)創(chuàng)建故障轉(zhuǎn)移群集
35、,以確保分組的資源具有容錯(cuò)能力l網(wǎng)絡(luò)負(fù)載平衡群集并不自動(dòng)具有容錯(cuò)能力l正確的配置網(wǎng)絡(luò)負(fù)載平衡算法nMicrosoft Application Centerl確保群集的每一個(gè)節(jié)點(diǎn)能正確地處理各種請(qǐng)求l從網(wǎng)絡(luò)負(fù)載平衡系統(tǒng)中將不能正常工作的節(jié)點(diǎn)移除nHTTPMON 監(jiān)視與分析工具監(jiān)視與分析工具l通過發(fā)送 HTTP 請(qǐng)求并分析結(jié)果監(jiān)視網(wǎng)絡(luò)負(fù)載平衡系統(tǒng)中的 Web 服務(wù)器l從網(wǎng)絡(luò)負(fù)載平衡系統(tǒng)中將不能正常工作的節(jié)點(diǎn)移除13.5.6 高可用性的外擴(kuò)資源高可用性的外擴(kuò)資源高可用性資源編程高可用性資源編程n在群集化資源的訪問方法不變的情況下,可以充分利用編在群集化資源的訪問方法不變的情況下,可以充分利用編程的優(yōu)
36、點(diǎn)提高群集化資源的可用性程的優(yōu)點(diǎn)提高群集化資源的可用性n通過編程獲得高可用性需要注意的問題通過編程獲得高可用性需要注意的問題l資源請(qǐng)求失敗后,嘗試重新發(fā)送請(qǐng)求l群集化資源的錯(cuò)誤恢復(fù)需要一段時(shí)間l新的服務(wù)器未必能自動(dòng)恢復(fù)原來的狀態(tài)13.5.7 高可用性資源編程高可用性資源編程第三方第三方 XML Web Service 與可用性與可用性n減輕第三方減輕第三方 Web Service錯(cuò)誤帶來的影響的方法錯(cuò)誤帶來的影響的方法l與第三方 XML Web Service商簽訂服務(wù)品質(zhì)協(xié)議(Service-Level Agrrement,SLA)l使用故障轉(zhuǎn)移技術(shù),即第三方 XML Web Service
37、發(fā)生錯(cuò)誤時(shí),使用備用的 XML Web Servicel創(chuàng)建 XML Web Service的本地副本13.5.8 第三方第三方 XML Web Service 與可用性與可用性第三方第三方 XML Web Service 與可用性與可用性n使用備用使用備用 Web Servicel創(chuàng)建故障轉(zhuǎn)移類l添加方法public class StockQuoteProxybool useBackup=false;WoodgroveProxy primary=new WoodgroveProxy();ProsewareProxy backup=new ProsewareProxy();public dou
38、ble GetQuote(string symbol)if(!useBackup)tryreturn primary.GetQuote(symbol);catch(Exception e)useBackup=true;Thread thread=new Thread(newThreadStart(this.Reset);thread.Start();return backup.GetQuote(symbol);private void Reset()Thread.Sleep(15000);useBackup=false;13.5.8 第三方第三方 XML Web Service 與可用性與可用
39、性回顧回顧學(xué)習(xí)完本章后,將能夠:學(xué)習(xí)完本章后,將能夠:n描述在描述在 Web 窗體中調(diào)用窗體中調(diào)用 XML Web Service的目的和過的目的和過程程n在瀏覽器中通過在瀏覽器中通過 HTTP 協(xié)議調(diào)用協(xié)議調(diào)用 XML Web Servicen為為 XML Web Service創(chuàng)建創(chuàng)建 Web 引用代理,并在引用代理,并在 Web 窗體中調(diào)用窗體中調(diào)用 Web Service的方法的方法n使用使用 Visual Studio.NET 項(xiàng)目模板創(chuàng)建項(xiàng)目模板創(chuàng)建 XML Web Servicen擴(kuò)展擴(kuò)展 XML Web Service以提高以提高 XML Web Service的質(zhì)量的質(zhì)量實(shí)驗(yàn)
40、實(shí)驗(yàn) 創(chuàng)建和使用創(chuàng)建和使用 XML Web Service醫(yī)療福利醫(yī)療福利Medical.aspx網(wǎng)站主頁(yè)網(wǎng)站主頁(yè)Default.aspx人壽保險(xiǎn)福利人壽保險(xiǎn)福利Life.aspx退休賬戶退休賬戶Retirement.aspx牙科福利牙科福利Dental.aspxDentists醫(yī)生醫(yī)生Doctors.aspx Doctors登錄頁(yè)面登錄頁(yè)面Login.aspx注冊(cè)頁(yè)面注冊(cè)頁(yè)面Register.aspxCohoWinery說明書說明書Prospectus.aspxXML Web ServicedentalService1.asmx Header用戶控件用戶控件Header.ascxASPStatetempdb實(shí)驗(yàn)實(shí)驗(yàn) Web 應(yīng)用程序應(yīng)用程序用戶控件用戶控件namedate.ascx菜單組件菜單組件Class1.vb 或 Class1.csXML 文件文件Web.config
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)量黨建保障國(guó)有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅(jiān)決打好反腐敗斗爭(zhēng)攻堅(jiān)戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會(huì)上和基層單位調(diào)研座談會(huì)上的發(fā)言材料
- 總工會(huì)關(guān)于2025年維護(hù)勞動(dòng)領(lǐng)域政治安全的工作匯報(bào)材料
- 基層黨建工作交流研討會(huì)上的講話發(fā)言材料
- 糧食和物資儲(chǔ)備學(xué)習(xí)教育工作部署會(huì)上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計(jì)劃
- 檢察院政治部關(guān)于2025年工作計(jì)劃
- 辦公室主任2025年現(xiàn)實(shí)表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項(xiàng)規(guī)定精神學(xué)習(xí)教育工作部署會(huì)議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習(xí)教育動(dòng)員部署會(huì)上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會(huì)上的發(fā)言材料
- 國(guó)企黨委關(guān)于推動(dòng)基層黨建與生產(chǎn)經(jīng)營(yíng)深度融合工作情況的報(bào)告材料
- 副書記在2025年工作務(wù)虛會(huì)上的發(fā)言材料2篇
相關(guān)資源
更多