web服务数据库访问中间件的实现

web服务数据库访问中间件的实现

ID:34726944

大小:86.18 KB

页数:7页

时间:2019-03-10

web服务数据库访问中间件的实现_第1页
web服务数据库访问中间件的实现_第2页
web服务数据库访问中间件的实现_第3页
web服务数据库访问中间件的实现_第4页
web服务数据库访问中间件的实现_第5页
资源描述:

《web服务数据库访问中间件的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Web服务数据库访问中间件的实现[日期:2006-05-23]来源: 作者:[字体:大中小]王卫民 郭鸣贺冬春井冈山学院计算机系 摘要:本文分析现有的数据库访问中间件的现状,指出其中存在的问题,得出应用新技术的必要性。开发了一个基于Web服务技术的数据库访问中间件WSDBM,并以一个应用实例验证了该中间件的有效性。关键词:Web服务;数据库访问中间件;.Net 1 引言随着Intranet/Internet网络的迅猛发展,面向网络的分布式数据库成为支持Internet服务的关键,传统的数据库访问技术已渐渐不能满足分布式应用集成的需要【1】。利用新技术,研究和开发新的数据库访问中间

2、件成为数据库研究领域的主要方向之一。Web服务是一种崭新的分布式计算模型,基于一系列开放的技术标准,其松散耦合、语言中立、平台无关性、开放性使得它将成为下一代电子商务的架构,成为下一代的WWW【2】。Microsoft.Net提供了基于“.Net框架”的综合开发平台,它提供了涉及客户端、服务器和服务的单独、统一的编程模型。“.Net框架”和VisualStudio.Net一起,给我们提供了一个完整的应用程序开发平台。本文主要的工作就是在VisualStudio.Net平台上,利用Web服务将现有的数据库访问方式的封装成中间件,使得封装后的中间件可以满足分布式应用的需要。 2 We

3、b服务中间件接口的定义现有通用的数据库访问方式,它的主要操作有:设置数据库连接,打开和关闭数据库,执行查询和执行其他的Sql语句,实现事务管理和缓冲池管理。比较先进的数据库访问方式还支持实时数据库连接。因此,为了实现对传统数据库访问方式的封装,我们首先要定义一个Web服务,这个Web服务至少应该拥有以上所列的Web方法(属性为WebMethod的public函数成员)。这些方法就组成了这个Web服务的接口。.Net下,Web服务的实现都封装在System.Web.Services.WebService这个类中。为了实现对数据库访问方式的Web服务的封装,我们必须定义一个新的类,它

4、继承于WebService或是它的子类。对于相对简单的Web服务,我们直接让这个类继承于WebService。这个生成的类就成了一个具体的Web服务。   .NET中新的关系型数据管理类都是基于类库中System.Data的一系列的名称空间,通常称这些名称空间集合为ADO.NET。System.Data包含用来访问和存储关系型数据的基础对象。VisualStudio.Net直接给我们提供了System.Data.SqlClient和OleDBClient两个命名空间,这两个命名空间分别包含有用来访问SqlServer关系数据库和其他关系数据库所需的基本对象。其中以Transact

5、ion结尾的类提供了事务管理的功能,以Connection结尾的类用于连接具体的数据库。以Command结尾的类定义了对数据库表的操作。 3 Web服务中间件的实现3.1实现框架下面是一个简单的Web服务中间件来实现(采用Microsoft推荐的c#语言来编写)。为了实现中间件的可扩展性,我们决定不在中间件的WebMethod(Web方法)中直接实现对数据库的操作。我们先定义一个虚类DBOperator,在这个虚类中定义了对数据库操作的接口,包括数据库的打开(Open)和关闭(Close),事务的开始(BeginTrans)、事务的递交(CommitTrans)和回滚(Rollb

6、ackTrans),没有返回值的Sql语句的执行(voidExecSql)和返回数据集的Sql语句的执行(DataSetExecSql)。这样,我们的Web服务中间件的每个WebMethod就仅仅是调用了DBOperator对象的相应的成员函数。比如Web服务中间件中的Open方法就是直接调用DBOperator对象的Open方法。3.2具体数据库操作的实现为了具体实现对数据库的操作,我们需要定义DBOperator类的子类,我们以SqlDBOperator为例,显然SqlDBOperator具体实现了对SqlServer数据库的操作。首先定义一个SqlDBOperator类,它

7、继承于DBOperator,并导入名称空间System.Data.SqlClient。usingSystem.Data.SqlClient;classSqlDBOperator:DBOperator其次添加私有的数据成员conn,trans,inTransaction,commprivateSqlConnectionconn;//数据库连接privateSqlTransactiontrans;//事务处理类privateboolinTransaction=false;//指示当前

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。