999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web Service的會員驗證系統的設計與實現

2008-04-29 00:00:00楊典華蒲麗君
中國教育技術裝備 2008年8期

摘 要分析Web Service體系結構,介紹其技術優勢,并通過對一個會員驗證系統的實現,研究運用Web Service技術實現對遠程數據庫的訪問。

關鍵詞Web Service;Net;遠程數據庫

中圖分類號 TP311.11 文獻標識碼 A 文章編號 1671-489X(2008)08-0091-03

1 引言

隨著網絡技術的發展,軟件開發經歷了單機、C/S、B/S 3種模式,Web信息處理技術也經歷了從采用中間件如CGI、ASP傳統的3層模式到目前以Corba、DCom、EJB等構件技術為基礎的多層分布式模型。這些模型最典型的應用目的,就是使客戶端桌面程序可以直接訪問遠程數據庫。雖然像Corba、Dcom、EJB等分布模型在一定程度上實現了這一點,但如果客戶端和服務器之間隔有防火墻或代理服務器,那么來自于Corba等構件的調用就會被認為是惡意訪問而可能被擋在防火墻外。這些組件由于嚴格受限于TCP/IP端口和特定的網絡傳輸協議,無法直接解決基于B/S的瘦客戶應用程序的處理問題,而Web Service技術的出現可以很好地解決這個問題,利用Web Service技術實現訪問遠程數據庫具有較大的優勢。本文擬通過一個基于Web Service會員驗證系統的模型來實現對數據庫的訪問,其研究意義在于解決客戶端訪問遠程數據庫的困難。

2 Web Service技術簡介

客戶端與服務器的通信問題,一個完美的解決方法是使用HTTP協議來通信。這是因為任何運行Web瀏覽器的機器都在使用HTTP協議。同時,當前許多防火墻也配置為只允許HTTP連接。利用Web Service可以能夠用編程的方法通過Web調用來實現服務器端的某個功能的應用程序。

Web Service 就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API,也就是能夠用編程的方法通過Web來調用這個應用程序。調用這個Web Service應用程序的叫做客戶。從本質層次來講,Web服務是放置于Web站點上的可重用構件。Web服務可以分散于互聯網上的各個地方,通過相互調用來協同完成特定任務。資源共享須解決的首要問題,是提高資源的可管理性。由于服務器上的應用軟件只對特定資源操作,且不同的應用軟件對相同資源的操作有一定程度的差異,這種資源的自治性導致難以為每個特定資源定義標準的接口。利用面向服務的集成(Service Oriented Integration)和虛擬化技術能夠解決該問題。這是因為面向服務能夠對復雜的過程和功能進行封裝,并通過消息交換為服務請求者提供某種功能。Web服務是目前流行的提供面向服務的技術,具有獨立于平臺和執行的特性,能夠為建立在不同硬件平臺、操作系統和編程語言之上的應用程序提供服務。其主要工作原理是使用WSDL對服務進行統一描述,通過UDDI發布服務,利用SOAP訪問服務。

3 基于Web Service的會員驗證系統總體設計

本文通過采用Web Service技術,實現對會員的驗證,系統采用Asp.Net開發Web Serivice 技術。本系統主要實現的功能:用戶通過客戶端程序可以在線驗證用戶是否為會員,查詢時,向客戶端程序提供自己的賬號與密碼參數,客戶端獲取參數后向調用服務端驗證Web Servcie,由此Web Service實現對本地用戶數據庫的查詢驗證。系統要做以下3方面的內容設計:1)數據庫的設計;2)服務端創建的Web Service,該服務提供會員信息查詢的接口;3)客戶端的調用程序,該程序調用服務端提供的驗證Web Service,實現會員驗證。整個系統是基于Web Service的松散結構,可以順利實現異構系統間跨越防火墻通信與互操作。系統示意圖如圖1所示。

1)會員信息數據庫。系統數據庫主要是存儲會員的認證信息,由于本文主要研究內容是通過會員驗證系統模型實現基于Web Service訪問遠程數據,因此,此數據庫設計比較簡單:在Sql Server數據庫中建立會員信息表,其主要字段有賬號、密碼、姓名等,其中關鍵字為賬號。

