2007年第2期 福建 电脑 141 基于Web服务的数据库查询 刘 兵 (武汉工业学院计算机与信息工程系湖北武汉430023) 【摘 要】:文中先对面向服务的Web Services体系结构、关键技术及其特点进行论述;然后说明使用Visual C#.Net定 义和调用Web服务进行数据库查询 【关键词】:WEB服务;ADO.NET;体系结构;XML 1.引言 随着Intemet应用的不断拓展.各种程序的开发已经不在局 限于局域网.Web应用程序开发的重要性也突显出来。以前Web 应用程序普遍采用的三层结构是客户浏览器、Web服务器、数据 库。也就是Web数据库采用的是一种B/S结构。客户端浏览器 通过Web服务器间接于数据库服务器进行数据的访问和查询. Web服务方法.其代码如下: [WebMethod】 这种方式主要的问题在于数据库是被设置于一个机器上 public DataSct GetData(string databaseName,string tableName,string idNumber) 但是,随着Intemet中Web应用的复杂度不断提高,电子商务的 I 高速发展.人们希望在更大规模上的数据整合.这样就需要一种 string strConneetion=”tfif'wet=localhost;uid=sa;pwd=”+ ;datalm. ̄=”+ 分布式结构的数据库。即本文所要讨论的Web服务数据库.这 databa. ̄Name;. 种数据库是客户端(WindOW应用程序、浏览器或其它Web服务 SqlConnecfion mySqlCormeetion new string strSQL=” ̄lect’from email where id=”+idNumber: 程序)通过Web服务器基于Web服务的方法间接于数据库服务 SqlDataAdapter mySqlDataAdapter=new sqIDataAdapter(strSQL,mySqlCon— 器交互。下面先来说明Web服务技术(Web Services Technolo— neetion】: gY),再来说明使用C#来定义和调用Web服务的方法。 DataSct myDataSet=flew DataSetO; 2.Web服务的体系结构 mySqlDataAdapter.FiU(myDamSct,tableName); return myDataSet; Web服务是一个软件接口.它描述了一组可以在网络上通 J 过标准化的XML(eXtensible Markup Language.可扩展标记语 在这个例子里,后台数据库使用的是SQL Server 2000.该 言)消息传递访问的操作。它使用基于XML语言的协议来描述 Data返回一个DataSet对象.该DataSet对 要执行的操作或者要与另一个Web服务交换的数据 一组以这 Web服务的方法Get种方式交互的Web服务在面向服务的体系结构(Service-Ori. 象的内容是调用方指定的数据信息.调用该方法需要提供方便 6个参数,分别是:远程数据库服务器名。访问远程数据服务器 ented Architecture。SOA)中定义了特殊的Web服务应用程序。 数据表名称以及邮件id号。 Web服务(Web Service)是松散耦合的、可复用的软件模块 的用户名和密码。数据库名称,它由Ariba.IBM和Microsoft提出.其目的是为在Internet上不同 4.Web服务的调用 通过客户端浏览器调用Web服务的方法有两种:一种是直 操作系统、硬件平台和编程语言间集成应用软件提供支持,方便 接通过浏览器来访问Web服务的地址.在该Web服务打开的 应用的实现和发布 Microsoft Visual Studio.NET是由Micmsoft开发的一种快速 页面上输入所需要填写的6个参数.就可显示出相应所要查询 创建和集成XML Web服务和应用程序的综合工具..NET解决 的数据库结果:另一种方法是在其它的Wlmdows或者Web应用程序中调 方案通过三个组件:.NET框架、Web服务、.NET企业服务器可 用该Web服务 Web服务实际上是由一系列供调用接口和一个 实现将函数发布到网上.使用户像浏览页面一样轻松调用 在.NET框架中提供了一个工具一wsd1 .Web服务体系结构的优点就是允许在不同平台上使用不同编程 WSDL描述文档所组成.e.这个工具可以帮助生成Web服务的一个代理类,将Web服 语言以一种基于标准的技术开发程序,来与其它应用程序通讯 exd1.exe生成一个Web服务代 有两种使用Web服务的方法,允许访问内部系统功能.把它们 务的远程对象本地化.通过工具ws向外部展示并且作为一个外部Web服务的客户端或者使用者 理类之后.在使用这个代理类时,就可以像对待本地的普通类一 .NET框架在后台使用了HrrP协议来 在这个模型中.Web服务可用来访问一个应用程序中任一层的 样去调用,使用类的方法,使用了SOAP协议来打包数据。下面说明在.NET框架中 应用功能。这样.因特网上的任何分布式系统就有可能被整合到 通信.调用前面定义的Web服务。 个用户定制的应用程序中。系统的体系结构如下: 新建或者打开一个工程,添加Web引用之后.即可在应用 程序中使用.NET框架生成的代理类。在工程中添加调用Web服 务的代码如下: 一组使企业能将自身提供的Web服务注册以使得别的企业能 够发现的访问协议的实现标准。『l 13.Web服务的定义 首先在Visual Studio.Net中新建一个基于C#语言的Web 服务工程.并命名为DataService。在其中定义用以查询数据库的 一圆 AqD==O-:1W >IET FS=Q=L= s==e二r=v=:er1l —、—’_-__ __..._—._— -。__・一 private void buttonl_Click(object sender,Sys ̄m.EventArgs e】 I 图I基于Web服务的B/S三层模型 Web服务标准是由XML、SOAP、WSDL和UDDI等若干相 DataSct ds=myService.GetData txtdatabaseName.Text.ToStrin¥0, 互关联的开放协议组成。XML把数据编码为文本文件形式.其 txttableName.Text.ToString0。txtemail—id.Text.ToStrin¥0); dataGrid1.DataSource=ds.Tablea[txttableName.Text.ToString0]; 灵活性可用于所有的Web服务通信: 】 SOAP是若干用XML描述的消息,消息中包含标头、消息 5.结束语 体等内容。在客户端和Web服务器之间正是通过SOAP消息来 综上所述基于.NET架构的Web服务数据库查询从定义到 表示调用请求和回应的;WSDL协议(Web服务描述语言)说明 调用都是非常方便的.并且所开发的应用程序将是将是统一的、 如何与一个Web服务通讯。它描述了Web服务可以执行的操作 可互操作和兼容的.且所有应用都可通过Interact使用。 以及Web服务可以发送或接收的消息格式;UDDI(统一描述、发 现和整合)建立了一个平台独立、开放的框架,提供了~个Web 服务索引和检索引擎。即UDDI是一套基于Web的、分布式的、 为Web服务提供的信息注册中心的实现标准规范.同时也包含 参考文献: 1.胡玲等,基于Web服务的教据库应用o】。重庆三峡学院学报,2005。3 (21):22—24 localho ̄.Servicel myServiee=new C.etDataWSJocalhost.ServiceIO;
因篇幅问题不能全部显示,请点此查看更多更全内容