电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

数据访问中间件

来源:漫步者作者:开心麻花2025-09-191

数据访问中间件(精选3篇)

数据访问中间件 第1篇

1 Web服务数据库访问中间件技术

1.1 中间件技术

中间件是基于分布式的软件,其目标是能够解决网络分布式环境中多种异构问题,实现跨平台应用软件间的协同工作,它是处于操作系统,数据库和网络之上,应用软件之下的一个软件服务层,它能够屏蔽异构环境,通过提供标准的接口和协议呈现给用户。通过中间件来实现数据处理的流程是:应用程序通过中间件所提供的接口请求中间件,中间件对请求作出响应,然后将请求交给后台服务器,并负责将服务器的处理结果返回给应用程序。目前,中间件成为越来越多企业标准化工作的一个重要组成部分,在应用程序软件开发过程中,中间件所提供的接口定义了一个相对稳定的应用环境,其底层的硬件和软件系统具体的更新和换代都进行屏蔽,只要保持中间件对外的接口定义不变,应用程序就不要做什么修改,从而保护了企业的重大利益。

1.2 Web服务

Web服务是基于一套开放的网络标准,为了满足业务上日益复杂的应用需求,Web服务有效的将现存的Web数据集成,数据过滤,服务组合等技术,进行Web服务上的分散资源集成,并在其中实施访问控制,事物机制保证服务响应的可靠性及服务组件的协同工作.它通过用WSDL来描述服务,使用UDDI来发布、查找服务,SOAP被用来执行服务调用。在Web服务架构的各个组成模块之间,模块内部,数据以xml格式的形式进行传递,其特点是xml格式描述的数据易于理解和阅读,并且具有跨平台和松散耦合。

1.3 ADO.NET数据库访问技术

微软.NET平台所提供的ADO.NET组将是对ADO的一个跨越式的改进,对数据库的访问具有跨平台性和可伸缩性。与之交互的数据格式也是基于XML格式的,因此任何能够处理XML格式的应用程序都可以进行数据的处理。

ADO.NET由.NET数据提供程序(Data Provider)和数据集(DataSet)两个核心组件组成,前者通关过Connection、Command、DataReader以及DataAdapter四个对象来具体实现的;后者使用一个类似于消息的机制,采用不使用连接的方式进行数据处理的方式。DataSet也提供了对XML格式的数据的支持,说明他可以以HTTP协议来穿越防火墙,还可以被集成到Web服务中,因此此组件适合于处于不同平台间的数据传输。

2 设计

本文在.NET平台上,利用面向对象的设计思想,对ADO.NET数据访问对象相关的数据访问方式进行了封装,设计了基于Web服务的数据库访问的一个中间间,从而使得应用程序更加灵活和方便的访问数据库。

2.1 Web服务中间件总体设计

基于Web服务的数据库访问中间件的总体架构如图1所示:无论是基于B/S结构的应用程序还是基于C/S结构的应用程序通过SOAP协议可以访问Web服务数据库访问中间,然后与后端的各个类型的数据库交互数据。

为了实现数据库访问中间件尽可能的灵活性和通用性,本文把此中间件划分了数据访问控制接口层,数据访问层,每个层次解决相应的问题。数据库访问控制层为客户端访问提供一个接口,用户按照所定义的接口进行调用,其具体实现是由下一层数据访问层提供;数据访问层是实施对具体数据库的访问实现,在设计中,把对数据库的访问集中起来,达到良好的封装性和可维护性;在数据访问层同时也封装了ADO.NET组件,在设计采用ADO.NET对数据库的访问时,由于所采用的数据库不同,采用的访问方式也有些区别,如访问SqlServer采用的是System.Data.SqlClient命名空间中的类,而Access数据库采用的是System.Data.OleDb命名空间中的类,因此用户在使用不同的数据库时要进行相关的配置。本文将数据库访问中间件按层次划分目的就是为了使系统的结构更加清晰,在编写程序的时候不受不同数据库的影响,做到与数据库无关。

2.2 接口的设计

为了实现此中间件对种数据库的访问与操作,本文在.NETp平台上首先定义了一个DBAccessInterface基类,内部成员为一些对各种数据库访问的虚函数,主要包括打开数据库操作,执行sql语句的操作,事物的操作等;然后将具体的实现交给其子类,避免了随着访问具体数据库的变化,接口也跟着变化的弊端。这样保证了用户访问数据库和存取数据的时候的接口一致性,开发者在开发应用程序时不需要了解ADO.NET访问数据库的过多的细节。