2)Web Service服務端。系統中提供的驗證Web服務是本文研究的核心,這里提供了一個基于Asp.net技術開發出來的會員驗證服務ValidateWebService。此服務對內通過Ado.net直接連接后臺的數據庫,對外通過Internet發布Web服務,提供的數據接口有2個調用參數——賬號和密碼。當客戶端程序調用時,如果驗證通過,返回true,否則1。

3)客戶端。Web Service的客戶端可以是任意的組件、應用程序或一個動態網頁程序。在訪問Web Service時,用戶只需要在代碼中調用代理類的相應方法即可,如同調用本地類的方法一樣。本文中的系統客戶端采用VB.Net開發一個客戶端程序實現ValidateWebService的調用,并且是通過靜態方法調用,一旦Web Service發布后,就獲得一個固定的URL,所有要用此服務獲得數據的客戶端通過此固定的URL在本地生成代理層,每次客戶端對遠程數據庫的訪問,都會通過這一代理層調用遠程方法獲取數據,返回請求客戶。其訪問過程如圖2所示。

4 運用Web Service技術開發會員驗證系統

根據前文分析,把系統劃分為3個層次:數據層、服務層和客戶層。其中,數據層由于只是記錄會員的基本信息,在實現時只需建立對應的數據信息表。因此,文中主要介紹基于ASP.Net開發系統中的驗證服務ValidateWebService和客戶端調用此服務的實現。

1)Web服務端的實現。首先,在Microsoft Visual Studio.Net2005環境中建立一個ValidateWebService,并在此系統中定義一個封裝服務功能的類ValidateWebService。該服務提供用戶對個人信息的查詢,在這個服務模塊中設立用戶接口,負責管理Web服務與用戶之間的交互。該類應當是公共的,并且可以隨意地從 Web Service 基類繼承。在這個類中設計ValidateUserinfo函數,它是實現驗證的核心模塊:

[HTK]WebMethod()> _

Public Function ValidateUserinfo(ByVal username As String, ByVal password As String) As Boolean

'調用個人信息查詢,連接數據庫

……

' 驗證username , password 字段身份有效性

If ('如果驗證通過) Then

Return True

Else

Return False

End If

End Function

在.Net體系結構里,Web 服務文件以.asmx文件擴展名保存,與.aspx 文件一樣,這些文件也在服務請求發出(后面的請求由緩存的預編譯type對象服務)時由ASP.Net 運行庫自動編譯,并創建相應的Web服務描述WSDL。本系統將ValidateWebService發布到服務器上,使用 Web 瀏覽器,然后就可以輸入該服務的URL,如http://202.204.215.191/somefolder/ValidateWebService.asmx wsdl,返回該服務的Web服務描述語言WDSL文檔。在這個文檔中,可以清楚地看出ValidateWebService發布在互聯網中的接口參數。以下是ValidateWebService服務描述WSDL文檔片斷:

<wsdl:types>

<s:schema elementFormDefault=“qualified” targetNamespace=“http://tempuri.org/”>

<s:element name=“ValidateUser”>

<s:complexType>

<s:sequence>

<s:element minOccurs=“0” maxOccurs=“1” name=“username” type=“s:string”/>

<s:element minOccurs=“0” maxOccurs=“1” name=“password” type=“s:string” />

</s:sequence>

</s:complexType>

</s:element>

<s:element name=“ValidateUserResponse”>

<s:complexType>

<s:sequence>

<s:element minOccurs=“1” maxOccurs=“1” name=“ValidateUserResult” type=“s:boolean”/>

</s:sequence>

</s:complexType>

</s:element>

</s:schema>

</wsdl:types>

2)客戶端。Web 服務最大的特點就在于它的松散耦合性,每個Web 服務都封裝了離散的功能,完成單個的任務,并且可以在其他程序中自由訪問調用,在代碼級與其他軟件進行集成。在訪問Web Service時,代理類和.Net Framework完成主要工作,用戶只需在代碼中調用代理類的相應方法即可。因此,在客戶端,首先運用.Net的SDK提供Web服務描述語言工具(WSDL.exe)的工具。此命令行工具用于從 WSDL 創建代理類,這里輸入WSDL http://202.204.215.191/somefolder/ValidateWebService.asmx wsdl,創建一個客戶端的代理類ValidateService.VB。

