日期:2014-05-16  浏览次数:20488 次

SOAP在远程数据库访问中的应用

SOAP在远程数据库访问中的应用
Access Remote Database Based On SOAP


一、现有数据库访问技术
?? 当前流行的几种数据库访问技术:ODBC,DAO,OLE DB,ADO,ADO.NET,RDO
DAO(Data Access Objects)数据访问对象是第一个面向对象的接口,它显露了Microsoft Jet数据库引擎(最早是给Microsoft Access所使用,现在已经支持其它数据库),并允许开发者通过ODBC象直接连接到其他数据库一样,直接连接到Access表。DAO最适用于单系统应用程序或小范围本地分布使用。

  RDO(Remote Data Objects)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。

  ADO(ActiveX Data Object)是DAO/RDO的后继产物。ADO 2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。例如,ADO没有与rdoEngine和rdoEnvironment对象相等同的对象,可以显露 ODBC驱动程序管理器和hEnv接口。尽管事实上您的接口可能是通过ODBC OLE DB服务提供程序实现的,但您当前也不能从ADO中创建ODBC数据源。

二、用SOAP访问的优势
?? 互联网的发展使得Web数据库成为数据库应用的主流.然而,传统分布式计算模式与数据库在设计结构和操作平台上的差异给Web数据库应用带来了困难.文中采用SOAP协议解决传统分布式计算模式在Web应用上的不足,利用XML技术解决异构数据库数据交换的问题,并在这个基础上提出了基于SOAP协议的 Web异构数据库操作模型,完成异构数据库在Web上的数据交换和数据共享的工作流程.
?? SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起


三、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结尾的类定义了对数据库表的操作。?