海洋地质数据访问中间件的设计与实现

时间:2024-03-12 点赞:46321 浏览:91821 作者原创标记本站原创

这是一篇数据库有关学士学位论文范文,与海洋地质数据访问中间件的设计与实现相关毕业论文格式模板。是硕士论文专业与数据库及地质调查及数据方面相关的免费优秀学术论文范文资料,可作为数据库方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参考文献下载。

摘 要 : 海洋地质数据访问中间件是分布式网络环境中,透明访问异构海洋地质数据资源的工具,通过以数据服务方式封装异构数据源,提供了分布式访问的标准接口;同时实现了对象和关系数据库之间的高效映射,使业务逻辑层与数据存储有效分离.文章介绍了海洋地质数据访问中间件的目标功能、框架结构、面向对象的海洋地质调查数据逻辑模型设计和对象访问的接口契约.同时介绍了实现海洋地质数据访问中间件的关键技术,包括基于NHibernate实现对象关系映射、基于WCF实现数据服务的构建和托管以及分布式数据访问等.

Abstract: Marine Geology Data Access Middleware realizes the mapping of physical model and standardized logic model, realizes the object to relational database mapping. It separates the business logic structure and database storage, suits the distribution application, and provides perfect service for upper layer application. This paper mainly introduces the following contents: Demand analysis for Marine Geology Data Access Middleware, from purpose and function; study overall structure of Middleware of Marine Geology Database Access; design of Marine Geology Data logical model, define data contract, develops the Marine Geology Data Access Middleware based on .NET platform, including mapping between object model and relation model based NHibernate; realizes construction and management of WCF service and distributed data access.

关 键 词 : 中间件;对象关系映射;NHibernate;WCF

Key words: middleware;object relational mapping;NHibernate;WCF

中图分类号:TP311 文献标识码:A 文章编号:1006-4311(2013)26-0181-03

1.系统目标与功能

数据访问中间件是为了解决分布式网络环境中,透明访问异构数据资源而开发的软件[1].海洋地质数据访问中间件(marine geology data access middleware,缩写MGDAM)通过以数据服务[2]方式封装异构数据源,提供了分布式数据访问的标准接口,实现了对多种数据源的统一访问;同时针对海洋地质调查数据[3]实现了应用领域中对象实体及属性与关系数据库中的关系表及数据之间的相互映射,从而使该中间件的使用者能够直接面对业务模型,以面向对象的方式进行业务实体的操作.

MGDAM要能满足以下功能需求:①利用合适的分布式数据访问方法和数据提供方式,实现对不同单位海洋地质数据的分布式访问.②为上层业务应用提供统一的业务模型.③解决面向对象的开发和关系数据存储间的不匹配问题,实现对象关系映射(O/R-M)[4].同时,基于合适的对象关系映射工具,能自动生成代码,减少开发工作量.④能快速适应数据源的变化.⑤主要满足用户信息查询的需求,不涉及进行数据的修改.

2.系统设计

2.1 系统架构设计 MGDAM的框架结构如图1所示,MGDAM位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口[5].其中数据层是实际的物理数据存储,主要是各类关系型数据库,包括Oracle、SQL Server、Access,提供关系数据模型,以关系表、字段、记录等方式提供数据.应用层是各种应用程序,包括WEB应用程序、WinForm应用程序等.

MGDAM内部自下而上又可以分为四个逻辑层次:持久化层、业务模型层、数据服务层、服务管理层.

持久化层[6]提供对象关系映射框架,实现对象关系映射机制;由于本项目是基于.进行开发,则采用基于.NET的ORM映射工具NHibernate[7],利用NHibernate自动生成SQL去从数据库存取对象.

业务模型层调用持久层以实现业务对象的持久化,提供映射后的业务对象模型,业务对象模型是统一逻辑模型的子类,符合逻辑模型定义,为数据服务层服务.

数据服务层利用分布式通信编程框架WCF(Windows Communication Foundation)[8]构建数据服务传递数据,将业务对象模型发布为数据服务,对外部系统提供标准的应用程序接口,为下一步工作中构建企业级的面向服务架构提供服务.

服务管理层完成寻找数据源或服务、传输查询请求、返回访问结果的任务.

2.2 统一对象模型设计 海洋地质调查逻辑模型的设计遵循了以下原则:①体现面向对象的技术本质.采用面向对象的建模技术,以客观现实中的实体为依据进行数据组织,描述引用关系、继承、聚集以及多对多关系.②体现科学的数据管理体系.以海洋地质调查对象为数据单元,能根据不同应用的需要重新组织成所需要的数据集.③具有高度的集成性.模型覆盖海洋地质调查所有领域的对象,这些对象不按专业进行分割,而是按客观世界中对象间的联系组织,使各专业的应用软件都可以对该模型进行操作,并且其数据是相互一致的,实现不同应用软件在数据一级上的集成.典型代表如海洋地质取样数据逻辑模型,其UML类图如图2所示,包括样品站位要素类和多个对象类,如取样现场记录、样品入库记录、岩芯描述、岩芯照片、分析测试等. 2.3 基于对象模型的数据契约设计 基于对象模型进行数据契约(Data Contract)[8]设计,主要是对对象模型中的每个对象类,通过DataContract与DataMember属性将其定义为数据契约.MGDAM基于C#语言将类的属性定义为C#的Virtual属性,并通过get和set关键字实现属性的定义.