本系統中的客戶端采用了Windows Forms 形式,客戶端界面要求輸入用戶名稱和密碼。當用戶運行客戶端程序時,系統給出一個傳統的Windows風格的登陸界面,如圖3所示,一旦點擊驗證按鈕,客戶端就會通過本地的代理類去調用遠程的ValidateWebService。

在此按鈕事件中添加如下代碼,實現會員驗證。

Public Sub Submit_Click(Sender As Object, E As EventArgs)

'調用本地代理類,實現遠程調用

Dim Service As ValidateService=New ValidateService()

'進行驗證

Dim result As Boolean=Service.ValidateUserinfo(txtUser.Text,txtPwd.Txt)

'處理驗證結果

If result then

……

Else

……

End If

End Sub

這樣就完成了具有會員驗證Web服務的客戶端。

5 結束語

Web Service是一個嶄新的面向服務的分布式計算模型,它的優勢不像傳統的組件技術那樣依賴特定對象模型協議,而是建立在一些通用協議之上(SOAP、XML等)。本文結合具體的實例,通過一個會員驗證系統模型的設計和實現,并以.Net開發環境開發實現了該系統,驗證了運用Web Service技術可以實現對遠程數據庫的訪問。

主站蜘蛛池模板: 日韩av手机在线| 亚洲人成影院午夜网站| 国产人人射| 国产一区成人| 福利视频99| 国产91导航| 亚洲色大成网站www国产| 亚洲欧美精品日韩欧美| 很黄的网站在线观看| 欧美亚洲香蕉| 欧美a网站| 欧美国产日产一区二区| 亚洲AV电影不卡在线观看| 国产免费久久精品99re丫丫一| 亚洲美女一区二区三区| 毛片免费在线视频| 97视频在线精品国自产拍| 色悠久久久| www.99精品视频在线播放| 久久精品66| 熟妇人妻无乱码中文字幕真矢织江| 色综合久久综合网| 免费日韩在线视频| 999精品色在线观看| 国产毛片高清一级国语| 免费在线色| 日本成人在线不卡视频| 刘亦菲一区二区在线观看| 国产日韩久久久久无码精品| 色综合久久88| 超薄丝袜足j国产在线视频| 欧美一级色视频| 亚洲欧美h| 国产精品私拍99pans大尺度| 丝袜国产一区| 欧美亚洲国产精品第一页| 国产人人射| 久久综合结合久久狠狠狠97色 | www欧美在线观看| www.亚洲一区二区三区| 97在线公开视频| aaa国产一级毛片| 首页亚洲国产丝袜长腿综合| 免费AV在线播放观看18禁强制| 亚洲天堂免费在线视频| 国产精品第5页| 青草国产在线视频| 超清无码一区二区三区| 91青青视频| 韩日午夜在线资源一区二区| 欧美三级不卡在线观看视频| 日韩高清一区 | 香蕉eeww99国产在线观看| 91福利一区二区三区| 久久免费成人| 亚洲av中文无码乱人伦在线r| 久久网欧美| 国产全黄a一级毛片| 91精品啪在线观看国产| 视频二区欧美| 91小视频在线观看| 色综合综合网| 中文纯内无码H| 亚洲—日韩aV在线| 亚洲成人在线免费| 欧美无专区| 国产一在线| 日韩二区三区无| 无码中文字幕乱码免费2| 国产乱人伦精品一区二区| 国产69精品久久| WWW丫丫国产成人精品| 夜精品a一区二区三区| 亚洲一区精品视频在线| 亚洲最新在线| 亚洲精品波多野结衣| 91在线激情在线观看| 9久久伊人精品综合| 国产真实乱子伦精品视手机观看| 欧美精品啪啪一区二区三区| 久久特级毛片| 国产人人射|