基于Web Service的会员验证系统的设计与实现

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:jihuoxiazai
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要分析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所示。
  
  
  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技术可以实现对远程数据库的访问。
其他文献
本文论述了在新形势下仪器设备的“普九”达标与政府招标采购工作。结合3年来天津市农村地区义务教育教学装备工程实行政府采购的实践,介绍天津市教育装备管理部门在政府招标采购中非常独特的做法,指出教育部门要精心组织、积极参与、发挥优势、把握重点,做好仪器设备的政府招标采购,这正是新形势下教育技术装备工作的关键。  为全面贯彻落实全国农村教育工作会议精神,达到“十一五”期间实现高水平、高质量普及九年义务教育
教学目标:  1.认识“潭、湾”等15个生字,会写“湾、名”等9个字,会写“群山、树木”等9个词语。  2.能正确、流利地朗读课文,背诵第2~4自然段。  3.理解“群山环绕”“隐隐约约”“好像披上轻纱”等词语的意思,感受日月潭的优美景色,体会作者对日月潭的由衷赞美。  教学过程:  一、导入新课,激发学习兴趣  1.出示地图,介绍台湾:在我国的东南方向,有一座美丽的岛屿——台湾岛,它是我国的第一
教学目标:  1.运用加一加、减一减、换一换,猜谜识字、字理识字等多种充满理趣的识字方法,识记本课生字。  2.借助字理、传统故事、联系生活等方法,了解传统文化,初步感知《人之初》的内容。  3.通过多种方式的诵读,熟读成诵,感受语言的韵律美,感受经典的魅力。  教学过程:  一、初读课文,引导自主识字  1.今天我们学习的《人之初》选自《三字经》。《三字经》是我国古代的小朋友上学用的课本,从中,
“对比”是一种阅读策略,有两种方式:一是类文对比,即相似的、同类的几篇文章进行对比阅读;另一种是文内对比,即从文中找出相应的内容、段落、技巧进行对比。“质问作者”也是一种阅读策略,它能够引导学生将注意力放在寻找作者意图、表达清晰度及组织思路上。笔者两次执教《理想的风筝》,从“对比阅读”走向“质问作者”,从“学习阅读”走向“在阅读中学习”,让学生主动学习,让思维看得见。  一教对比入手  《理想的风
总体性能了解    松下DP-1820P型复印机是一款能够满足小型办公需要的多功能一体机。该款机器除了有一般的文本、图片或半色调文稿的复印(最大复印尺寸为A3幅面)功能外,还可进行网络或脱机打印,打印时最高分辨率可达到600 dpi;如果用户购买了选购件网络扫描仪模块(DA-NS180),就可进行分辨率为600 dpi的网络单色扫描;如果用户购买了选购件传真通信板(DA-FG180),就可采用JB
新一轮基础教育课程改革是一场从教育思想到课程结构、课程内容、教学方式、学习方式、教学方法等方面在内的全面的、深刻的教育教学改革,对实验教学工作提出一系列新的要求,从教育理念上更加突出实验教学的地位和作用,强调科学实验探究是一种重要而有效的学习方式。    1 教学内容  以人教版实验教科书九年级上册第七单元课题1《燃烧和灭火》为例,谈科学实验探究课程的改革。    2 设计思路  燃烧和灭火是学生
兴之所至写《竹节人》  周益民:祝贺范老师,您的散文《竹节人》被选入统编本教材六年级上册。刚得到这个消息时您心情怎样?这个作品写于什么时候?能简单介绍一下当时的写作情况吗?  范锡林:《竹节人》这篇文章是我在上个世纪80年代写的《童年趣事》系列中的一则,最初发表在北京《东方少年》杂志上。那时我30多岁,在江苏省靖江中学当语文老师,整天与学生们在一起,看到他们的活泼天真,不由得回想起我在他们那么大时
【设计初想】  统编本教材三年级上册第五单元观察单元的目标明确要求:体会作者是怎样留心观察周围事物的;仔细观察,把观察所得写下来。习作要求观察要细致,要说清自己看到的一种事物或一处场景。叶圣陶先生说:“写作的根源是发表的欲望,正如说话一样,胸中有所积蓄,不吐不快。”想要学生“不吐不快”,首先就要激发学生观察的兴趣,激起他们说话的欲望。因此,我基于儿童视角,将习作与学生生活联系起来,从生活中选取素材
摘要 现代教育技术的发展为音乐教学提供了广阔的发展空间,与传统的音乐教学相比,CAI教学有着无可比拟的优势,是现代化音乐教学发展的趋势。尽管CAI教学在其它学科领域已较为普及,但利用CAI进行音乐教学还处于一个学习探索的阶段。结合CAI音乐教学课件制作的实践,通过CAI音乐教学的背景与优势,提出CAI音乐教学课件制作的准备阶段、制作阶段、整合阶段、完善阶段的工作过程及各自所要开展的工作,并且就使用
老师, 我明明听见你说  —— 同学们,这节课我们一起来学习课文  可为什么你总是教,而我们才在学习?  —— 提问的是你,回答的是我  —— 指手畫脚的是你,埋头读书的是我  —— 你说上课就上课,你难道听见了铃声?  —— 你说下课才下课,你难道没听见铃声?  老师, 我明明听见你说  —— 你们喜欢学哪段就学哪段  可为什么我明明只喜欢第一段  你却说第二段也很重要  当学完第二段  你又说