3.系统实现

3.1 基于NHibernate实现对象关系映射 基于NHibernate实现对象关系映射,需要在建立持久化类基础上,创建NHibernate表映射和数据库连接.其实现的关键是创建NHibernate表映射,即建立映射文件,每个数据库表对应一个映射文件,用于生成数据模型.在映射文件中定义了数据存储到哪个数据库表,哪个属性映射到哪个字段,不同的对象如何相互关联.在运行过程中,NHibernate根据映射文件生成SQL语句[9].如钻孔信息(BoreholeInfo)的映射文件定义如下:

table等于"Borehole">

unsed-value等于"0">

Z

<!--一对多关系:BoreholeInfo有一个或多个DrillingRecords -->

3.2 基于WCF实现数据服务 基于WCF实现数据服务的构建和托管,包括了以下过程:①创建WCF Service Library工程.②定义数据契约.③定义服务契约,通过ServiceContract与OperationContract属性将接口定义为服务契约.④实现服务契约,定义一个服务实现类,实现服务契约接口.⑤绑定数据服务.⑥数据服务的托管.为了方便数据服务部署,MGDAM采用了基于控制台应用程序实现数据服务自托管,其关键代码如下:

namespace HOST

{ class Program

{ static void Main(string[] args)

{ Type serviceType等于typeof(DataProviderService);

using (ServiceHost host 等于 new ServiceHost(serviceType))

{ Console.WriteLine("Data Services Starting....\r\n");

host.Open();

Console.WriteLine("Data Services Available!\r\n");

Console.ReadKey(true);

Console.WriteLine("Data Services Stoped!\r\n");

host.Close();

}

}

}

}

3.3 分布式数据服务的访问 MGDAM的数据服务管理层负责对分布式数据服务进行注册、管理和访问,其关键技术为数据服务的动态调用,关键代码如下: IList dataProvider 等于ConfigurationManager.Get("dataProvider.config");

foreach (string strRemoteAddress in dataProvider)

{DataProviderClient client 等于 new DataProviderClient("WSHttpBinding_IDataProvider", strRemoteAddress);

//根据已注册的数据服务动态调用

//使用 "client" 变量在服务上调用操作.

等.

client.Close();

}

if (docRst !等于 null)

return (XmlDocumentToString(docRst));

else

return "NULL RESULT";

4.结论

海洋地质数据访问中间件,利用NHibernate将数据从关系数据库中的表形式转化为对象,使得数据层和业务层分离,提高了系统的扩展性,同时提高了开发效率和质量;MGDAM基于WCF构建数据服务,为分布式海洋地质数据的访问提供了标准接口,使得已有信息系统和数据源能够在保持自治的基础上被充分利用起来,这样不仅节省了资源,而且也为信息化的不断发展提供了空间.

相关论文

基于JMX的RFID中间件设计

为您写数据库毕业论文和职称论文提供数据库方面专科毕业论文范文,与基于JMX的RFID中间件设计相关论文例文,包括关于数据库及阅读器及中间件。

基于SOA的机场中间件平台架构设计

本论文为信息系统方面研究生论文格式,关于基于SOA的机场中间件平台架构设计相关毕业论文范文,可用于信息系统论文写作研究的大学硕士与本科。

企业数据统计报表系统的设计

本论文是一篇报表方面有关毕业论文初稿模板,关于企业数据统计报表系统的设计相关电大毕业论文范文。免费优秀的关于报表及数据及格式方面论。

中间件构架在电子商务中的作用

本文是一篇电子商务论文范文,关于电子商务方面学年毕业论文,关于中间件构架在电子商务中的作用相关专科毕业论文范文。适合电子商务及数据库。

网络教学课件特点设计

本文是一篇多媒体论文范文,多媒体类在职研究生毕业论文,关于网络教学课件特点设计相关学士学位论文范文。适合多媒体及系统结构及课件方面的。

通用数据处理平台的与设计

这是一篇数据库有关本科毕业论文范文,与通用数据处理平台的与设计相关毕业论文开题报告范文。是论文格式专业与数据库及报表及数据方面相关。

超市数据仓库雪花模型的设计与应用

本文是一篇连锁超市论文范文,关于连锁超市方面毕业论文开题报告,关于超市数据仓库雪花模型的设计与应用相关电大毕业论文范文。适合连锁超市。