在派生类中,本文作了对Access数据库和sql server的具体实现,主要包括访问数据库的基本操作,如执行没有返回值的sql语句,执行有返回值的sql语句。其具体的类图关系如图2所示。

3 结论

信息系统在各个领域中的应用非常的广泛,数据库技术也渐渐成熟,信息系统也就离不开对各种数据库的访问;然而由于数据库种类的繁多,应用程序对各种不同的数据库访问都要重新编写对应的数据库访问代码,这样对数据库访问程序的复用性和通用性带来了困难。本文从实际出发,结合了目前比较流行的为Web服务技术和ADO.NET数据访问组件,给出了一种数据库访问中间件的解决方案。从而使得这个中间件在数据库访问方面做到了与具体数据库无关性,通用性,松散耦合性以及高度的继承性。

参考文献

[1]Martinez M.R.,Roussopoulos N.MOCHA:A self-extensible database middleware system for distributed data sources.In:Proceedings of the ACM SIGMOD International Conference on Management of Data.Dallas,TX,USA.2000,213-214.

[2]Hoschek W,Mcance G.Grid Enabled Relational Database Middleware.In:Global Grid Forum3,Frascati,Italy:IEEE Press,2001,65-71.

基于本体的通用数据访问方法 第2篇

基于本体的通用数据访问系统的核心在于构建出合适的统一数据描述模型,以此模型为基础,构建数据访问引擎,并通过抽取配置工具建立了数据描述模型与数据实体之间的映射关系,最终通过通用数据访问软件实现异构数据的统一访问和展现。

【关键词】异构数据 本体 描述模型 映射 通用访问

1 引言

随着近年来网络技术的快速发展,各领域之间数据共享的需求日益增强,在网络基础设施日益完善的前提下,如何对不同行业和格式的数据资源进行统一访问和集成使用就成为了关键的问题。

国内外对于异构数据库数据的集成近期提出了ETL(数据抽取、传输、加载)机制,在实现中采用XML(可扩展标记语言)实现通用的数据交换,利用全局逻辑视图或者集成的综合数据库的方式实现对各类异构数据资源的集成。

本文通过定义数据本体,设计了一种通用的数据访问方法,建立不同的数据资源与本体之间的映射,使得综合系统直接访问各个异构业务数据库,从而提高数据的使用效率,降低数据冗余。

通用数据访问面向的异构数据具有海量、多元、复杂、动态、移动、实时等特征,为了更好的解决异构数据资源的访问、集成和展现,在设计与实现通用数据访问系统时,必须提供用户对异构数据源透明、一致和实时的访问能力:

(1)透明性,是指屏蔽底层数据源的差异,从用户的角度看来,得到的数据不是来自于若干个数据源,而是一个数据源;(2)一致性,是指消除数据源之间的存在的结构异构和语义异构;(3)实时性,是指访问到的数据是最新的数据,并且对数据库中实时变化的信息能够及时地捕获与展现。

2 总体思路及架构

基于本体的通用数据访问方法面向图形化的数据展现,快速的从异构数据资源中抽取出适用的对象,对其进行统一管理,并借助地理信息系统或表单显示工具向用户提供清晰直观的数据展现。

其主要解决异构数据的统一使用问题,在避免数据格式转换带来大量工作的前提下,实现数据的动态加载,保证应用系统与底层数据资源的分离,同时具有良好的扩展性,在数据种类发生变化时,只需要通过工具界面配置,就能够快速加载新增的数据资源。

基于本体的通用数据访问方法采用分层的体系结构,下层软件给上层软件提供运行支撑或输入,共分为四层,从底到顶分别是:本体定义及管理层、元数据映射层、数据访问层和数据展现层。

2.1 本体定义及管理层

本体定义及管理层主要负责建立基于本体的统一数据描述模型,并制订出一套对该数据描述模型的访问接口规范,是整个方法实现的核心和基础。

2.2 元数据映射层

元数据映射层主要实现数据的灵活配置,通过人工界面配置的手段在数据库元数据与统一数据描述模型之间建立对应关系,并把映射关系保存为XML文件,供通用数据访问软件读取。

2.3 数据访问层

数据访问层主要完成对数据库中实际数据的读取和输出。

通用数据访问软件在实现时遵循本体定义及描述层制订的规范,内部的数据组织关系来自于元数据库映射层生成的映射关系XML文件。

2.4 数据展现层

数据展现层主要包括两种展现手段:基于地理信息的图形化显示工具和表格形式的表单显示工具。

