- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Web服务数据库访问中间件的实现.doc
Web服务数据库访问中间件的实现
[日期:2006-05-23] 来源:? 作者: [字体:大 中 小] 王卫民? 郭鸣 贺冬春
井冈山学院 计算机系
?
摘要:本文分析现有的数据库访问中间件的现状,指出其中存在的问题,得出应用新技术的必要性。开发了一个基于Web服务技术的数据库访问中间件WSDBM,并以一个应用实例验证了该中间件的有效性。
关键词:Web服务;数据库访问中间件;.Net
?
1? 引言
随着Intranet/Internet网络的迅猛发展,面向网络的分布式数据库成为支持Internet服务的关键,传统的数据库访问技术已渐渐不能满足分布式应用集成的需要【1】。利用新技术,研究和开发新的数据库访问中间件成为数据库研究领域的主要方向之一。
Web服务是一种崭新的分布式计算模型,基于一系列开放的技术标准,其松散耦合、语言中立、平台无关性、开放性使得它将成为下一代电子商务的架构,成为下一代的WWW【2】。
Microsoft.Net提供了基于“.Net框架”的综合开发平台,它提供了涉及客户端、服务器和服务的单独、统一的编程模型。“.Net框架”和Visual Studio.Net一起,给我们提供了一个完整的应用程序开发平台。
本文主要的工作就是在Visual Studio.Net平台上,利用Web服务将现有的数据库访问方式的封装成中间件,使得封装后的中间件可以满足分布式应用的需要。
?
2 ?Web服务中间件接口的定义
现有通用的数据库访问方式,它的主要操作有:设置数据库连接,打开和关闭数据库, 执行查询和执行其他的Sql语句,实现事务管理和缓冲池管理。比较先进的数据库访问方式还支持实时数据库连接。因此,为了实现对传统数据库访问方式的封装,我们首先要定义一个Web服务,这个Web服务至少应该拥有以上所列的Web方法(属性为WebMethod的public函数成员)。这些方法就组成了这个Web服务的接口。
.Net下,Web服务的实现都封装在System.Web.Services.WebService这个类中。为了实现对数据库访问方式的Web服务的封装,我们必须定义一个新的类,它继承于WebService或是它的子类。对于相对简单的Web服务,我们直接让这个类继承于WebService。这个生成的类就成了一个具体的Web服务。
??? .NET中新的关系型数据管理类都是基于类库中System.Data的一系列的名称空间,通常称这些名称空间集合为ADO.NET。System . Data包含用来访问和存储关系型数据的基础对象。Visual Studio.Net直接给我们提供了System.Data.SqlClient和OleDBClient两个命名空间,这两个命名空间分别包含有用来访问Sql Server关系数据库和其他关系数据库所需的基本对象。其中以Transaction结尾的类提供了事务管理的功能,以Connection结尾的类用于连接具体的数据库。以Command结尾的类定义了对数据库表的操作。
?
3 ?Web服务中间件的实现
3.1实现框架
下面是一个简单的Web服务中间件来实现(采用Microsoft推荐的c #语言来编写)。为了实现中间件的可扩展性,我们决定不在中间件的WebMethod(Web方法)中直接实现对数据库的操作。我们先定义一个虚类DBOperator,在这个虚类中定义了对数据库操作的接口,包括数据库的打开(Open)和关闭(Close),事务的开始(BeginTrans)、事务的递交(CommitTrans)和回滚(RollbackTrans),没有返回值的Sql语句的执行(void ExecSql)和返回数据集的Sql语句的执行(DataSet ExecSql)。这样,我们的Web服务中间件的每个WebMethod就仅仅是调用了DBOperator对象的相应的成员函数。比如Web服务中间件中的Open方法就是直接调用DBOperator对象的Open方法。
3 .2具体数据库操作的实现
为了具体实现对数据库的操作,我们需要定义DBOperator类的子类,我们以SqlDBOperator为例,显然SqlDBOperator具体实现了对Sql Server数据库的操作。
首先定义一个SqlDBOperator类,它继承于DBOperator,并导入名称空间System . Data . SqlClient。
using System.Data.SqlClient;
class SqlDBOperator:DBOperator
其次添加私有的数据成员conn,trans,inTransaction,comm
private SqlConnection conn; //数据库连接
priva
您可能关注的文档
- (周毓清巴陵)现阶段开展风险导向审计的难点.doc
- (存档不建档)动物航天的意义.doc
- (打印)化学反应进行的方向.doc
- (春剑军)浅谈实验教学如何实现“有效”过度.doc
- (第一轮B卷)抗菌药物临床应用知识和.doc
- (简体)基于股权结构分析的融资结构研究.doc
- (简体)民间投资的制度经济学分析.doc
- (简体)股指期货交易实例分析.doc
- ,心脏术后ICU综合征的相关危险因素及护理对策.doc
- -课程与教学_一种重要的学校文化软实力.doc
- 【第一上海证券-2025研报】腾讯控股(00700):AI重构生态护城河,平台式能力逐步落地.pdf
- 三支一扶模考模拟试题【轻巧夺冠】附答案详解.docx
- 【东方证券-2025研报】25Q2银行板块持仓数据点评:资金增配银行股,主动型基金青睐低估值股份行和高成长性城商行.pdf
- 【华安证券-2025研报】合成生物学周报:海南出台推动生物制造产业高质量发展行动方案,大连港完成首单国生产物质甲醇加注.pdf
- 【东吴证券-2025研报】北交所定期报告:海南封关进一步扩大开放,北证指数有所回调.pdf
- 【华创证券-2025研报】德州仪器(TXN):FY2025Q2 业绩点评及业绩说明会纪要:工业市场强势回暖,三季度指引或受关税问题影响.pdf
- 【东方证券-2025研报】债务周期视角下,目前银行资产质量处于什么阶段?.pdf
- 【华创证券-2025研报】恩智浦(NXPI):FY2025Q2 业绩说明会纪要:各终端趋势好于预期,复合增速及长期毛利率指引乐观.pdf
- 会计人员再教育培训课件-外币折算.pptx
- 函数的单调性(二).pptx
文档评论(0)