版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第9章Web應(yīng)用
9.1建立WebService服務(wù)程序9.2建立B/S方式的Browse客戶端瀏覽器程序9.3建立C/S方式的客戶端Windows窗體程序習(xí)題實驗九網(wǎng)絡(luò)應(yīng)用程序開發(fā)9.1建立WebService服務(wù)程序
【案例9-1】WebService服務(wù)程序的建立。
本案例要求建立一個WebService服務(wù)程序,并提供一個服務(wù)函數(shù)。當(dāng)用戶在客戶端界面的第一個文本框輸入1~12任一數(shù)字,單擊“數(shù)字轉(zhuǎn)換為英文單詞”命令按鈕時,該函數(shù)被調(diào)用;調(diào)用該WebService服務(wù)函數(shù)后,返回相應(yīng)用戶在客戶端第一個文本框中輸入對應(yīng)數(shù)字月份的英文單詞。
服務(wù)端和客戶端的運行界面分別如圖9-1和圖9-2所示。圖9-1WebService提供的服務(wù)函數(shù)的服務(wù)端界面圖9-2WebService提供的服務(wù)函數(shù)的客戶端界面說明:
圖9-2調(diào)用WebService提供的服務(wù)函數(shù)的客戶端界面在案例9-2中實現(xiàn),放在這里顯示是為了讓用戶更直觀地理解案例9-1。
【技能目標(biāo)】
學(xué)會建立WebService服務(wù)并調(diào)用WebService服務(wù)。
【操作要點與步驟】
為了提供WebService服務(wù)功能,必須先建立WebService服務(wù)程序。下面是實現(xiàn)WebService服務(wù)程序功能的具體操作步驟。
(1)啟動VS.NET,選擇“文件”→“新建”→“項目”菜單,彈出“新建項目”對話框,如圖9-3所示。在該對話框的“項目類型”中選擇“VisualBaisc項目”,在“模板”列表中選擇“ASP.NETWeb服務(wù)”項,在“位置”文本框中輸入“http://localhost/translateWebService”(程序發(fā)布文件夾的位置)。名稱欄自動出現(xiàn)項目名“translateWebService”,它是只讀的,用戶不可改寫,要改寫必須在“位置”文本框中改寫。單擊“確定”按鈕,系統(tǒng)將自動創(chuàng)建一個WebService服務(wù)站點所需的所有內(nèi)容(自動建立tanslateWebService目錄,并將該目錄配置為虛擬目錄)。圖9-3“新建項目”對話框說明:
WebService服務(wù)的translateWebService項目存放在IIS的Web發(fā)布文件夾下,該文件夾通常在“操作系統(tǒng)所在的盤符:\Inetpub\wwwroot\”下,本案例的文件夾在“C:\Inetpub\wwwroot\translateWebService”下。
系統(tǒng)自動創(chuàng)建一個WebService服務(wù)站點所需的所有內(nèi)容的前提是在本機上正確安裝IIS并啟動。
(2)在圖9-3中單擊“確定”按鈕,屏幕會出現(xiàn)如圖9-4所示的界面,表明計算機正在建立WebService服務(wù)站點tanslateWebService。
(3)在屏幕出現(xiàn)如圖9-4所示的界面后,接著出現(xiàn)如圖9-5所示的界面,表明計算機已建立了WebService服務(wù)站點tanslateWebService。在圖9-5所示的界面中可以清楚地看出,在tanslateWebService解決方案下有一個項目名為TanslateWebService,在項目TanslateWebService下面有一些服務(wù)器端的服務(wù)文件,如服務(wù)源文件Service1.asmx.vb。
在圖9-5所示的WebService設(shè)計界面中,默認文件名為Service1.asmx.vb,并默認為設(shè)計視圖頁面,該頁面的正中間有一段文字:“若要在類中添加組件,請從服務(wù)器資源管理器或工具箱中拖動它們,然后使用‘屬性’窗口來設(shè)置它們的屬性。若要為類創(chuàng)建方法和事件,請單擊此處切換到代碼視圖?!眻D9-4建立WebService服務(wù)站點tanslateWebService的界面圖9-5計算機已建立了WebService服務(wù)站點tanslateWebService的界面說明:
頁面的正中間有一段文字說明WebService可以設(shè)計自己的服務(wù)界面,如果用戶不設(shè)計服務(wù)界面,則運行服務(wù)端的程序時沒有自己的服務(wù)界面。
單擊頁面正中間一段文字的“此處”超鏈接將切換到代碼視圖,系統(tǒng)自動生成的代碼如下:在上面自動生成的源代碼中,有一個函數(shù)名為“HelloWorld()”的函數(shù)被標(biāo)注出來。該函數(shù)是一個通用的例子,在源代碼中被注釋掉了,用戶只要將被注釋掉的HelloWorld()函數(shù)復(fù)制一份,然后去掉復(fù)制后代碼行前面的注釋符“‘”,最后將HelloWorld()函數(shù)名改為自己欲定義的函數(shù)名,并編寫實現(xiàn)該定義函數(shù)功能的代碼即可。
下面是按照上述方法編寫實現(xiàn)將number變量保存的數(shù)字轉(zhuǎn)換成相應(yīng)的英文單詞的函數(shù)translate()的代碼。說明:
HelloWorld()函數(shù)前面有一個尖括號的標(biāo)識符:<WebMethod()>,這個標(biāo)識符說明這個函數(shù)可以通過Web訪問,用戶編寫的Web函數(shù)也必須以<WebMethod()>開始進行標(biāo)記。
(4)此時啟動Windows系統(tǒng)的IIS服務(wù)管理器,如圖9-6所示。在圖9-6中用戶可以清楚地看到確實建立了WebService服務(wù)站點,站點名“tanslateWebService”。
(5)在查看Windows系統(tǒng)IIS服務(wù)管理器的WebService服務(wù)站點后,用戶可以查看WebService服務(wù)站點的物理目錄為C:\Inetpub\wwwroot\translateWebService,如圖9-7所示。圖9-6Windows系統(tǒng)的IIS服務(wù)管理器圖9-7WebService服務(wù)站點的物理目錄
(6)按第(3)步建立好Service1.asmx.vb代碼后,按F5鍵運行程序,會在瀏覽器中出現(xiàn)圖9-1所示的信息。
這其實不是什么“運行結(jié)果”,只不過是VisualStudio.NET生成的一個說明頁面,類似ReadMe之類的東西,但是,如果單擊圖9-1中的translate超鏈接,則將看到一個測試頁面,如圖9-8所示。
(7)如果在number輸入框中填入“6”,如圖9-8所示,再單擊“調(diào)用”按鈕,則一個令人驚異的信息出現(xiàn)在圖9-9中。
這是個依照SOAP協(xié)議生成的XML頁面。用戶可能覺得它很難懂,確實,它也不是給人看的,是給計算機看的。盡管如此,“June”這個單詞還是清楚的,很顯然,調(diào)用成功了。圖9-8translate函數(shù)的測試頁面圖9-9對WebService調(diào)用的返回當(dāng)然,WebService并不是這樣調(diào)用的,可以用B/S方式的Browse客戶端瀏覽器窗體案例程序和用C/S方式的Windows應(yīng)用程序窗體客戶端案例程序調(diào)用WebService的服務(wù)程序,這兩個案例將在后面進行講解。
說明:
由于本案例程序為ASP.NET的Web應(yīng)用程序,ASP.NET的Web應(yīng)用程序需要在計算機中裝有IIS,因此如果用戶的計算機中沒有IIS,則必須安裝IIS服務(wù)程序。
技巧:
用戶在實際建立WebService服務(wù)程序時,可能會遇到以下問題,下面給出這類問題的解決方案。
(1)有時會在安裝完IIS后,卻不能正常啟動,這可能是由于計算機防火墻保護所造成的。
下面是解決該問題的操作步驟:
●由“控制面板”→“管理工具”→“Internet信息服務(wù)”,打開“Internet信息服務(wù)”窗口,如圖9-10所示。
●在圖9-10所示的窗口中,單擊“工具欄”中的圖標(biāo),出現(xiàn)如圖9-11所示的出錯提示警告框。
●出現(xiàn)如圖9-11所示的出錯提示警告框是由于計算機個人防火墻處于保護狀態(tài),因此應(yīng)該停止防火墻的保護狀態(tài)。
●在停止防火墻的保護后,再單擊圖9-10所示窗口的“工具欄”中的圖標(biāo),這時將會正常啟動“Internet信息服務(wù)”。圖9-10“Internet信息服務(wù)”窗口圖9-11出錯提示警告框
(2)有時即使正常啟動IIS,也不能正常建立WebService服務(wù)程序。
在建立WebService服務(wù)程序時,會出現(xiàn)以下兩種情況:
●?VisualStudio.NET已檢測到指定的Web服務(wù)器運行的不是ASP.NET1.1版。
●?VisualStudio.NET無法確定在Web服務(wù)器計算機上運行的是否為ASP.NET1.1版。
發(fā)現(xiàn)以上錯誤,請檢查是否屬于以下情況:
①確保?.NETFramework1.1版已安裝在Web服務(wù)器計算機上。②如果ASP.NET已安裝在Web服務(wù)器計算機上,但仍然遇到此類錯誤,則可能是配置問題。糾正有問題的安裝或配置,可以使用名為aspnet_regiis的ASP?.NET實用工具,這個工具可以在如下所示的路徑中找到:
操作系統(tǒng)文件夾\Microsoft.NET\Framework\v1.1.nnnn\
其中:nnnn表示四位內(nèi)部版本號。
可以使用?/I開關(guān)運行該實用工具:
aspnet_regiis/I
說明:
運行該實用工具(aspnet_regiis/I)可以從命令的正確目錄中直接打開該命令窗口,也可以指向Windows的“開始/程序/VisualStudio.NET2003/VisualStudio.NET工具/VisualStudio.NET命令提示”,在打開的命令窗口中鍵入aspnet_regiis/I。
【相關(guān)知識】
知識點9-1-1
ASP.NET介紹
WebService服務(wù)是計算機快速發(fā)展催生的新興技術(shù),是微軟?.NET藍圖中最為耀眼的技術(shù)之一。在一臺計算機上如果有多個程序需要調(diào)用同一個程序模塊,則這些程序可以通過COM技術(shù)實現(xiàn)。推而廣之,如果在遍布全球的互聯(lián)網(wǎng)上,世界各地的多個站點上都要調(diào)用某個站點上的程序的功能,那么該怎么辦呢?顯然,使用COM技術(shù)是無法實現(xiàn)的,而WebService程序就主要用于解決這類問題。WebService程序通常也分為WebService服務(wù)程序和WebService客戶程序兩大類。WebService服務(wù)程序負責(zé)提供服務(wù),WebService客戶端程序則負責(zé)使用服務(wù)。在VB.NET中,建立WebService程序通常都是以向?qū)Х绞綄崿F(xiàn)的,用戶只需要在其中添加特定的服務(wù)功能代碼即可。
ASP?.NET是一個統(tǒng)一的Web開發(fā)平臺,它為創(chuàng)建Web應(yīng)用程序和Web服務(wù)提供高級服務(wù),ASP?.NET還提供了一種新的編程模型和底層結(jié)構(gòu),從而以前所未有的速度、靈活性和簡易性創(chuàng)建功能強大的Web應(yīng)用程序。
ASP?.NET并不僅僅是一個新版本,而是Web應(yīng)用程序編程方面的一個全新概念和方法。ASP?.NET中的新功能并不是對ASP的改進,設(shè)計它的初衷是為用戶提供最佳的應(yīng)用程序架構(gòu)。這就意味著在許多領(lǐng)域中,ASP?.NET與ASP是不兼容的,不過從長遠來看,這是一件好事。這表明ASP?.NET為應(yīng)用程序的開發(fā)提供了一個功能強大的平臺,同時它也具備了更多的優(yōu)點。ASP?.NET與ASP是互不干擾的。即使兩者之間有許多不同,安裝ASP.NET也不會破壞現(xiàn)有的ASP應(yīng)用程序,之所以如此是因為ASP?.NET也有一個新的文件擴展名(.aspx),也就是說,它們的處理方式和ASP頁是不同的。
Web服務(wù)是ASP?.NET框架中的一個重要內(nèi)容,主要用于程序和程序之間的通信,可以從根本上改變設(shè)計應(yīng)用程序的方式。以前,應(yīng)用程序只能運行在離散的、受控制的服務(wù)器組上。而通過Web服務(wù),應(yīng)用程序可以運行在廣泛分布的資源集上,進行數(shù)據(jù)的處理和顯示,并且不管這些資源是否具有相同的類型、服務(wù)器和操作系統(tǒng)等。Web服務(wù)為程序提供了通過Internet使用SOAP(SimpleObjectAccessProtocol,簡單對象訪問協(xié)議)進行通信的機制,它支持分布式環(huán)境,而且不再需要關(guān)心應(yīng)用程序使用什么技術(shù)。在VB?.NET中,實際上并不需要知道后臺進行了什么操作。發(fā)送給Web服務(wù)的信息會由ASP?.NET框架自動轉(zhuǎn)換為XML協(xié)議。ASP?.NET框架管理該過程,接收返回的XML文檔,并把返回的數(shù)據(jù)按需要放在組件接口上。VB?.NET在創(chuàng)建Web服務(wù)的同時還創(chuàng)建了一個名稱為Service1.asmx的文件。知識點9-1-2
Web服務(wù)及其相關(guān)技術(shù)
Web服務(wù)就是可編程的URL,即使用標(biāo)準的Internet協(xié)議(比如HTTP或XML)遠程可調(diào)用的應(yīng)用程序組件。它要想成功用于Internet就需要提供一個與操作系統(tǒng)無關(guān)、與程序設(shè)計語言無關(guān)、與機器類型無關(guān)以及與運行環(huán)境無關(guān)的平臺。
與Web服務(wù)相關(guān)的技術(shù)主要有以下四個方面:
●表示數(shù)據(jù)(XML);
●交換消息(SOAP);
●服務(wù)描述(WSDL);
●服務(wù)發(fā)現(xiàn)與分布式Web服務(wù)發(fā)現(xiàn)技術(shù)(UDDI和WS-Inspection)。說明:
第一個方面將在知識點9-1-3中介紹,其他三個方面將分別在知識點9-2-1、知識點9-2-2、知識點9-2-3中介紹。
知識點9-1-3
XML的命名空間
為了唯一地標(biāo)識XML元素,必須使用全局唯一的標(biāo)識符URI。URI是一個唯一的標(biāo)識資源的串(UniformResourceIdentifier)。URI分成了兩個子類:一個是URL(UniversalResourceLocator,統(tǒng)一資源定位符),一個是URN(UniformResourceName)。
(1)?URL不僅定義了從何處獲取資源,而且定義了如何獲取資源(即采用何種協(xié)議,http還是FTP)。
(2)?URN代表一個資源與位置無關(guān)的串。至于資源在何處或如何到達資源則沒有任何要求,因為一個URN只是一個唯一的串。其語法提供了全局唯一性。
(3)?XML模式(XMLSchema)是DTD(DocumentTypeDefinition)的超集。DTD可以指定元素是包含字符數(shù)據(jù)還是其他數(shù)據(jù)或是一個空元素,DTD不能指定某個特殊元素是否包含整數(shù)、浮點數(shù)或字符串。另外,DTD有自己的語法,而XML模式遵循XML語法。9.2建立B/S方式的Browse客戶端瀏覽器程序
【案例9-2】B/S方式的Browse客戶端調(diào)用WebService服務(wù)。
該案例是設(shè)計一個B/S方式的Browse客戶端瀏覽器窗體。在瀏覽器窗體的地址欄中輸入“http://localhost/Browse_Client/WebForm1.aspx”后會出現(xiàn)如圖9-2所示的瀏覽器窗體,在第一個文本框中輸入1~12中的任一數(shù)字字符,單擊“數(shù)字轉(zhuǎn)換為英文單詞”命令按鈕,調(diào)用案例9-1中的WebService服務(wù)函數(shù),然后在第二個文本框中顯示調(diào)用WebService服務(wù)函數(shù)的返回值,該返回值是第一個文本框中輸入數(shù)字字符對應(yīng)月份的英文單詞。
【技能目標(biāo)】
學(xué)會在客戶端瀏覽器窗體中添加Web引用,并運行客戶端瀏覽器窗體調(diào)用WebService服務(wù)。
【操作要點與步驟】
(1)啟動VB?.NET,新建“ASP?.NETWeb應(yīng)用程序”模板的應(yīng)用程序,位置為“http://localhost/Browse_Client”,如圖9-12所示。單擊“確定”按鈕,向?qū)⒆詣觿?chuàng)建一個默認的Web應(yīng)用程序。圖9-12創(chuàng)建Web應(yīng)用程序
(2)在圖9-12中按下“確定”按鈕,屏幕將會出現(xiàn)如圖9-4所示的界面,表明計算機正在建立ASP?.NETWeb應(yīng)用程序。
(3)然后,將出現(xiàn)如圖9-13所示的界面,表明計算機已建立了ASP?.NETWeb應(yīng)用程序。在圖9-13所示的界面中可以清楚地看出,在Browse_Client解決方案下有一個項目名為Browse_Client,在項目名為Browse_Client下面有一些客戶端的文件,如客戶端網(wǎng)頁文件WebForm1.aspx。圖9-13已建立了ASP?.NETWeb應(yīng)用程序
(4)在“解決方案資源管理器”對話框中的項目文件“Browse_Client”上右擊鼠標(biāo),彈出快捷菜單,選擇“添加Web引用”菜單,出現(xiàn)“添加Web引用”對話框,如圖9-14所示。
(5)在圖9-14中單擊“本地計算機上的Web服務(wù)”超級鏈接,系統(tǒng)將自動列出本地計算機上的Web服務(wù),如圖9-15所示。
(6)根據(jù)需要選擇Web服務(wù),本案例程序選擇圖9-15中最后一行超級鏈接Service1,即URL為http://localhost/translateWebervice/Servicel.asmx的Service1服務(wù),系統(tǒng)顯示鏈接的Web服務(wù)頁,如圖9-16所示。圖9-14“添加Web引用”對話框圖9-15本地計算機上的Web服務(wù)列表圖9-16Web服務(wù)頁
(7)在圖9-16中的“Web引用名”位置自動顯示W(wǎng)eb引用名為localhost。該Web引用名localhost可以根據(jù)需要進行修改,在后面的代碼中要用到此名稱,它實際上就是代理類。單擊“添加引用”按鈕返回webform1.aspx設(shè)計窗體,此時用戶可以清楚地看到在“解決方案資源管理器”的“引用”項下面多了一個“WebReferences”引用項,在該引用項下面是Web引用名localhost,如圖9-17所示。
(8)在圖9-17所示的Web窗體中添加兩個文本框Web控件TextBox、兩個標(biāo)簽Web控件Label及一個命令按鈕Web控件Button。按表9-1對以上Web控件的屬性進行設(shè)置后,界面如圖9-18所示。圖9-17添加“Web引用”后的界面圖9-18添加Web控件并設(shè)置屬性后的界面在圖9-18中,每個Web控件都有一個與Windows窗體上的控件不一樣的標(biāo)記,在每個Web控件的左上角有一個綠色的小箭頭,這些Web控件在Web窗體的HTML模板上用做控件類的引用時都在每個控件前帶有前綴asp,例如,文本框的HTML標(biāo)記符是asp:Textbox。
(9)為圖9-18所示的窗體中的命令按鈕Web控件Button編寫Click事件代碼。
(10)項目的保存與運行。代碼輸入完成后,先將項目保存,然后按F5鍵或單擊工具欄上的運行按鈕運行該項目。項目運行后,在第一文本框中輸入3,單擊命令按鈕,調(diào)用WebService服務(wù)程序,將在第二個文本框中出現(xiàn)“March”,效果圖如圖9-19所示。
另外,也可以打開IE瀏覽器,在IE瀏覽器的地址欄中輸入地址信息http://localhost/Browse_Client/WebForm1.aspx后,在出現(xiàn)的Web窗體中的第一文本框中輸入3,單擊命令按鈕,調(diào)用WebService服務(wù)程序,將在第二個文本框中出現(xiàn)“March”,運行的效果也如圖9-19所示。圖9-19B/S方式的客戶端調(diào)用WebService服務(wù)程序的效果圖通過以上兩個案例,用戶應(yīng)該對WebService有了直觀的認識。一般來說,使用COM技術(shù)可以讓方法調(diào)用跨過進程的邊界(或者說從一個應(yīng)用程序調(diào)用另一個應(yīng)用程序),而使用DCOM技術(shù)則可以讓方法調(diào)用在局域網(wǎng)內(nèi)進行,那么通過WebService就使得Web也成了程序之間交流的場所。所以,WebService使得軟件開發(fā)的模式發(fā)生了根本變化,即在Web上搭好一個框架,而具體的邏輯可以從各WebService生產(chǎn)者那里購買。這些WebService服務(wù)程序無需像現(xiàn)在的軟件那樣放在光盤上分發(fā),而是直接將WebService服務(wù)程序放在網(wǎng)站上以供下載,用戶只需要知道一個地址,就可以在程序中調(diào)用它們。如果WebService需要升級,則只要不改動接口,對用戶的使用將毫無影響。
更進一步地,由于WebService是基于標(biāo)準的HTTP協(xié)議來傳送的,因此它可以順利地通過網(wǎng)關(guān),也就是說,無論有沒有網(wǎng)關(guān)的限制,整個Web都可以變成一個巨大的程序來運行。這種協(xié)同計算機的能力可能會產(chǎn)生出今天不敢想象的各種應(yīng)用。
【相關(guān)知識】
知識點9-2-1簡單對象訪問協(xié)議SOAP
XML作為Internet上信息交換的標(biāo)準已經(jīng)得到了廣泛的應(yīng)用,SOAP(SimpleObjectAccessProtocol)是用于Web上交換結(jié)構(gòu)化和類型信息(XML編碼信息)的簡單的輕量級協(xié)議,它使得任何實現(xiàn)基本的Internet通信服務(wù)的系統(tǒng)都能處理和傳送XML消息。
SOAP包括以下四個部分:
●?SOAP封裝(envelop)也稱為SOAP信封。該信封定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當(dāng)接收并處理它以及如何處理它們的框架?!?SOAP編碼規(guī)則(encodingrules)用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例。
●?SOAPRPCRPC樣式(請求/響應(yīng))的消息交換模式(RPCrepresentation)表示遠程過程調(diào)用和應(yīng)答的協(xié)定。
●?SOAP綁定(binding)定義了SOAP和HTTP之間的綁定。
簡單地理解,SOAP就是這樣的一個開放協(xié)議,即SOAP=RPC+HTTP+XML:采用HTTP作為底層通信協(xié)議,RPC作為一致性的調(diào)用途徑,XML作為數(shù)據(jù)傳送的格式,允許服務(wù)提供者和服務(wù)客戶經(jīng)過防火墻在Internet進行通信交互。知識點9-2-2服務(wù)描述(WSDL)
XML是一種編碼數(shù)據(jù)的標(biāo)準方法。SOAP基于XML定義了一種消息格式以便交換方法、請求和響應(yīng),并最終完成Web服務(wù)的調(diào)用;服務(wù)描述(WSDL)用于描述如何使用SOAP來調(diào)用Web服務(wù)。
WSDL(WebServicesDescribtionLanguage)是用來描述網(wǎng)絡(luò)服務(wù)或終端服務(wù)的一種XML語言。它用于定義WebService以及如何調(diào)用它們(描述Web服務(wù)的屬性,例如它做什么?它位于何處?如何調(diào)用它?等等)。它包含對一組操作和消息的抽象定義,綁定到這些操作和消息的一個具體協(xié)議和這個綁定的一個具體服務(wù)訪問規(guī)范。以上三部分描述了Web服務(wù)的抽象定義(抽象定義層),這三部分與具體Web服務(wù)部署細節(jié)無關(guān),是可復(fù)用的描述(即這三部分可以是Web服務(wù)本身,與具體的語言實現(xiàn)、遵從的平臺的細節(jié)規(guī)范以及被部署到哪臺機器無關(guān))。知識點9-2-3服務(wù)發(fā)現(xiàn)與分布式Web服務(wù)發(fā)現(xiàn)技術(shù)(UDDI和WS-Inspection)
1.Web服務(wù)發(fā)現(xiàn)
Web服務(wù)發(fā)現(xiàn)是定位或發(fā)現(xiàn)一個或多個說明特定的Web服務(wù)的文檔的過程。Web服務(wù)的客戶通過發(fā)現(xiàn)來知道某個Web服務(wù)是否存在,以及從哪里獲取這個Web服務(wù)的文檔。
UDDI(UnifiedDiscribtionDiscoveryInterface)是一種使貿(mào)易伙伴彼此發(fā)現(xiàn)對方和查詢對方的規(guī)范。它使得最終用戶通過搜索企業(yè)列表、企業(yè)分類或者實際Web服務(wù)的可編程描述查找產(chǎn)品和服務(wù)成為了可能。UDDI不僅是一個簡易的搜索引擎,它也包含如何通過編程來和這些Web服務(wù)進行交互。
UDDI程序員的API規(guī)范是一個文檔,概述了供顧客調(diào)用SOAP接口在UDDI站點上執(zhí)行的每項操作。API規(guī)范由兩部分組成:InquiryAPI,用于查詢和瀏覽UDDI注冊表來發(fā)現(xiàn)最終用戶查詢的企業(yè)和服務(wù);PublisherAPI,用于添加、更新和刪除UDDI注冊表中的企業(yè)和服務(wù)信息。
2.WS-Inspection(分布式Web服務(wù)發(fā)現(xiàn)技術(shù))
WS-Inspection為任一類型的Web服務(wù)描述文檔提供簡單的、分布式的服務(wù)發(fā)現(xiàn)方法。WS-Inspection技術(shù)是現(xiàn)有服務(wù)發(fā)現(xiàn)方法(如UDDI)的補充,因為它定義了通過檢查Web站點來獲得服務(wù)描述的過程。
(1)?WS-Inspection文檔提供一種方法來聚集不同類型的服務(wù)描述。WS-Inspection文檔中,一個服務(wù)可以有多種對服務(wù)描述的引用。例如,可以既使用WSDL文件,又在UDDI注冊中心描述一個Web服務(wù)。對這兩種服務(wù)描述的引用應(yīng)該放在WS-Inspection文檔中。
(2)?WS-Inspection規(guī)范的兩個主要功能如下:
●定義XML格式,用于列舉對現(xiàn)有服務(wù)描述的引用。
●定義一組約定,這樣能容易地定位WS-Inspection文檔。
(3)?WS-Inspection文檔格式。WS-Inspection文檔提供對服務(wù)描述的引用的集合。這些服務(wù)描述可以用任何服務(wù)描述格式(例如WSDL、UDDI或者簡單HTML)定義。WS-Inspection文檔包含對服務(wù)描述的引用列表和對其他WS-Inspection文檔的引用。
WS-Inspection文檔包含一個或多個<service>元素和<link>元素。一個<service>元素包含一個或多個不同類型的對相同Web服務(wù)描述的引用。<link>元素可包含唯一一類對服務(wù)描述的引用,但是這些服務(wù)描述不必引用相同的Web服務(wù)。
(4)查找WS-Inspection文檔。WS-Inspection規(guī)范提供的第二個主要功能是如何定義一個可以訪問WS-Inspection文檔的位置。它創(chuàng)建了兩個約定,使WS-Inspection文檔的位置和檢索變得相對容易。9.3建立C/S方式的客戶端Windows窗體程序
【案例9-3】C/S方式的客戶端Windows窗體調(diào)用WebService服務(wù)。
通常WebService服務(wù)程序是一個需要IIS支持的應(yīng)用程序,而WebService客戶端程序可以有多種形式,調(diào)用WebService服務(wù)程序的客戶端程序既可以是“ASP.NETWeb”應(yīng)用程序(如案例9-2),也可以是Windows窗體應(yīng)用程序,還可以是其他形式的應(yīng)用程序。這些調(diào)用WebService服務(wù)的客戶端程序在調(diào)用WebService服務(wù)程序中的Web服務(wù)時,其基本原則是一樣的,只是在客戶端的外觀表現(xiàn)不同而已。圖9-20客戶端Windows窗體調(diào)用WebService?服務(wù)程序的效果圖該案例主要設(shè)計一個C/S方式的客戶端Windows窗體,通過客戶端Windows窗體調(diào)用WebService服務(wù)程序。該案例最終的效果圖如圖9-20所示。當(dāng)在圖9-20的Windows窗體中的第一個文本框中輸入1~12的任一數(shù)字,單擊“數(shù)字轉(zhuǎn)化為英文單詞”命令按鈕時,調(diào)用案例9-1中的WebService服務(wù)函數(shù),然后在第二個文本框中顯示調(diào)用WebService服務(wù)函數(shù)的返回值,該返回值是第一個文本框中輸入數(shù)字字符對應(yīng)的英文單詞。
【技能目標(biāo)】
掌握通過客戶端Windows窗體調(diào)用WebService服務(wù)程序的編程技術(shù),并體會與B/S方式的Browse客戶端瀏覽器窗體調(diào)用WebService服務(wù)程序的差異。
【操作要點與步驟】
(1)啟動VB?.NET,新建一個“Windows應(yīng)用程序”,在“位置”文本框中輸入“D:\”,在項目名稱欄中填寫“Window_Client”,如圖9-21所示。單擊“確定”按鈕,系統(tǒng)將自動創(chuàng)建一個Windows應(yīng)用程序。圖9-21創(chuàng)建一個Windows應(yīng)用程序
(2)在圖9-21中單擊“確定”按鈕后,在出現(xiàn)的窗體上添加兩個文本框Windows控件TextBox,兩個標(biāo)簽Windows控件Label及一個命令按鈕Windows控件Button,按表9-2設(shè)置以上Windows控件的屬性,其界面如圖9-22所示。圖9-22添加Windows控件并設(shè)置屬性后的界面
(3)為圖9-22所示的Windows窗體中的命令按鈕Windows控件Button編寫Click事件代碼。
(4)在為圖9-22所示的Windows窗體中的命令按鈕Windows控件Button編寫Click事件代碼后,按案例9-2中第(4)、(5)、(6)、(7)步“添加Web引用”,“添加Web引用”后的效果圖如圖9-23所示。Web引用名為localhost,該Web引用名localhost可以根據(jù)需要進行修改,在第(3)步的程序代碼中用到了此名稱,它實際上就是代理類。此時用戶可以清楚地看到在“解決方案資源管理器”的引用項下面多了一個“WebReferences”引用項,在該引用項下面是Web引用名localhost,如圖9-23所示。圖9-23“添加Web引用”后的效果圖
(5)項目的保存與運行。代碼輸入并“添加Web引用”完成后,先將項目保存,然后按F5鍵或單擊工具欄上的運行按鈕運行該項目。項目運行后,在第一文本框中輸入8,單擊命令按鈕,調(diào)用WebService服務(wù)程序,將在第二個文本框中出現(xiàn)“August”,效果圖如圖9-20所示。習(xí)題
一、單項選擇
1.在WebService服務(wù)調(diào)用中,采用了_____協(xié)議。
A.?COM B.?CORBA C.?TCP D.?SOAP
2.如果在遍布全球的互聯(lián)網(wǎng)上,世界各地的多個站點都要調(diào)用某個站點上的程序的功能,那么該用_____技術(shù)來實現(xiàn)。
A.?COM技術(shù) B.?WebService C.?WebD.?ASP
3.開發(fā)WebService程序時,首先要開發(fā)_____。
A.?WebService調(diào)用程序 B.?WebService注冊程序
C.?WebService服務(wù)程序 D.?XML應(yīng)用程序
4.要開發(fā)WebService服務(wù),機器上必須安裝______。
A.?IIS B.?FTP
C.遠程登錄 D.?FrontPage
5.利用ASP?.NET開發(fā)的頁面文件的擴展名是______。
A.?asp B.?aspx
C.?htm D.?html二、多項選擇
1.ASP?.NET的Web服務(wù)相關(guān)的技術(shù)有______。
A.表示數(shù)據(jù)(XML)
B.交換消息(SOAP)
C.服務(wù)描述(WSDL)
D.
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人定制房產(chǎn)轉(zhuǎn)讓協(xié)議樣本
- 福利院護工招聘合同細則
- 酒店管理教師勞動合同模板
- 高端商務(wù)樓租賃合同模板
- 風(fēng)力發(fā)電場并網(wǎng)配網(wǎng)工程施工合同
- 土石方填筑設(shè)計合同
- 停車場地平施工合同
- 零售業(yè)專用送貨員聘用合同
- 醫(yī)療美容機構(gòu)美發(fā)師聘用合同
- 親子活動表演助理招聘協(xié)議
- DL-T 1476-2023 電力安全工器具預(yù)防性試驗規(guī)程
- 植物景觀規(guī)劃與設(shè)計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學(xué)
- 中國戲曲劇種鑒賞智慧樹知到期末考試答案章節(jié)答案2024年上海戲劇學(xué)院等跨校共建
- 三年級上冊數(shù)學(xué)教案-4.2 三位數(shù)減兩位數(shù)、三位數(shù)的筆算減法 ︳人教新課標(biāo)
- MOOC 法理學(xué)-西南政法大學(xué) 中國大學(xué)慕課答案
- 2024年重慶璧山區(qū)國隆農(nóng)業(yè)科技發(fā)展有限公司招聘筆試參考題庫含答案解析
- 事業(yè)單位工勤技能綜合知識試卷及答案
- 如何創(chuàng)造有意義的人生
- 冬季如何預(yù)防腦卒中
- 消防管道隱蔽工程驗收記錄
- 習(xí)思想教材配套練習(xí)題 第一章 新時代堅持和發(fā)展中國特色社會主義
評論
0/150
提交評論