数据展现层属于业务应用范畴,主要需要考虑的是基于地理信息系统(GIS)的数据表现以及海量数据高性能显示的问题,与通用数据访问的实现没有直接关系,因此在本文中不对这部分的实现进行讨论。

3 关键技术及实现

3.1 统一数据描述模型

统一数据描述模型的内容包括图层公共信息(本体)和特征属性族,各类异构的数据在按照统一数据描述模型表述为本体和特征属性族的过程中,消除其原有的异构性,形成统一的数据表述。

统一数据描述模型主要由图层公共信息和一组特征属性族组成。

统一数据描述模型确定种类繁多的数据信息之间存在的内在共同点,建立图层公共信息的统一描述。

图层公共信息:

其中标识属性、空间位置属性、时间属性以及符号属性,这几个属性的组合体现了数据对象在全维图形上的基本价值。

在统一数据描述模型中除了建立统一的图层公共信息描述以外,还借鉴可扩展标记语言的思想,建立了一个对象特征属性族描述方法,用来存放每类数据对象的具体属性项。

该属性族由数据对象的类型确定,其可扩展的`特性保证了每一类数据对象信息项的完整,同一类对象属性族项的数量和构成保持一致。

特征属性族定义:

3.2 数据图层映射转换

采用根据数据库中字段的取值确定图层对象的动态映射机制,并提供多种方法来规范映射,提供了语义映射机制,通过将数据库字段与统一数据描述模型中的属性建立字段映射机制;采用数据库数据到图层对象的语义映射,提供量纲映射机制,通过规范数据库中数据到图层对象的取值处理标准,提供多种量纲转换机制,如经纬度的转换机制和时间格式转换机制等等;采用字段映射机制或条件映射机制来处理图层显示属性。

如果显示属性采用字段映射机制进行配置处理,那么将使用配置字段的取值进行显示处理;如果显示属性采用条件映射机制进行配置,那么在进行显示处理时,将对这组字段的取值进行判断,符合某组合的取值,则用该组合的设置值进行显示,没有符合的条件组合就是用默认值进行显示。

4 结束语

本文的研究对象主要是针对数据库形态的数据资源,而文中提出的方法对其他形态的数据资源也同样适用,因此,后续的工作将以建立各种形态数据资源统一访问的软件系统为目标。

参考文献

[1]缪嘉嘉,邓苏,刘青宝.E T L综述计算机工程,2004(2).

[2]沈镭.基于XML的异质多数据库集成系统的设计与实现[J].河南大学学报(自然科学版),2007(9):530-532.

数据访问中间件 第3篇

目前的应用系统多数属于管理信息系统 (MIS, Management Information System) , 独立于软件的数据存储是软件不可分割的一部分, 数据存储对访问效率的影响在很大程度上决定类软件的效率。而目前的数据存储基本都采用关系数据库实现, 或者和关系数据库有相同的结构, 可以统一称之为关系数据集合。在实现环境中, 都提供了对关系数据集合的支持。比较有代表性的是Visual Studio。

Visual Studio中对数据集合访问由.NET架构实现, 它提供了数据访问的一组中间件。从支持不同的应用出发, .NET设计了很多数据访问支持类。但是, 就具体的某种应用而言, 使用这些类实现数据访问的过程在很大程度上又是一致的。从简化设计和提高重用的目标出发, 可以考虑把这个过程作为一个整体封装起来, 为应用提供统一的接口。

作为软件工程对基础理论和工具、方法的研究, 软件设计模式把面向对象的设计经验记录下来, 为解决典型的问题提供类复用的可能。

本文讨论在.NET架构下, 采用软件设计模式 (Software Design Patterns) 思想实现对数据集合访问的中间件的结构和实现。为了便于理解, 此中间件只实现数据查询功能。

1 基本概念

1.1. NET

.NET Framework是一组专门用来存取数据的类, 配合SQL语法对数据库进行存取操作, 构成了数据访问的一级中间件, 它对数据的访问分为联机和脱机两种方式。以下讨论的过程属于脱机过程。它对数据库的脱机访问主要采用了Connection、Command、DataAdapter、DataSet、DataTable对象类实现。其过程大致可以分为5步: (1) 创建连接对象 (Connection Object) , 并打开指定数据文件; (2) 通过连接对象创建Command对象搜索数据; (3) 创建DataAdapter对象返回数据; (4) 通过DataAdapter填充数据到DataSet; (5) DataTable从DataSet获取记录集合数据。最终返回关系数据集合。

1.2 软件设计模式

软件设计模式 (Software design patterns作为软件重用的有效手段, 广泛应用于面向对象的软件开发。下面的中间件将会用到外观模式、单实例模式、工厂模式和适配器模式。

外观模式 (Facade) 为子系统中的一组接口提供一个一致的界面, 这个接口隐藏了实现的细节, 用户只需要了解接口就可以使用子系统的全部功能, 减少了客户处理的对象的数目。此模式实现了子系统与客户之间的松耦合关系。

单实例模式 (Singeton) 保证一个类只有一个实例, 并提供一个访问它的全局点。对记录集中记录 (行) 的访问是一种典型的单实例模式, 每次只能读取一条记录, 并且记录只能由记录集生成。

工厂模式 (Factory) 也称为简单工厂模式 (Simple Factory) 或者具体工厂模式 (Concrete Factory) 。GOF没有定义此模式, 但是应用也很广泛。当有特殊考虑时, 需要考虑由谁来负责创建对象。这是通常创建一个虚构对象来实现这个创建职责, 就是工厂。通常使用单实例模式来访问工厂模式。

对象适配器模式 (Adapter) 可以为不同接口的类提供一致的接口, 以适应不同应用的需求。

2 中间件架构

根据ADO.NET数据访问中间件提供的对象类, 设计如图1的查询类中间件架构。ReadOnlyDataTable作为外部应用的统一接口, 通过设置DataBaseName和SelectString进行引用, 返回一个数据记录集。

在这个中间件对架构里, ReadOnlyDataTable类是应用程序使用中间件对唯一界面, 客户只需要设置属性并直接调用方法就可以返回一个记录集合, 具体对过程封装在子系统内, 由ReadOnlyDataTable类调用.NET提供对若干类实现数据访问, 这里采用类外观模式。在本质上, ReadOnlyDataTable类继承自DataTable对象类, 拥有DataTable类的属性和方法。

在子系统内, ReadOnlyDataTable类实例由DataSet类唯一的创建, 通过DataSet类的tables (index) 构造生成, DataSet类是工厂, ReadOnlyDataTable类实例是产品, 使用工厂模式和单实例模式构建。

SQLConnection类和OleDBConnection类分别用于连接SQL数据库和其它类型数据库, 由Connection根据ReadOnlyDataTable类的DataBaseName属性自动确定数据源类型并进行连接, 使用对象适配器模式构建。

具体的关系如图1所示:

3 实现与分析

此中间件通过建立DLL库实现。有以下优点: (1) 易用性。它为复杂的子系统提供了一个简单对接口, 只需要设置控件的属性即可以返回记录集合, 减少类设计的对复杂过程, 提高了软件设计对效率, 这对于简单对应用已经足够了, 需要更多定制功能的用户可以越过外观层; (2) 可扩展性。中间件是可以补充和完善对, 在不修改原有代码对前提下, 可以为控件添加更丰富对功能; (3) 软件重用。对于一般查询类可以直接以对象形式引用。对于更复杂的查询可以改变局部以适应新的需要。

4 结束语

数据维护、数据查询、数据统计构成了数据操作的主要内容, 本文讨论的数据查询在软件开发中应用极其广泛。因此, 对数据查询中间件的研究对提高软件重用程度和开发效率有非常重要的意义。本文讨论的数据查询中间件把数据集合访问的实际应用与软件设计模式的思想结合起来, 为应用提供了很好的支持, 同时为其它数据访问中间件的设计提供了一个参考模型。

摘要:分析数据集合访问的过程, 针对.NET架构的实际应用, 根据.NET架构提供的类和对象, 提出数据访问中间件的结构。并使用外观模式、工厂模式、单件模式实现此中间件。

关键词:关系数据集合,访问,中间件,设计模式,重用

参考文献

[1]谢树云, 曾晓红.ADO.NET脱机数据存取模式[J].福建电脑, 2009 (4) .

[2]吕文达.精通C#程序设计[M].北京:清华大学出版社, 2007.

[3][美]ERICH GAMMA, RICHARD HELM, RALPH JOHNSON, JOH N VLISSIDES.设计模式—可复用面向对象的基础[M].李英军, 马晓星, 蔡敏, 等译, 北京:机械工业出版社, 2007.

[4][美]CRAIG LARMAN.UML和模式应用[M].李洋, 郑?, 译, 北京:机械工业出版社, 2006.

数据访问中间件

数据访问中间件(精选3篇)数据访问中间件 第1篇1 Web服务数据库访问中间件技术1.1 中间件技术中间件是基于分布式的软件,其目标是能够...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部